TE SALTAS LA DMZ? Será si Puedes.. MEJORES PRÁCTICAS DE SEGURIDAD EN DMZ
Arquitectura DMZ
El objetivo de este post es establecer las políticas de seguridad no en la configuración de los dispositivos que se encuentran dentro de la DMZ , sino de la DMZ en sí, con el fin minimizar riesgos ante posibles intentos de acceso no autorizados por usuarios malintencionados a los datos que se encuentren disponible en una DMZ.
Se han
analizado todas las configuraciones de seguridad en DMZ ‘s estableciendo así el
mejor bastionado posible en todo el perímetro de seguridad minimizando al
máximo el espectro de exposición al ataque así como la entropía de éxito del
mismo a zonas desmilitarizadas.
QUE ES UNA DMZ
Una zona DMZ se conoce como una zona
desmilitarizada, es decir, una zona segura que no está dentro de nuestra red
local, pero que tampoco es externa a nuestra empresa. Por lo tanto, se
plantea como un paso intermedio entre nuestra red y el acceso a Internet
Dichas modificaciones se estructuran comúnmente en tres
etapas:
- Primera etapa se centra en cerrar los puertos de aquellos servicios que escuchan por defecto y que no se requieren para las necesidades solicitadas para dicho servidor.
- Segunda etapa consiste en fortalecer la configuración de los servicios que si se necesitan mediante la restricción de los usuarios que pueden acceder a los servicios, restricción de ordenes que pueden realizar, control y filtrado de los datos que se le envían al servidor (Cross Site Scripting , SQL Injection, LFI, RFI, SSI etc..), política de actualizaciones etc
- Tercera etapa se centra en instalar el servidor en la red DMZ, la cual dispone de mínimo un firewall que restringe el acceso de las máquinas externas hacia la DMZ.
Para que estas tres etapas sean cumplidas se debe observar
lo siguiente:
1-Restringir el
acceso vía red de los servidores.
Normalmente y tal como se ha comentado se suele situar
un firewall en la entrada a la red DMZ, pero las reglas de
los firewall no suelen contener ningún tipo de restricciones
de conexión entre los servidores.
2- Conjunto de reglas
que no permitan que exista tráfico entre ambas máquinas
Si un servidor no debe tener ningún tipo de tráfico con otro
servidor de la DMZ, se debe establecer un conjunto
de reglas que no permitan este tráfico.
De no ser así, si un atacante consigue el control de una
máquina de la DMZ, podrá atacar al resto de máquinas desde dicho servidor sin
que el tráfico sea filtrado.
3- Emplear envolturas
y reglas de filtrado a nivel del servidor (local)
En caso de que el
router fuera atacado, el servidor no estaría desprotegido.
4- Fortalecer la configuración de los
servicios que si se necesitan
5-Restricción de los
usuarios que pueden acceder a los servicios
6-Cerrar los puertos
de aquellos servicios que escuchan por defecto
7-Control y filtrado
de los datos que se le envían al servidor
Si el servidor está prestando servicios a internet se tendrán
que filtrar los datos que van por GET en
URL y POST para evitar ataques tales
como Cross Site Scripting , SQL
Injection, LFI, RFI, SSI etc..
8-Política de actualizaciones.
Se seguirán las mismas políticas de actualizaciones de
seguridad pero se incluirán TODAS las actualizaciones y parches de seguridad,
ya que se está dando servicios al exterior y el espectro de ataque en
superficie es exponencialmente mayor.
Se atenderán especialmente las actualizaciones de seguridad,
críticas o no de los servidores IIS si se tuvieran, así como webmail u otros
servicios que se prestaran.
9-Restringir permisos
únicamente a aquellos ficheros y directorios que realmente se requieran
10-La
comunicación entre la Lan y la DMZ deberá hacerse a través del router y firewall
En la red que da servicio a la DMZ introduciremos servicios vitales para nuestra empresa pero que necesitan ser accedidos desde el exterior como pueden ser el correo electrónico, servidor web o nuestro servicio de DNS.
De esta manera quedamos más protegidos que si estuvieran
integrados en la red local.
11-No disponer de
herramientas de desarrollo como compiladores, interpretes de shell,
desensambladores, etc. sin restringir el acceso a ellos.
Si no se restringe qué usuarios pueden tener acceso a dichas
herramientas cualquier atacante que haya entrado en el sistema, aunque sea con
un usuario con pocos privilegios, podría usar dichas herramientas para intentar
explotar una elevación de privilegios.
(Existe el
error de pensar que un fallo de seguridad no es grave si solo se puede explotar
de forma local, y por eso se establece este punto)
12-Cada módulo proxy precisa autenticación
adicional, previo acceso del usuario al servicio (auditoría del tráfico de cada conexión).
13-Cada módulo proxy
(paquete software) no debe efectúar accesos a disco, salvo la lectura de la
configuración inicial, de forma que dificulte la instalación de troyanos y ‘sniffers’.
14-Cada servicio de
la máquina debe ejecutarse con un usuario/grupo propio y único para dicho servicio
15-Principio del Mínimo
Privilegio.
Que dicho usuario/grupo tenga el menor número de permisos posibles.
Si se consigue explotar una vulnerabilidad en un servicio,
aunque dicho servicio no sea crítico
las órdenes que el atacante quiera realizar se harán con los permisos del
usuario y grupo con que se haya ejecutado el servicio atacado.
-En un servidor
Windows donde todos sus servicios se ejecutan con usuario SYSTEM, si un
atacante consigue introducir una shellcode en un buffer
overflow en un servicio, por muy poco critico que sea dicho servicio,
como puede ser un servicio NTP, habiendo obtenido una shell por
un fallo en dicho servicios, tendremos control total sobre el resto de
servicios de la máquina.
16-Restringir dichos
permisos únicamente a aquellos ficheros y directorios que realmente se
requieran
17-Sistema de copias
de seguridad de la DMZ.
Se tendrán copias de seguridad para la recuperación
inmediata de la DMZ en caso de desastre, robo o pérdidas de información.
18-Red de detección
de intrusos
La DMZ deberá contar con sondas IDS que monitoricen la
actividad de posibles intrusos en tiempo real
19-Un sistema de
integridad de los datos (aide, tripwire…)
Se protegerá la integridad de los datos como parte de los
tres elementos clave de seguridad: confidencialidad, integridad y
disponibilidad (CIA)
20-Sistema de logs
locales
21-Sistema de logs
centralizados.
22- Screened-Subnet Firewall System
Con el fín de contar con la mayor seguridad posible se
establecerá el siguiente modelo de defensa en DMZ para maximizar la seguridad.
Screened-Subnet Firewall System <Single / Dual Homed Bastion Host>
1-En este diseño se
intenta aislar la máquina más atacada y vulnerable del Firewall, el
Nodo Bastión.
2-Para ello se establece una Zona Desmilitarizada (DMZ)
de forma tal que sin un intruso accede a esta máquina no consiga el acceso
total a la subred protegida.
3- Esta DMZ más segura implicaría tener dos cortafuegos
a-El
primero (llamado "front-end") debe permitir el tráfico únicamente
del exterior a la
DMZ.
b-El segundo (llamado "back-end")
permite el tráfico únicamente desde la DMZ a la red interna.
4- Estos firewalls deben llevar distintas tecnologías
a-Un Firewall basado en hardware, un appliance de seguridad, situado como
frontal
b-Un Firewall basado en software entre nuestra red
local y la DMZ.
Ventajas:
- Ocultamiento de la información: los sistemas externos no deben conocer el nombre de los sistemas internos. El Gateway de aplicaciones es el único autorizado a conectarse con el exterior y el encargado de bloquear la información no solicitada o sospechosa.
- Registro de actividades y autenticación robusta: El Gateway requiere de autenticación cuando se realiza un pedido de datos externos. El registro de actividades se realiza en base a estas solicitudes.
- Reglas de filtrado menos complejas: Las reglas del filtrado de los paquetes por parte del Router serán menos compleja dado a que él sólo debe atender las solicitudes del Gateway.
Nota: Es posible definir varios niveles de DMZ agregando más Routers, pero destacando
que las reglas aplicadas a cada uno deben ser distintas ya que en caso
contrario los niveles se simplificarían a uno solo.
Si asumimos que el atacante ha conseguido hacer el “bypass”
de uno de los Firewall dentro del esquema ‘Screened-Subnet Firewall System’ y
si se han seguido todas la medidas anteriormente descritas, un atacante tendría
que realizar los siguientes ataques consecutivos y con éxito en cada uno para
pasar al siguiente ataque (y así sucesivamente) logrando su objetivo como se
observa en el siguiente esquema de
ataque a un servidor Windows en DMZ
Ataque 1-Al segundo Firewall y hacer “Bypass” del mismo
Ataque 2-Al servidor de copias de
seguridad
Ataque 3-Al servidor de integridad de los
datos
Ataque
4-A la red de detección de
intrusos
Ataque 5-Modificar los logs del sistema
Ataque
6-Modificar los ‘logs’ del
servidor de logs centralizados.
Ataque 7-Por último y si el
atacante ha llegado hasta aquí, tendrá que
hacer un “Bypassing” del IDS y del IPS
/ HIPS ya que todos los ataques anteriores para que
tengan éxito se deberían
realizar sin que el IDS, IPS o HIPS o el
sistema de integridad de los datos notifiquen una alerta al gestor de eventos.
Como se puede apreciar, de esta manera se reduce al máximo el espectro de ataque buscando dos objetivos:
1-Disuadir al atacante de la ejecución del mismo ya que esta configuración en DMZ hace de por si
que el atacante pase a otro objetivo ante la dificultad de la enorme y
extremadamente difícil ‘tarea’ que se le presenta en esta DMZ.
2-Si aún así no se disuadiese, como se ha comentado en el
‘Ataque 7’, tendría que pasar inadvertidos ante el resto de medidas de
seguridad perimetral implementadas como IDS, IPS O HIPS algo que si es posible
pero con probabilidades de éxito más reducidas siendo interceptado y bloqueado por los sistemas de defensa
perimetral.
Un saludo
Live Free Or Die Hacking