Guia de seguridad para Internet Information Services 6.0

 

Soluciones Microsoft para Profesionales IT

Guía de Seguridad para Internet Information Services 6.0

Autor:

Alejandro Adrián Ponicke

MCSA, MCSE, MCT

La información en este documento incluyendo URLs y otras referencias a sitios web de Internet están sujetas a cambio sin noticias previas.

A menos que sea explícitamente informado, las compañías, organizaciones, productos, nombres de dominio, direcciones de mail, logotipos, persona, lugares, y eventos de ejemplo utilizados aquí, son ficticios y no existe ningún tipo de asociación con ninguna compañía, organización, productos, nombre de dominio, dirección de mail, logotipo, persona, lugar o eventos reales. Es responsabilidad del usuario cumplir con todas las leyes de derecho de autor aplicables. Sin limitar los alcances de los derechos de autor, ninguna parte de este documento puede ser reproducida, almacenada ó introducida en ningún sistema o trasmitida de ninguna forma o por cualquier medio (electrónico, mecánico, fotocopiado, grabado, etc.) para ningún propósito, sin el expreso permiso escrito de Microsoft Corporation.

Microsoft puede tener patentes en trámite, marcas registradas, derecho de autor y otros derechos de propiedad intelectual cubriendo los productos objeto de este documento.

Excepto que sea proporcionado expresamente por medio de una licencia escrita por Microsoft, el contenido de este documento no le da a usted ninguna licencia a estas patentes, derecho de autor u otras propiedades intelectuales.

La información en este documento y cualquier otro documento referenciado aquí es provisto con propósitos informativos solamente y no puede ser interpretado como sustitución o reemplazo de servicios de información diseñada por Microsoft Corporation para un usuario particular en un ambiente particular.

La confianza depositada en este documento y cualquier otro documento referenciado aquí es a riesgo del propio lector. Microsoft Corporation no proporciona garantía ni confirma que la información proporcionada es apropiada para ninguna situación y por tanto Microsoft Corporation no es ni será responsable por ningún reclamo o daño de ningún tipo que el usuario de este documento o cualquier otro documento referenciado aquí pueda sufrir. Si usted no acepta estos términos y condiciones, Microsoft Corporation no le proporcionará a usted ningún derecho a usar ninguna parte de este documento o ningún documento referenciado aquí.

Microsoft, Windows, Active Directory, Internet Information Services, son todas marcas registradas de Microsoft Corporation en Estados Unidos y/o otros países. 2006© Microsoft Corporation.

Los nombres de compañías y productos mencionados aquí pueden ser marcas registradas de sus respectivos dueños.

Se recomienda leer esta Guía en forma completa antes de comenzar con la puesta en práctica de sus

recomendaciones.

Índice

Capítulo 1: Introducción a la Guía de Seguridad para Internet Information Services 6.0. 4

Sumario ejecutivo. 4

Los desafíos ambientales. 4

Internet Information Services. 4

Visión general de la Guía. 4

¿Quien debería leer esta Guía?. 5

Alcance de esta guía. 5

Capitulo 2: Configuración del servidor físico. 6

La seguridad del servidor 6

Firmware. 6

BIOS. 6

Controladores de dispositivos. 6

Configuración del BIOS. 7

Configuración Externa del servidor 7

Consideraciones Generales. 7

Capitulo 3: Configuración del sistema operativo. 8

Windows Server 2003. 8

Instalación. 8

Actualizaciones de seguridad a la instalación de Windows Server 9

Instalación del Componente Internet Information Services 6.0. 11

Revisar el estado de actualizaciones. 12

Asistente para configuración de seguridad. 12

Servicios. 32

Políticas locales. 34

Permisos NTFS. 36

Configuración del protocolo TCP/IP. 36

Consideraciones Generales. 38

Capitulo 4: Configuración del servicio WEB de Internet Information Services 6.0. 39

Configuración de sitios Web. 39

Sitio Web. 39

Extensiones. 40

Grupo de Aplicaciones. 41

URLScan 2.5. 42

Consideraciones Generales. 43

Capitulo 5: Configuración del servicio FTP de Internet Information Services 6.0. 44

Configuración de sitios FTP. 44

Sitio FTP. 44

Consideraciones Generales. 48

Capitulo 6: Conclusiones finales. 49

Resumen. 49

Conclusión de la Guía. 49

Apéndice 1: instalación de Internet Information Services de manera automática. 50

Instalación desatendida. 50

Setup Manager 50

Winnt.sif. 50

Services.vbs. 52


Capítulo 1: Introducción a la Guía de Seguridad para Internet Information Services 6.0

Sumario ejecutivo

Los desafíos ambientales

La mayoría de las organizaciones reconocen el rol crítico que la tecnología de la información (TI) juega en el soporte de sus objetivos comerciales. Hoy las infraestructuras de TI existentes están conectadas a ambientes que se vuelven cada día más hostiles, los ataques son ejecutados cada vez con más frecuencia y están demandando tiempos de reacción aun más cortos. Muchas veces las organizaciones no pueden reaccionar a las nuevas amenazas de seguridad antes de que sus negocios sean impactados de alguna u otra manera. Manejar la seguridad de sus infraestructuras y el valor comercial que esas infraestructuras entregan, se ha convertido en una preocupación esencial para los departamentos de TI.

Internet Information Services

