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

Sitecore Instance Internet Information Services Blog Vinicius Deschamps

Ahora, mira y ubica todas las carpetas listadas arriba.

Sitecore folders for security Blog Vinicius Deschamps

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

  1. Regresa al raíz de la Instancia de Sitecore, en mi caso aquí MySitecore, y expándela
Sitecore Root IIS Blog Vinicius Deschamps
  1. Recorre carpeta por carpeta y DENY el acceso anónimo a cada una

  2. Busca App_Config y selecciónala

Sitecore App Config Blog Vinicius Deschamps
  1. Una vez que App_Config está seleccionado, mira a tu derecha y verás un ícono de Autenticación (doble clic)
Iis Authentication App Config Blog Vinicius Deschamps

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.

  1. En la carpeta Authentication, verás todos los métodos de autenticación disponibles en tu Web Server
Iis Authentication Options Blog Vinicius Deschamps
  1. Busca Anonymous Authentication, haz clic en él y en el panel Acciones a tu derecha haz clic en Disable
Authentication Disable Anonymous Authentication Blog Vinicius Deschamps
  1. 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
Internet Information ServicesSelect Server Name Root Blog Vinicius Deschamps
  1. Ahora, con IIS-Sitecore seleccionado, en el panel de Acciones a tu derecha haz clic en Restart
Restart Internet Information Services Blog Vinicius Deschamps

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

Sitecore The requested document was not found Blog Vinicius Deschamps

“¡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.

Internet Information Services Http Error 401.2 Unauthorized Blog Vinicius Deschamps

¡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.

Sitecore
Guía de endurecimiento de seguridad de Sitecore #1 — Vinicius Deschamps