Sitecore
Guía de endurecimiento de seguridad de Sitecore #1
En mi publicación anterior, te he guiado a través de los pasos que debes seguir para añadir license.xml en la carpeta Data basándote en las recomendaciones de Sitecore, lo que implica provisioning /Data folder fuera de la carpeta raíz /Website.
Dicho esto, lo que quizá no hayas notado desde mi última publicación, a pesar de que fue un cambio directo para arreglar —digámoslo así— un fallo que no imaginarías al seguir los documentos de Sitecore, es que en realidad estabas endureciendo tu instalación de Sitecore!
“¿Wow! ¿En serio?” Sí, puedes apostar a ello. Así que, si no has tenido la oportunidad de revisar lo que digo ahora mismo, te animaría a leer mi Sitecore installations – tips and tricks #2
Bien, señoras y señores, continuemos… Como probablemente ya saben, endurecer reduce la superficie de ataque desactivando la funcionalidad que no es necesaria, mientras se mantiene la funcionalidad mínima que se requiere.
“¡Espera un momento! ¿Estás diciendo que mi Sitecore funcionará a su capacidad mínima?” No, para nada.
Supongamos que tienes una puerta en tu casa, ¿la dejarías abierta todo el día? ¿Quién podría entrar? Así, la idea detrás de la definición de endurecimiento funciona de la misma manera: si das acceso remoto para abrir la puerta solo a las personas permitidas y la mantienes cerrada, ¿la puerta funcionará a su capacidad mínima? No, para nada. Al dar un control remoto a personas estrictamente autorizadas, has creado un “Control de Autorización de Acceso”; en otras palabras, ¡has endurecido tu puerta! (¡yay!)
Ahora, volvamos al negocio 🙂
“Sitecore recomienda que sigas todas las instrucciones de endurecimiento de seguridad descritas en su documentación”
En la publicación de hoy, te explicaré cómo denegar el acceso anónimo a las carpetas clave de Sitecore, que son:
- /App_Config
- /sitecore/admin
- /sitecore/debug
- /sitecore/shell/WebService
Así que, abre el Administrador de IIS (Internet Information Services Manager) y navega a Sitios, Instancia de Sitecore (p. ej. MySitecore) y expándela

Ahora, mira y ubica todas las carpetas listadas arriba.

Bien, todo está donde debe estar, ¿no? BIEN, continuemos….
Importante: Recomendaría verificar si tu instancia de Sitecore está en funcionamiento antes de seguir los pasos a continuación
- Regresa al raíz de la Instancia de Sitecore, en mi caso aquí MySitecore, y expándela

Recorre carpeta por carpeta y DENY el acceso anónimo a cada una
Busca App_Config y selecciónala

- Una vez que App_Config está seleccionado, mira a tu derecha y verás un ícono de Autenticación (doble clic)

Importante: Como ves, App_Config Home está resaltada en color verde, lo que indica que los cambios se aplicarán desde este nivel (App_Config) a todos los elementos hijos. En otras palabras, estamos rompiendo la herencia para esta carpeta.
- En la carpeta Authentication, verás todos los métodos de autenticación disponibles en tu Web Server

- Busca Anonymous Authentication, haz clic en él y en el panel Acciones a tu derecha haz clic en Disable

- Una vez que deshabilites Anonymous Authentication para App_Config, haz clic a la izquierda en Your-Server-Name, en mi caso IIS-Sitecore, en el panel de Inicio de Conexiones

- Ahora, con IIS-Sitecore seleccionado, en el panel de Acciones a tu derecha haz clic en Restart

“¿Eso es todo? ¿Funciona?” Tu decisión, vamos a probar….

“¡YAY! ¡FUNCIONA!” Bueno, no tan rápido, amigo — ¡LO SIENTO! Como puedes ver, es una página de error 404 personalizada de Sitecore. Diría, razonable, porque no tenemos ningún archivo ASPX dentro y aunque hayas probado antes, todo el proceso, ¡verás que esta página aún aparece!
“¿QUÉ?!?! Por qué volver a negar el acceso anónimo si Sitecore ya lanza una página 404 que me protege?”
La carpeta App_Config contiene muchos archivos de configuración muy importantes de tu instancia de Sitecore que podrían tener preocupaciones de privacidad. Además, imaginemos que tienes un archivo legible, como un TXT, dentro de App_Config llamado ConnectionStrings.config.backup.TXT y llames la ruta completa de Sitecore en el navegador.

¡WOW! ¿Te alegra haber seguido las recomendaciones de Sitecore, verdad? ¿Puedes imaginar que tu archivo de respaldo de ConnectionStrings quede expuesto?
A pesar de que Sitecore, en su instalación por defecto, evita el acceso anónimo a las instalaciones de las carpetas al mostrar el error “The requested document was not found”, esto no garantiza que tu contenido privado tenga una capa extra de seguridad.
Ahora que has completado, probado y obtenido el resultado de tu modificación para /App_Config, tendrás que repetir los pasos 1-8 para las demás carpetas clave: /sitecore/admin, /sitecore/debug y /sitecore/shell/WebService
¿Sigues conmigo? ¡Genial! Ten en cuenta que los pasos listados en este post se recomiendan para todas las instancias de Sitecore, sin importar qué rol vayan a desempeñar.
¡Eso es todo! Gracias por leer y nos vemos en mi próxima publicación.