Internet Information Services (IIS 6.0) es un poderoso servidor web que proporciona una infraestructura completamente administrable y escalable para aplicaciones web en todas las versiones de Windows Server 2003. IIS ayuda a las organizaciones a incrementar la disponibilidad de sitios web y aplicaciones al tiempo que reducen los costos de administración y sistema. IIS 6.0 soporta la iniciativa de sistemas dinámicos (DSI) con automatización de salud, monitoreo, aislamiento de procesos, y capacidades de administración mejoradas.

Visión general de la Guía

Este documento lo guiará en el proceso de instalación, configuración y protección de IIS 6.0.

Este proceso de protección podrá variar en función de las necesidades del profesional a cargo. Es él quien en base a un análisis de riesgo decidirá si aplicará esta guía en su totalidad o en partes. Esta guía asume el no de los niveles de máximo riesgo esperable, reduciendo la superficie de ataque de manera drástica, tenga en cuenta que la aplicación de todas o varias de las configuraciones de esta Guía puede causar problemas de incompatibilidad con otras aplicaciones y servicios, es recomendable siempre trabajar en un ambiente de laboratorio antes, para analizar los efectos de la aplicación de estas configuraciones. De hecho muchas de las configuraciones aquí descriptas son incompatibles para servidores pertenecientes a dominios Active Directory. Esta guía está pensada para servidores web independientes, por lo tanto no siempre será oportuno debido a factores económicos, funcionales o de interoperabilidad, la aplicación de todos los puntos descriptos.

Esta guía no es traducción de ningún documento escrito anteriormente por Microsoft en idioma inglés y está basada en conocimientos prácticos y teóricos del autor, obtenidos a lo largo de la participación en diversos proyectos donde la seguridad de IIS era un asunto crítico.

¿Quien debería leer esta guía?

Esta guía está enfocada principalmente a consultores, especialistas de seguridad, arquitectos de sistemas y profesionales de TI, que son responsables del planeamiento ó implementación de infraestructuras de servidores web. Estos roles pueden incluir las siguientes descripciones:

· Los Arquitectos responsables de conducir los trabajos de arquitectura en sus organizaciones

· Miembros de los equipos de seguridad que están enfocados en proporcionar seguridad en plataformas dentro de una organización.

· Auditores de TI y seguridad, los cuales son responsables de asegurar que sus organizaciones tomen precauciones razonables para proteger sus activos comerciales.

· Consultores y socios que necesitan herramientas de transferencia de conocimiento para clientes corporativos y clientes en general.

Alcance de esta guía

Esta guía está enfocada en cómo asegurar un servidor Windows 2003 Server, en cualquiera de sus ediciones, con IIS 6.0. La misma asume que ya se cuenta con un sistema operativo 2003 Server con service pack 1 incluido recién instalado con sus configuraciones predeterminadas.

Capitulo 2: Configuración del servidor físico

La seguridad del servidor

La seguridad de un sistema informático debe construirse siempre desde la base. Es equivocado pensar que asegurando la parte visible de un sistema será suficiente para obtener grados aceptables de seguridad.

Es necesario entonces empezar a pensar desde el mismo momento de encender por primera vez el servidor, la manera de asegurar todos los elementos involucrados en el sistema. Por lo tanto el hardware es un componente principal en este proceso.

Firmware

El Firmware es software específico para una determinada clase de hardware. Los discos rígidos por ejemplo, tienen dentro su propio firmware que al igual que el BIOS es susceptible de cambios y mejoras. Consulte con el proveedor de hardware la disponibilidad y procedimientos de actualización de dicho software.

BIOS

El BIOS (Basic Input Output System) es el primer software que ejecutará el servidor al iniciarse y como todo software es susceptible de fallas, vulnerabilidades e incompatibilidades. Los fabricantes de servidores lanzan periódicamente nuevas versiones de BIOS que incorporan cambios y mejoras de manera tal de aprovechar mejor los componentes del servidor. Por lo tanto es esencial que actualice el mismo siguiendo los procedimientos informados por el fabricante.

Controladores de dispositivos

Conocidos también como Drivers son piezas de software que permiten abstraer el hardware permitiendo interoperar al sistema operativo con los componentes del servidor como las placas de red, la tarjeta de video, etc.

Normalmente el fabricante proporciona los drivers junto con el envío de las piezas de hardware, pero a lo largo del tiempo va haciendo nuevos lanzamientos que mejoran diversos aspectos de la relación entre el sistema operativo y el hardware como el rendimiento, la performance e incluso la seguridad. Por eso es de vital importancia poseer las últimas versiones de estos controladores a fin de evitar un mal, pobre o inseguro funcionamiento del servidor (por usar controladores viejos).

Configuración del BIOS

Además de las configuraciones funcionales del BIOS tal como especifica el fabricante del hardware (consulte al soporte técnico o manuales del mismo para mas información), es necesario configurar determinadas características que ayudarán a prevenir ataques si alguien logra un furtivo acceso local al servidor. Las medidas a tomar en esta parte de la configuración son:

Configure un password largo y complejo. Esto evitará que cambien configuraciones que afecten el inicio del servidor.

Establezca el inicio (Boot) solo desde disco rígido. Esta medida previene que el servidor pueda ser iniciado usando Discos Compactos conteniendo otros sistemas operativos o discos flexibles con drivers para leer sistemas de archivos NTFS. Incluso esto puede evitar que el servidor sea iniciado con herramientas que permitan resetear la password de administrador del sistema operativo y lograr así acceso no autorizado al mismo.

Desactive todos los puertos y dispositivos que no use. Desactive puertos seriales, USB, paralelos, Lectoras de discos compactos y disqueteras (estos dos deberán ser desactivados luego de finalizar la instalación del sistema operativo).

