Defensa en Profundidad

Anuncio
DID (DEFENSE IN DEPTH)
Martín Ojeda Knapp
CPM Coordinador I-SEC
Especialista en Seguridad de la Información
I-Sec Information Security Inc. - Chile
http://geeks.ms/blogs/mojeda/
Defensa en profundidad (Defense in Depth) es una iniciativa que pretende aislar en capas y
dividir en diferentes áreas aisladas las instalaciones con el propósito de hacer mas difícil el
acceso a nuestro ultimo bastión que serian nuestros servidores donde se contiene la
información, podríamos hacer la analogía con un banco donde nuestra información es el
dinero contenido en un bóveda. Para protegerlo desde la entrada ya vemos medidas de
seguridad. Como barreras antigolpes de automóviles, cámaras, guardias, un área publica
que podrías ser la (DMZ). Mientras mas tratamos de acercarnos a la bóveda los controles
se acentúan.
A continuación algunas recomendaciones que nos propone DiD (Defense in Depth) en MSAT (Microsoft
Assessment Tool) herramienta que a través de un cuestionario crea un pequeña línea base de el estado
de a organización en algunos tópicos básicos de seguridad.
FIREWALLS
Representan un mecanismo de defensa inicial que debe abarcar toda la red. Las reglas que se apliquen a
los firewalls deben ser altamente restrictivas y establecerse por host y servicio.
Al crear las reglas para los firewalls y las listas de control de acceso (ACL) de los routers, céntrese en
primer lugar en proteger los dispositivos de control de acceso y la red frente a posibles ataques.
+ Asegúrese de que los datos sigan fluyendo mediante la utilización de ACL de red y las reglas
para los firewalls.
+ Compruebe el funcionamiento de las reglas para los firewalls y las ACL de los routers para
determinar si las reglas contribuyen a ataques de negación de servicio (Denial of Service, DoS).
+ Utilice uno o varios DMZ como parte del desarrollo sistemático y formal de firewalls.
+ Sitúe en esa ubicación todos los servidores a los que se puede acceder por Internet. Limite la
conectividad de los DMZ.
ANTIVIRUS
Utilice soluciones antivirus en todo el ambiente: tanto en los servidores como en las computadoras de
escritorio.
Utilice soluciones antivirus especializadas para tareas específicas, como detectores de virus para
servidores de archivos, herramientas de análisis de contenido y detectores de carga y descarga de datos.
Configure las soluciones antivirus para que detecten virus que entren o salgan del sistema.
Estas soluciones deben instalarse primero en los servidores de archivos críticos y, a continuación, en los
servidores de correo, de base de datos y de red.
En el caso de las computadoras portátiles y de escritorio, debe implementar una solución antivirus en el
ambiente predeterminado.
Si utiliza Microsoft Exchange, utilice las funciones adicionales de antivirus y los filtros de contenido para
los buzones de correo.
REDES PRIVADAS VIRTUALES (VPN)
Utilice una VPN entre el perímetro de la red y los segmentos de red internos que necesiten más
seguridad.
Utilice una VPN para asegurar los protocolos de texto sin encripción de los ambientes en los que se
pueda detectar o modificar el tráfico de datos.
Para los usuarios remotos, debe usar una VPN que requiera autenticación de factores múltiples y que
utilice tecnologías IPSEC, SSL y SSH para suministrar conectividad a los recursos necesarios de la red
corporativa utilizando las reglas de control de acceso por usuario.
Realice auditorías periódicas de la lista de acceso de los usuarios para el dispositivo VPN.
Puede limitar el acceso administrativo del dispositivo VPN para que quede exclusivamente dentro de la
red corporativa.
SEGMENTACIÓN
Utilice segmentaciones para separar el acceso a extranets específicas para fabricantes, socios o clientes.
Cada segmentación externa de la red debe permitir que el tráfico sólo se dirija a los hosts y puertos de
aplicaciones determinadas que proporcionan servicios a los clientes.
Asegúrese de que existan controles de red que permitan sólo el acceso necesario para cada conexión de
terceros.
Limite el acceso de los servicios de red suministrados, así como el acceso entre los segmentos de red.
CONTRASEÑAS COMPLEJAS PARA USUARIOS ADMINISTRATIVOS
Ponga en práctica una política estricta para las cuentas administrativas mediante el uso de contraseñas
complejas que cumplan estas condiciones:
+ Alfanumérica
+ Mayúsculas y minúsculas
+ Contiene al menos un caracter especial
+ Contiene como mínimo 14 caracteres
Para limitar más los riesgos de ataques a las contraseñas, ponga en práctica los controles siguientes:
+ Vencimiento de contraseñas
+ Bloqueo de la cuenta después de entre 7 y 10 intentos de registro fallidos
+ Registro del sistema
Además de las contraseñas complejas, puede recurrir a la autenticación de factores múltiples.
Utilice controles avanzados para la administración de las cuentas y el registro de acceso a las cuentas
(no permita que se compartan cuentas).
CONTRASEÑAS COMPLEJAS PARA USUARIOS ESTÁNDAR
Para las cuentas de usuarios, ponga en práctica una política que exija el uso de contraseñas complejas
que cumplan estas condiciones:
+ Alfanumérica
+ Mayúsculas y minúsculas
+ Contiene al menos un caracter especial
+ Contiene como mínimo 8 caracteres
Para limitar más los riesgos de ataques a las contraseñas, ponga en práctica los controles siguientes:
+ Vencimiento de contraseñas
+ Bloqueo de la cuenta después de 10 intentos de registro fallidos
+ Registro del sistema
Además de las contraseñas complejas, puede recurrir a la autenticación de factores múltiples.
Utilice controles avanzados para la administración de cuentas y el registro de acceso a las cuentas (no
permita que se compartan cuentas).
CONTRASEÑAS COMPLEJAS PARA USUARIOS DE ACCESO REMOTO
Ponga en práctica controles de contraseñas complejas para todos los usuarios de acceso remoto,
independientemente de si el acceso se concede mediante tecnologías de marcación telefónicas o VPN.
Se considera que una contraseña es compleja si cumple estas condiciones:
+ Alfanumérica
+ Mayúsculas y minúsculas
+ Contiene al menos un caracter especial
+ Contiene como mínimo 8 caracteres
Ponga en práctica otro factor más de autenticación para las cuentas de acceso remoto.
Si lo desea, también puede utilizar controles avanzados para la administración de cuentas y el registro
de acceso a las cuentas (no permita que se compartan cuentas).
Con respecto al acceso remoto, resulta especialmente importante proteger el ambiente mediante
políticas estrictas de administración de cuentas, prácticas seguras de registro y funciones para detectar
incidentes.
Para limitar aún más los riesgos de ataques de fuerza bruta a las contraseñas, puede poner en práctica
los controles siguientes:
+ Vencimiento de contraseñas
+ Bloqueo de la cuenta después de entre 7 y 10 intentos de registro fallidos
+ Registro del sistema
Para los servicios de acceso remoto también deben considerarse los sistemas que se utilizarán para
acceder a la red o a los hosts.
Por tanto, podría resultar conveniente controlar los hosts con acceso remoto a la red.
CONTRASEÑAS COMPLEJAS
La utilización de contraseñas complejas es un elemento fundamental para la defensa a profundidad.
Las contraseñas complejas deben tener de 8 a 14 caracteres e incluir caracteres alfanuméricos y
especiales. Debe establecer una longitud mínima, un mantenimiento del historial, una duración límite y
un plazo de vencimiento para reforzar la defensa.
Generalmente, el vencimiento de las contraseñas debe configurarse de la siguiente forma:
+ Duración máxima de 90 días
+ Las cuentas nuevas deben cambiar la contraseña al inicio de la sesión
+ Un historial de 8 contraseñas (mínimo de 8 días)
Además de las contraseñas complejas, la autenticación de factores múltiples es muy importante,
especialmente para las cuentas administrativas y de usuarios remotos.
En todas las cuentas de usuario, se debe activar un proceso de bloqueo de cuenta tras 10 intentos de
registro fallidos.
Los controles para bloquear una cuenta pueden variar; algunos sencillamente se dedican a los ataques
de fuerza bruta a las contraseñas y otros requieren que un administrador desbloquee la cuenta.
Se aconseja activar el bloqueo en las cuentas administrativas, al menos para acceder a la red.
Esto no permitirá que la cuenta se bloquee desde la consola, solamente desde la red Es posible que esta
solución no sea adecuada para todas las empresas, particularmente aquellas con sitios remotos.
En tales casos, lo más adecuado es que un administrador desbloquee la cuenta, de este modo se evita
que los ataques pasen desapercibidos durante un largo tiempo si no se dispone de otros medios para
detectar fallas de autenticación. Cuando se pongan en práctica controles de bloqueo de cuenta, siga las
normas siguientes:
+ Bloqueo de las cuentas administrativas y de acceso remoto después de 7 a 10 intentos de inicio de
sesión erróneos
+ Bloqueo de las cuentas de usuarios regulares tras al menos 10 intentos de inicio de sesión erróneos
+ Requerir la intervención de un administrador para desbloquear las cuentas de acceso remoto y de
administrador, y para reactivar automáticamente las cuentas de usuarios estándar al cabo de 5
minutos.
CREACIÓN DE CONTRASEÑAS PARA ADMINISTRADORES
Por lo general, las limitaciones para crear contraseñas de administradores deben ser más estrictas que
las que se aplican a las cuentas normales.
En Windows, debe crear contraseñas de 14 caracteres alfanuméricos que incluyan caracteres especiales
para las cuentas administrativas (y las cuentas de servicio).
PAQUETES DE ADMINISTRACIÓN
Cuando se utilizan paquetes de administración, debe robustecer y asegurar físicamente las consolas
administrativas.
Debe robustecer las terminales de trabajo de administración que controlan los servidores y dispositivos
de la red.
Use conexiones SSH o VPN para proteger los protocolos de texto sin encripción.
Las terminales de trabajo de administración deben estar dedicadas a administradores de red y hosts
específicos.
Pruebe todos los sistemas de administración que utilizan SNMP para asegurarse de que tengan los
parches más recientes y que no utilicen cadenas de conexión automáticas de la comunidad.
Los sistemas compartidos no almacenan datos de administración específica.
Las terminales de trabajo compartidas no se pueden usar para administrar hosts ni dispositivos de red.
ARCHIVO CON LA BITÁCORA DEL USO
Los archivos con la bitácora del uso se configuran para que graben las actividades planificadas sin
sobrescribir entradas.
Debe establecer un proceso automático de rotación de los archivos con la bitácora del uso cada día, así
como la descarga de los archivos a un servidor seguro en la red de administración.
Limite el acceso a los parámetros configurados y a los archivos con la bitácora del uso para evitar que
sean modificados o eliminados.
Los archivos con la bitácora del uso se deben revisar periódicamente para detectar actividades
sospechosas o anómalas.
La revisión debe extenderse al funcionamiento, mantenimiento y a la seguridad de los sistemas.
Para sacar más partido de esta revisión, debe utilizar un software de correlación de eventos y de análisis
de tendencias.
PROCESO DE CREACIÓN PARA PARCHES
Mantenga procesos de armado mediante los parches y configuraciones cerradas recomendadas del
fabricante.
Compruebe este proceso periódicamente.
Utilice procedimientos para robustecer los hosts con el objeto de corregir y configurar correctamente
los servicios y las aplicaciones de cada host.
Desactive todos los servicios y las aplicaciones que no necesite.
Deben robustecerse las terminales de trabajo instalando los parches recomendados, retirando también
todos los paquetes y servicios que no sean necesarios y evaluando los permisos de los archivos.
Incluya medidas de robustecimiento de los hosts en los procedimientos estándar de creación de
terminales de trabajo.
Terminales de trabajo
Las terminales de trabajo son un elemento fundamental en la defensa de cualquier ambiente, sobre
todo si hay usuarios remotos o itinerantes que se estén conectando.
Herramientas como firewalls particulares, antivirus y software de acceso remoto son imprescindibles en
todas las terminales, donde deberán configurarse correctamente.
Ponga en práctica un procedimiento que exija una revisión periódica de estas herramientas para
asegurarse de que la configuración refleje los cambios en las aplicaciones y los servicios usados y que, al
mismo tiempo, garantice la solidez de la terminal de trabajo ante los ataques.
TIEMPO DE INACTIVIDAD EN APLICACIONES CRÍTICAS
Colabore con los propietarios de las empresas para definir el tiempo de inactividad aceptable en las
aplicaciones críticas. A partir de estos resultados, tome las medidas oportunas para cumplir o incluso
mejorar los objetivos.
La disponibilidad y el rendimiento de las aplicaciones Web mejoran con la utilización de dispositivos de
equilibrio de carga en los primeros niveles de los servidores Web.
Los dispositivos de equilibrio de carga distribuyen las solicitudes a nodos diferentes dentro del clúster
del servidor con el objetivo de optimizar el rendimiento del sistema.
Si falla un servidor Web en el clúster, se envía la solicitud a otro servidor, lo que garantiza una alta
disponibilidad. Póngase de acuerdo con los propietarios de las empresas para definir el tiempo de
inactividad aceptable en las bases de datos y los archivos compartidos críticos.
Pruebe con regularidad los mecanismos a prueba de fallas para las aplicaciones y determine si el tiempo
de inactividad es excesivo.
Para minimizar el tiempo de inactividad, debe utilizar un mecanismo de clúster.
Cada aplicación en clúster está en el mismo dominio de seguridad, es decir, comparte una base de datos
de usuario y grupo común.
Las operaciones de administración dentro de un clúster de equipos y dentro de una aplicación surten
efecto tanto en la aplicación como en los homólogos.
Las aplicaciones que dependen de un conocimiento especial del ambiente de clúster, por ejemplo, por
interacción con dispositivos de equilibrio de carga, reconocen y controlan todas las condiciones de
excepción previsibles.
Las respuestas adecuadas pueden ser avisar al equipo de operaciones o probar la resistencia ante fallas.
La estrategia de copias de respaldo debe abordar el problema más grave que podría presentarse: la
restauración de todos los sistemas y aplicaciones.
Para aplicaciones críticas, el proceso de restauración debe realizarse en un tiempo mínimo y con
garantías de un funcionamiento pleno.
Pruebe regularmente el mecanismo de recuperación y de copias de respaldo que permite restaurar la
aplicación a un estado normal de funcionamiento.
ACTUALIZACIONES Y PARCHES DE TERCEROS
Las empresas de desarrollo de software (ISV por sus siglas en inglés) deben ofrecer actualizaciones y
parches periódicos para sus aplicaciones, en las que se explique su finalidad y el impacto en términos de
funcionalidad, configuración y seguridad. Los ISV deben identificar claramente cuáles son los parches
más importantes para que se apliquen rápidamente.
Asimismo, deben describir los distintos mecanismos de seguridad de la aplicación y proporcionar la
documentación más reciente.
La empresa debe conocer las configuraciones necesarias para garantizar el nivel de seguridad más alto.
ACTUALIZACIONES Y PARCHES INTERNOS
El equipo de desarrollo interno debe proporcionar las actualizaciones y los parches, e indicar cuál es su
finalidad y el impacto en términos de funcionalidad, configuración y seguridad.
El equipo de desarrollo debe identificar claramente cuáles son los parches más importantes para que la
empresa pueda instalarlos rápidamente.
El equipo de desarrollo debe describir los distintos mecanismos de seguridad de la aplicación y
proporcionar la documentación más reciente.
La empresa debe conocer las configuraciones necesarias para garantizar el nivel de seguridad más alto.
Considere la posibilidad de contratar servicios externos independientes para revisar la arquitectura y
utilización de la aplicación y para identificar los problemas de seguridad que pudieran existir.
PARCHES PARA VULNERABILIDADES DE SEGURIDAD CONOCIDAS
Debe identificar y corregir todas las vulnerabilidades de seguridad conocidas.
Visite los sitios de los fabricantes y otros proveedores de soluciones de seguridad para buscar
información sobre nuevas vulnerabilidades y parches disponibles.
Si no hay parches disponibles para vulnerabilidades de seguridad conocidas, intente averiguar cuándo
podrá disponer de uno y desarrolle un plan de seguridad provisorio.
Puede contratar servicios externos independientes para revisar regularmente el diseño de seguridad de
la aplicación.
Una evaluación realizada por terceros podría descubrir otros problemas que exijan mecanismos de
seguridad adicionales.
Descargar