Configuración Externa del servidor

De contar con el servidor en su gabinete, cierre el mismo con llave. Guárdela en un lugar seguro y precinte el servidor de tal manera que pueda darse cuenta fácilmente si el mismo ha sido violado de alguna forma.

Consideraciones Generales

Muchas de las acciones arriba descriptas pueden necesitar ayuda o soporte del proveedor del equipo, tenga a mano los datos de soporte o manuales específicos a la hora de efectuar los cambios. Un cambio mal realizado puede acarrear efectos adversos.

Capitulo 3: Configuración del sistema operativo

Windows Server 2003

Instalación

Si bien este documento no cubre el proceso de instalación del sistema operativo, asume que el lector cuenta con un servidor con Windows 2003 Server Ediciones Estándar, Enterprise o Datacenter con Service Pack 1 incorporado con sus configuraciones predeterminadas según determina el proceso de instalación en un servidor con al menos dos particiones. Habiendo instalado el sistema operativo en una partición y dejando la otra partición disponible para la instalación del IIS 6.0, un direccionamiento IP fijo acorde con la red física, y que fueron desactivados tanto Clientes para redes Microsoft como Compartir archivos e impresoras según se observa en la siguiente figura.

Adicionalmente dentro de las propiedades TCP/IP, aleta WINS deberá activarse Deshabilitar NETBIOS sobre TCP/IP tal como muestra la siguiente figura.

Y que se unió al servidor al grupo de trabajo GRUPO_TRABAJO, ya que un webserver crítico debería estar aislado concluyendo entonces el proceso de instalación.

Es imprescindible además, renombrar las cuentas de administrador e invitado (mas adelante en esta guía se mostrara como hacerlo a través de políticas locales) y configurar contraseñas para ambos de al menos 10 dígitos, para reducir al mínimo la exposición a rotura por fuerza bruta. Una buena práctica puede ser copiar la cuenta administrador y deshabilitar la cuenta built-in

Elimine todos los componentes adicionales, vaya a panel de control, agregar/remover programas, luego a agregar o quitar componentes de Windows y asegúrese que no haya ningún tilde.

Actualizaciones de seguridad a la instalación de Windows Server

También conocido por sus siglas en ingles PSSU, está diseñado para proteger a los servidores recién instalados del riesgo de infección entre el lapso de tiempo en el cual el mismo es conectado a la red y la instalación efectiva de las últimas actualizaciones de seguridad desde Windows Update.

PSSU es una interfaz de usuario (Fig. 3) que aparece la primera vez que el administrador inicia sesión y proporciona enlaces para la aplicación de las actualizaciones en su servidor y configurar la descarga e instalación de las próximas actualizaciones. PSSU informa al administrador que todas las conexiones entrantes al servidor, distintas a aquellas especificadas durante la instalación o aquellas configuradas a través de grupos de políticas (GPO), están bloqueadas.


fig3: Pantalla de Inicio de Actualizaciones de seguridad a la instalación de Windows Server

Para aplicar todas las actualizaciones disponibles utilizar la opción: Actualizar este servidor. Mediante este procedimiento y utilizando el servicio de Windows Update, utilice la información presentada por los asistentes para actualizar el servidor

Una vez actualizado, utilice la opción: Configurar la actualización automática de este servidor, para determinar cuando serán descargadas e instaladas las subsiguientes actualizaciones.

Por ultimo ejecute Finalizar lo cual dará por terminado el proceso y pondrá al servidor operativo.

Instalación del Componente Internet Information Services 6.0.

Dado que esta guía está diseñada para ser usada en Windows Server 2003 ediciones Estándar, Enterprise y Datacenter, es necesario agregar manualmente Internet Information Services 6.0.

Durante el proceso de instalación del sistema operativo se reservó una partición diferente a la partición del sistema operativo para alojar a Internet Information Services 6.0

El procedimiento a seguir para realizar tal operación es tal como se describe a continuación:

Cree un archivo .txt, en este ejemplo lo llamaremos c:\iis6.txt y coloque el siguiente contenido dentro:

[Components]

iis_common = on

iis_inetmgr = on

iis_www = on

iis_ftp = on

iis_asp = on

AspNet = on

[InternetServer]

PathFTPRoot=D:\Ftp

PathWWWRoot=D:\Www

Nota: Los componentes iis_asp y AspNet serán necesarias en la medida que el webserver aloje aplicaciones asp o asp.net.

Utilice las variables PathFTPRoot y PathWWWRoot para indicar la ubicación del contenido de ambos servicios según la letra de unidad de su sistema.

Inicie el proceso de instalación: Inicio/Ejecutar y escriba:

Sysocmgr /u:c:\iis6.txt /i:%windir%\inf\sysoc.inf

Complete el proceso de instalación proporcionando los archivos necesarios cuando le sea requerido.

Revise que la instalación se ha efectuado exitosamente ejecutando la consola de Internet Information Services 6.0 desde Herramientas Administrativas y constate que no existe ninguna condición de error.

Revisar el estado de actualizaciones

Una vez que el proceso de PSSU está finalizado y que todos los componentes necesarios han sido agregados, es preciso utilizar Microsoft Baseline Security Analizer (MBSA) para revisar el estado de actualización. Asegúrese de utilizar el último mssecure.xml el cual puede ser descargado del sitio de Microsoft.

Descargue y aplique todas las actualizaciones que MBSA le indique como faltantes y siga las demás recomendaciones que le indique, entre ellas la cantidad de cuentas con privilegios de administrador.

Mas información acerca de MBSA en www.microsoft.com/mbsa

Asistente para configuración de seguridad

Conocido por sus siglas en inglés SCW (Security Configuration Wizard), es una herramienta que permite reducir la superficie de ataque de los servidores en base a los roles que éste brinda. Está disponible a partir de Service Pack 1 de Windows 2003.

Vaya a panel de control, agregar/remover programas, luego a agregar o quitar componentes de Windows y tildar el componente Asistente para configuración de seguridad.

Una vez instalado, vaya a Herramientras administrativas y ejecute el asistente para configuración de seguridad. Ejecute Siguiente en la pantalla de bienvenida, y elija crear una nueva directiva de seguridad.

Elija el servidor local en el cual está aplicando estas acciones, Tenga en cuenta la información de la pantalla en cuanto a los privilegios necesarios para aplicar estas configuraciones.

En la pantalla de Procesar la base de datos de configuración de seguridad haga clic en Siguiente.

En configuración del servidor basado en funciones haga clic en Siguiente.

En seleccionar funciones de servidor escoja Todas las funciones en la lista desplegable Ver.

Quite la tilde a todas las funciones y asegúrese de tildar Servidor Web y Servidor FTP.

En seleccionar características de cliente quite la tilde a todas las opciones y haga clic en Siguiente

En Seleccionar Opciones de administración y otras seleccione:

· Configuración y Análisis remoto del asistente para configuración de seguridad

· Copia de Seguridad (NT o Terceros)

· Copia de seguridad en hardware local

· Entorno de controlador de modo de usuario de Windows

· Firewall de Windows

· Informe de errores

· Instalaciones de aplicaciones locales

· Recopilación de datos de rendimiento

En Seleccionar servicios adicionales deje solamente runtimes de .net ofrecidas solo si el assembly de la aplicación .net lo necesita, de otra manera quítele la tilde a todo

En Tratamiento de servicios sin especificarelija: deshabilitar el servicio

En Confirmar Cambios de Servicio revise que la lista de servicios y modo de inicio de directiva de los mismos concuerde con la selección hecha previamente.

En Seguridad de Red haga clic en Siguiente.

En Abrir puertos y aprobar aplicaciones deje solamente tildado puerto 20, 21, 80 y 443, destilde cualquier otra opción. Haga click en Siguiente.

En configuración de registro, click en Siguiente.

Requerir firmas de seguridad SMB: El servidor no tendrá SMB habilitado, con lo cual las configuraciones siguientes no tendrán efecto, pero es una buena práctica dejar tildadas ambas.

En Métodos de autenticación de salida asegúrese de no tener tildado ninguna opción.

En Métodos de autenticación de entrada asegúrese de no tener tildado ninguna opción

En resumen de configuración de registro revise que el resultado mostrado coincida con su selección anterior.

En Directiva de auditoria haga click en Siguiente

Seleccione Auditar Acciones correctas y no correctas

Revise el Resumen de Directivas de Auditoria de tal manera de asegurarse que coincida con su selección.

En Servicios de Internet Information Services haga click en Siguiente.

En caso de necesitar soporte para aplicaciones ASP o ASP.NET, deje marcadas las casillas correspondientes. De otra manera deje todo desmarcado.

En la página de directorios virtuales deje todo desmarcado, los mismos serán eliminados de la configuración del IIS.

Configure la denegación a escritura en los directorios de contenido a los usuarios anónimos.

Revise que el detalle mostrado a continuación coincida con sus selecciones anteriores.

Continúe con el proceso de guardar el template para futuras aplicaciones y proceda a aplicar las configuraciones en el servidor en cuestión usando la opción aplicar ahora .

Servicios

Una de las acciones más efectivas para la reducción de la superficie de ataque es la deshabilitar servicios innecesarios. Dependiendo de la cantidad de servicios instalados y de las configuraciones realizadas por le SCW, revise qué servicios están en modo automático y deshabilítelos conforme aparecen en la siguiente lista.

Nota importante: La cantidad de servicios puede variar en función de las aplicaciones instaladas como por ejemplo antivirus, antispywares, etc. Adicionalmente servicios no listados aquí pueden depender de los servicios listados. Revise cuidadosamente las dependencias antes de deshabilitar los servicios.

Desde herramientas administrativas utilice el Administrador de Servicios para revisar el estado y eventualmente deshabilitarlos:

  • Acceso a dispositivo de interfaz humana
  • Administración de Aplicaciones
  • Administrador de conexión automática de acceso remoto
  • Administrador de conexión de acceso remoto
  • Administrador de sesión de ayuda de escritorio remoto
  • Adquisición de Imágenes de Windows (WIA)
  • Aplicación del sistema COM+
  • Audio de Windows
  • Ayuda de NETBOS sobre TCP/IP
  • Ayuda y Soporte técnico
  • Ayudante de la consola de administración especial
  • Centro de distribución de claves kerberos
  • Cliente de seguimiento de vínculos distribuidos
  • Cliente DHCP
  • Cliente DNS
  • Cliente Web
  • Cola de Impresión
  • Configuración Inalámbrica
  • Conjunto resultante de proveedor de directivas
  • Coordinador de transacciones distribuidas de Microsoft
  • DDE de red
  • Director de sesiones de Terminal Server
  • DSDM de DDE de red
  • Enrutamiento y Acceso Remoto
  • Escritorio remoto compartido de Netmeeting
  • Estación de Trabajo
  • Examinador de equipos
  • Extensiones de controlador de instrumental de administración de Windows
  • Horario de Windows
  • Inicio de sesión en red
  • Inicio de sesión secundario
  • Localizador de llamadas a procedimientos remotos (RPC)
  • Mensajería Interna
  • Messenger
  • NLA (Network Location Awareness)
  • Notificación de sucesos de sistema
  • Portafolios
  • Programador de tareas
  • Registro de Licencias
  • Registro remoto
  • Replicación de Archivos
  • Servicio COM de grabación de CD de IMAPI
  • Servicio de Alerta
  • Servicio de aprovisionamiento de red
  • Servicio de búsqueda sobre experiencia con aplicaciones
  • Servicio de descubrimiento automático de Proxy WinHTTP
  • Servicio de Index Server
  • Servicio de puerta de enlace de capa de aplicación
  • Servicios de Terminal Server
  • Servicios de IPSEC
  • Servidor
  • Servidor de seguimiento de vínculos distribuidos
  • Sistema de archivos distribuidos
  • Telefonía
  • Telnet
  • Temas
Políticas locales

Las políticas locales configuradas en un equipo son las únicas políticas que aplican sobre el mismo cuando éste es un servidor independiente no perteneciente a un dominio. En caso de formar parte de un dominio las políticas locales son sobrescritas por las políticas de sitios, dominios y unidades organizativas conforme éstas se contradicen.

Ejecutar gpedit.msc para abrir la consola de configuración de políticas locales.

Abra Configuración del equipo, Configuración de Seguridad, Directivas de cuentas, luego Configuración de Windows, abra Directivas de contraseñas y configure las directivas de acuerdo a la siguiente figura:

Vaya a Directiva de bloqueo de cuentas y configure de acuerdo a la siguiente figura:

En Configuración del equipo, Configuración de Windows, Directivas Locales, Directiva de auditorias , controle que el Asistente para configuración de Seguridad haya configurado la auditoria tal como muestra la siguiente figura:

En Asignación de derechos de usuario, configurar:

Apagar el sistema: Administradores (remover Usuarios Avanzados, Operadores)

Cargar y descargar controladores de dispositivos: quitar administradores, agregar administrador

Denegar inicio de sesión a través de Servicios de Terminal Server: agregar todos

Denegar el inicio de sesión localmente: agregar anonymous logon

Forzar el apagado desde un sistema remoto: nadie (quitar Administradores)

Restaurar archivos y directorios: Administradores (remover Operadores de Copia)

Permitir Inicio de sesión a través de Servicios de Terminal Server: nadie (Quitar Administradores y Usuarios de escritorio remoto)

Restaurar Archivos y Directorios: Quitar Operadores de Copia

Tener Acceso a este equipo desde la red: quitar todos

En Opciones de seguridad:

Acceso a redes: no permitir el almacenamiento de credenciales o .NET passports para la autenticación de dominio: habilitado

Acceso a redes: no permitir enumeraciones anónimas de cuentas y recursos compartidos SAM: habilitado.

Acceso de red: recursos compartidos accesibles anónimamente, quitar todo

Acceso de red: rutas de registro accesibles remotamente, quitar todo

Acceso de red: rutas y sub rutas de registro accesibles remotamente, quitar todo

Apagado: borrar el archivo de páginas de la memoria virtual, habilitado

Cuentas: cambiar el nombre de la cuenta de invitado, cambiar a nombre no adivinable

Cuentas: cambiar el nombre de la cuenta administrador, cambiar a nombre no adivinable

Dispositivos: comportamiento de instalación de controlador no firmado, cambiar a no permitir la instalación

Inicio de sesión interactivo: num de inicios de sesión previos en la cache, 0

Inicio de sesión interactivo: no mostrar el ultimo nombre de usuario, habilitada

Seguridad de red: no almacenar valor de hash de LAN manager en el próximo cambio de contraseña: habilitada

Seguridad de redes: Nivel de autenticación de LAN Manager, Enviar solo respuesta NT Lan Manager versión 2 rechazar LAN Manager y NT LAN Manager

Permisos NTFS

Los permisos NTFS controlan el usuario y el tipo de acceso a carpetas y a archivos, la incorrecta configuración de permisos puede acarrear graves consecuencias ya que permisos mal puestos pueden permitir crear, modificar o borrar archivos esenciales para el normal funcionamiento de los sistemas.

En esta guía se sugirió usar dos discos distintos para el sistema operativo en sí mismo y para la instalación de Internet Information Services. Eso dá la posibilidad de tratar de diferente manera ambas unidades.

Remueva el grupo especial Todos en el disco C:\ Raíz y en opciones avanzadas marque: Reemplazar las entradas de permisos en todos los objetos secundarios con aquellas entradas incluidas aquí y que sean relativas a los objetos secundarios.

Otorgue Denegar Control Total al grupo Usuarios anónimos de Web en las carpetas C:\Windows y C:\Windows\System32

Acepte todas las advertencias que el sistema operativo le muestre.

Acepte la advertencia que no puede cambiarse el permiso en el archivo Pagefile.sys.

Configuración del protocolo TCP/IP

Los ataques por denegación de servicio son ataques de red que apuntan a que un servicio o computadora en particular se vuelva no disponible para los usuarios que lo/la acceden. Los Ataques por denegación de servicio son muchas veces los más proclives y de más difíciles controles. Como esta guía está enfocada a servidores conectados a Internet se detallan acá los pasos necesarios para adaptar la pila de protocolos TCP/IP que por omisión viene optimizada para una intranet para ser usada en Internet.

La siguiente lista explica cómo configurar los valores de registry que deben ser modificados para adaptar el protocolo TCP/IP en máquinas conectadas directamente a Internet.

Nota Importante: Todos los valores están expresados en hexadecimal a menos que se indique lo contrario.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Nombre: SynAttackProtect

Clave: Tcpip\Parameters

Tipo: REG_DWORD

Valor:1

Nombre: EnableDeadGWDetect

Clave: Tcpip\Parameters

Tipo: REG_DWORD

Valor: 0

Nombre: EnablePMTUDiscovery

Clave: Tcpip\Parameters

Tipo: REG_DWORD

Valor: 0

Nombre: KeepAliveTime

Clave: Tcpip\Parameters

Tipo: REG_DWORD-Tiempo en milisegundos

Default: 300000 (5 minutos)

Nombre: NoNameReleaseOnDemand

Clave: Netbt\Parameters

Tipo: REG_DWORD

Valor: 1

Para mayor información acerca de las configuraciones arriba enunciadas por favor visite:

https://support.microsoft.com/default.aspx?scid=kb;en-us;324270#XSLTH3123121122120121120120

Consideraciones Generales

Las operaciones antes descriptas configuran y preparan el sistema operativo para realizar las operaciones de webserver. Recuerde analizar y probar concienzudamente cada configuración en un ambiente de prueba antes de aplicarlas en el ambiente de producción.

Capitulo 4: Configuración del servicio WEB de Internet Information Services 6.0

Configuración de sitios Web

Sitio Web

Elimine el sitio web llamado Sitio Webpredeterminado. No es una buena práctica mantenerlo. Haga click derecho sobre él y elija eliminar.

Cree un sitio nuevo haciendo click derecho en el nodo Sitios Web, elija nuevo, y luego Sitio Web, para iniciar el asistente de creación de sitios. Haga click en Siguiente para pasar la pantalla de bienvenida. Escriba un nombre suficientemente identificatorio y haga click en Siguiente. Luego elija una dirección IP en Escriba la dirección IP para este sitio Web. No deje nunca (Ninguna Asignada). Elija el puerto, típicamente puerto 80 y Asigne el Encabezado host en la caja de texto Encabezado de host para este sitio web (predeterminado ninguno) , por el cual el sitio responderá (Ej.: www.dominio.com) no deje nunca en blanco este campo para evitar ataques automatizados por dirección IP, haga click en Siguiente .

Elija la ruta de acceso donde el contenido del sitio reside (recuerde que esta guía sugiere al menos dos particiones, no use la partición de sistema como directorio raíz de WEB) y deje tildado Permitir accesos anónimos a este sitio web si no va a exigir autenticación y va a ser un sitio público, haga click en Siguiente.

En la pantalla Permisos de acceso al sitio web elija solo Leer si el contenido será solo estático (html). Elija opcionalmente Ejecutar secuencias de comandos (por ejemplo ASP) . Evalúe con el desarrollador de la aplicación la necesidad de marcar el permiso Ejecutar (por ejemplo aplicaciones ISAPI, CGI), pero hágalo sólo si es esencial para el funcionamiento del mismo . No marque ningún otro permiso. Haga click en Siguiente y luego en Finalizar.

Extensiones

En su instalación por omisión, IIS reduce al máximo la superficie de ataque el no ofrecer extensiones para contenido dinámico.

Es necesario evaluar junto a los desarrolladores la necesidad de publicar contenido dinámico ya sea ASP o ASP.NET, y permitirlo en consecuencia.

Durante el proceso de instalación desatendida de IIS mostrado más arriba en esta guía, se decidió habilitar ASP y ASP.NET mediante los modificadores:

iis_asp = on

AspNet = on

Se puede revertir esta decisión en cualquier momento, prohibiendo la Extensión correspondiente.

Abra la consola de Administración de IIS y navegue hasta Extensiones del servidor, revise que sólo las extensiones que va a utilizar se encuentran en estado permitido.

Grupo de Aplicaciones

A menos que el contenido del sitio web deba ser accedido vía red, cambie el contexto de seguridad de los grupos de aplicaciones a Servicio Local.

URLScan 2.5

Si bien IIS 6 incluye varias características de URLScan ya incorporadas, es conveniente utilizar la versión separada proporcionada por Microsoft de manera de tener un control mucho mas preciso del comportamiento del IIS.

Puede descargar URLScan 2.5 desde: https://www.microsoft.com/technet/security/tools/urlscan.mspx

La instalación es bastante sencilla y no ofrece demasiadas opciones.

Una vez instalado es necesario editar el archivo urlscan.ini situado en %windir%\system32\inetsrv\urlscan y modificar algunos de sus parámetros.

Importante: las siguientes configuraciones pueden ser incompatibles con ciertas aplicaciones web, consulte la documentación de las aplicaciones y revise los logs del IIS para detectar problemas de funcionamiento.

UseAllowVerbs=1 ; Esto nos permitirá usar secciones donde permitir o denegar verbos tales como POST, PUT, DELETE, etc.

UseAllowExtensions=1 ; Esto nos permitirá definir qué extensiones permitir o denegar

MaxAllowedContentLenght=1024 ‘ este valor depende de si se permiten verbos PUT o POST y define el tamaño máximo de contenido que alguien puede enviar mediante PUT o POST al server. El tamaño por omisión es de 3GB.

MaxQueryString=0 ; Define si se permite enviar parámetros y el largo de la URL donde estos se pasan. Normalmente estos parámetros suelen pasarse por POST, consulte al desarrollador el método utilizado.

[AllowVerbs]

GET

HEAD

POST ; En caso de usar contenido dinámico y que se pasen parámetros por POST

[AllowExtensions]

.htm

.html

.jpg

.jpeg

.gif

.png

.asp ; En caso de utilizar contenido dinámico

.aspx ; En caso de utilizar contenido dinámico

Consideraciones Generales

Las configuraciones de IIS 6 arriba descriptas son dependientes de las aplicaciones a colocar en el servidor web. En servidores donde la seguridad es un tema crítico deben ajustarse los parámetros de la manera más segura posible, y luego probar la aplicación y revisar los logs para ir encontrando qué configuración intercede con el normal funcionamiento de la misma y evaluar la relajación o no de dicha configuración. Este tipo de operaciones pueden resultar tediosas pero es necesario entender que no pueden ofrecerse ventajas de ningún tipo a la hora de exponer un servicio en ambientes no controlados.

Capitulo 5: Configuración del servicio FTP de Internet Information Services 6.0

Configuración de sitios FTP

Sitio FTP

Este documento va a utilizar la característica que incorpora IIS6 denominada Aislar Usuarios. Este modo autentica a los usuarios contra cuentas locales o de dominio antes de permitirles el acceso al directorio particular correspondiente a su nombre de usuario. Todos los directorios principales de los usuarios se encuentran en un mismo directorio raíz FTP, en el que cada usuario únicamente puede obtener acceso y esta restringido a su directorio particular.

Dado que en la configuración del sistema operativo fueron desactivadas las opciones Clientes para redes Microsoft y Compartir archivos e impresoras el servidor, no será encontrado en Entorno de red, ni podrá ser accedido usando UNC (\\server\recurso), ni el propio server podrá acceder otros recursos en la red mediante estos métodos. Por lo tanto será necesario habilitar el servicio FTP como medio para subir el contenido web a publicar.

Borre el sitio FTP predeterminado, expanda Sitios FTP, haga click derecho en Sitio FTP predeterminado y elija Eliminar.

Cree un nuevo sitio FTP haciendo click derecho en Sitios FTP, elija Nuevo y luego Sitio FTP, haga click en Siguiente para aceptar la pantalla de bienvenida. Escriba una descripción que identifique claramente al sitio y haga click en Siguiente. Asigne una dirección IP (necesitará una dirección IP por cada sitio FTP que necesite crear) y deje el puerto 21 si desea publicarlo en el puerto estándar. Haga click en Siguiente. Elija la opción Aislar Usuarios para permitir que cada usuario deje el contenido en su propio directorio y no pueda acceder a ningún otro y haga click en Siguiente. Elija la ruta del directorio raíz (recuerde que esta guía sugiere al menos dos particiones, no use la partición de sistema como directorio raíz de FTP). Haga click en Siguiente y elija lectura y escritura. Haga click en Siguiente y luego en Finalizar.

Haga Click derecho en el sitio recientemente creado y elija propiedades. Vaya a la aleta “Cuentas de Seguridad” y destilde “Permitir conexiones anónimas” , acepte la advertencia y haga click en OK.

.

Cree un usuario por cada sitio web para el cual se cargará contenido. En este ejemplo crearemos dos usuarios. Abra una consola de comandos y ejecute:

C:\> net user SitioWeb1 P@ssw0rdC0mpleX /add

C:\> net user SitioWeb2 Pa$$w0rdCompl3X /add

Vaya al directorio raíz que indicó en la creación del sitio FTP (en nuestro ejemplo D:\>FTP) y cree una subcarpeta llamada LocalUser.

Dentro de LocalUser cree una carpeta por cada usuario de cada sitio web autorizado a subir contenido. En nuestro ejemplo crearemos las carpetas sitioweb1 y sitioweb2.

Haga click derecho en cada carpeta y en la aleta Seguridad asigne permisos de lectura y escritura únicamente al usuario creado anteriormente, y que coincida con el nombre de la carpeta.

Verifique que ningún otro usuario tenga permisos en esa carpeta a excepción de Administradores, System y Creator Owner.

Testee el procedimiento iniciando una sesión ftp con uno de los usuarios creados recientemente. Suba un archivo de prueba y verifique que el archivo esté en la carpeta que coincide con el nombre de la cuenta con la cual inició sesión en el FTP.

Consideraciones Generales

La característica que permite el aislamiento de usuarios es un complemento ideal para la carga y descarga de archivos de un servidor que no posee los mecanismos tradicionales encontrados normalmente en los servidores Microsoft. Además resulta uno de los protocolos que mejor performance ofrecen, al momento de manejar transferencias con gran cantidad de información.

Capitulo 6: Conclusiones finales

Resumen

Conclusión de la Guía

Esta guía ha presentado la manera en que Microsoft recomienda la instalación, configuración y ajuste de Internet Information Services 6 para implementaciones críticas en cuanto a seguridad. Las configuraciones aquí descriptas pueden asistir a organizaciones de todos los tamaños a obtener respuestas a los riesgos de seguridad a los que puedan verse enfrentados al publicar contenido vía web usando IIS. La decisión de la aplicación de esta guía debe basarse en un análisis de riesgo que sobrepase el nivel definido como aceptable.

La definición de riesgo aceptable y la manera de administrarlo varía de organización en organización y por lo tanto no existe una regla fija que aplique a todos los casos. Una correcta administración de riesgos determinará si conviene aplicar la guía en su totalidad o en partes.

Esta guía está sujeta a cambios, en la medida en que nuevas pruebas, situaciones y conocimientos acerca de los desafíos ambientales en los que las aplicaciones web se desarrollan, sean adquiridos.

Ahora que ya ha leído esta guía en su totalidad, puede comenzar a configurar servidores web comenzando por el Capítulo 2.

Apéndice 1: Instalación de Internet Information Services de manera automática.

Instalación desatendida

Setup Manager

Esta herramienta permite crear archivos de respuesta que automatizan la instalación de servidores. setupmgr.exe se encuentra dentro del archivo deploy.cab que se encuentra en el CD de instalación de Windows 2003 Server \Support\Tools\deploy.cab.

Al ejecutarlo se debe elegir hacer un nuevo archivo para Windows 2003 Server, instalación desde CD, y recorrer el Wizard respondiendo las opciones que se presentan. Luego debe guardarse ese archivo como winnt.sif e introducirlo en la disquetera del servidor acompañando al CD de instalación. El CD sacará las respuestas del archivo winnt.sif.

Puede editar rápidamente el archivo y cambiar el nombre de servidor y direccionamiento IP para cada servidor que instale. No puede usar archivos UDF cuando instala desde CD.

Winnt.sif

Acá le presentamos como ejemplo, un archivo de respuesta modelo para instalación de IIS:

;SetupMgrTag

[Data]

AutoPartition=1

MsDosInitiated="0"

UnattendedInstall="Yes"

[Unattended]

UnattendMode=FullUnattended

OemSkipEula=Yes

OemPreinstall=No

TargetPath=so\www

[GuiUnattended]

AdminPassword=P@ssw0rd

EncryptedAdminPassword=No

AutoLogon=Yes

AutoLogonCount=2

OEMSkipRegional=1

TimeZone=70

OemSkipWelcome=1

[UserData]

ProductKey=AAAAA-BBBBB-CCCCC-DDDDD-EEEEE

FullName="Admin"

OrgName="Compania"

ComputerName=wwwsrv

[LicenseFilePrintData]

AutoMode=PerSeat

[TapiLocation]

CountryCode=54

AreaCode=11

[RegionalSettings]

LanguageGroup=1

Language=00002c0a

[GuiRunOnce]

Command0=a:\services.vbs

[Identification]

JoinWorkgroup=WORKGROUP

[Networking]

InstallDefaultComponents=No

[NetAdapters]

Adapter1=params.Adapter1

[params.Adapter1]

INFID=*

[NetProtocols]

MS_TCPIP=params.MS_TCPIP

[params.MS_TCPIP]

DNS=No

UseDomainNameDevolution=No

EnableLMHosts=Yes

AdapterSections=params.MS_TCPIP.Adapter1

[NetBindings]

Disable = "MS_Server MS_NetBeui Adapter1"

Disable = "MS_MSClient MS_NetBeui Adapter1"

Disable = "ms_msclient ms_netbt ms_tcpip Adapter1"

Disable = "ms_msclient ms_netbeui Adapter1"

Disable = "ms_msclient ms_nwnb"

Disable = "MS_Server, MS_NetBt, MS_TCPIP, Adapter1"

[params.MS_TCPIP.Adapter1]

SpecificTo=Adapter1

DHCP=No

IPAddress=192.168.1.2

SubnetMask=255.255.255.0

DefaultGateway=192.168.1.1

WINS=No

NetBIOSOptions=2

[Components]

iis_common = on

iis_ftp = on

iis_inetmer = on

iis_asp = on

AspNet = on

iis_www = on

Accessopt = Off

RootAutoUpdate = off

Calc = off

CharMap = off

ClipBook = off

DeskPaper = off

Paint = off

MSWordpad = off

Chat = off

IEHardenAdmin = off

IEHardenUser = off

SCW=on

[InternetServer]

PathFTPRoot = c:\srv\iis\ftps

PathWWWRoot = c:\srv\iis\webs

Services.vbs

Este script le permite desactivar los servicios contenidos en Array(), Edite Array() según sus necesidades

On Error Resume Next

strComputer = "."

arrTargetSvcs = Array("AeLookupSvc","Clipsrv","Browser","Alerter", "appmgmt", "DCOMLaunch", "DHCP", "DFS", "Helpsvc", "SamSS", "Seclogon", "lanmanServer", "lanmanWorkstation")

Set objWMIService = GetObject("winmgmts:" _

& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colServices = objWMIService.ExecQuery("SELECT * FROM Win32_Service")

Wscript.Echo "Checking for target services ..."

For Each objService in colServices

For Each strTargetSvc In arrTargetSvcs

If LCase(objService.Name) = LCase(strTargetSvc) Then

WScript.Echo VbCrLf & "Service Name: " & objService.Name

WScript.Echo " Status: " & objService.State

Wscript.Echo " Startup Type: " & objService.StartMode

WScript.Echo " Time: " & Now

If objService.State = "Stopped" Then

WScript.Echo " Already stopped"

Else

intStop = objService.StopService

If intStop = 0 Then

WScript.Echo " Stopped service"

Else

WScript.Echo " Unable to stop service"

End If

End If

If objService.StartMode = "Disabled" Then

WScript.Echo " Already disabled"

Else

intDisable = objService.ChangeStartMode("Disabled")

If intDisable = 0 Then

WScript.Echo " Disabled service"

Else

WScript.Echo " Unable to disable service"

End If

End If

End If

Next

Next