Trabajo de Seguridad de redes

16
Ejercicios de Seguridad en Redes. Firewalls y túneles cifrados 1. Establecer el entorno virtualizado. Arrancar las instancias VirtualBOX (desde la interfaz gráfica o desde la línea de comandos) VBoxManage startvm FUERA VBoxManage startvm DENTRO VBoxManage startvm DMZ VBoxManage startvm FIREWALL3 Comprobar redes Establecidas Comprobar las redes haciendo ping a las otras máquinas firewall3:~# ping 193.147.87.33 firewall3:~# ping 10.10.10.11 firewall3:~# ping 10.20.20.22 Arrancar los servicios a utilizar (el servidor SSH está activado por defecto).

description

Puertos, FIREWALLS

Transcript of Trabajo de Seguridad de redes

Ejercicios de Seguridad en Redes. Firewalls y túneles cifrados

1. Establecer el entorno virtualizado.

Arrancar las instancias VirtualBOX (desde la interfaz gráfica o desde la línea de comandos) VBoxManage startvm FUERAVBoxManage startvm DENTROVBoxManage startvm DMZVBoxManage startvm FIREWALL3

Comprobar redes EstablecidasComprobar las redes haciendo ping a las otras máquinas

firewall3:~# ping 193.147.87.33firewall3:~# ping 10.10.10.11firewall3:~# ping 10.20.20.22

Arrancar los servicios a utilizar (el servidor SSH está activado por defecto).

Ejercicio 1: Configuración de una DMZ (DeMilitarized Zone) usando el Firewall netfilter/iptables.

Tareas a realizarRestricciones de acceso a implementar

1. Enmascaramiento (SNAT) de la red interna (10.10.10.0/24) y de la DMZ (10.20.20.0/24).

2. Re direccionamiento (DNAT) de los servicios públicos que ofrecerá la red hacia la maquina dentro (10.20.20.22) de la DMZ.a) peticiones WEB (http y https)b) tráfico de correo saliente (smtp) y entrante (pop3)

3. Control de tráfico con política "denegar por defecto" (DROP)

a) Desde la red externa solo se permiten las conexiones hacia la DMZ contempladas en las redirecciones del punto anterior (http, https, smtp, pop3).

b) desde la red interna hacia la red externa solo se permite trafico de tipo WEB y SSH

c) desde la red interna hacia la DMZ solo se permite trafico WEB (http, https), e-mail (smtp, pop3) y SSH

d) desde la maquina dmz (10.20.20.22) se permiten conexiones MySQL hacia la maquina dentro (10.10.10.11) de la red interna

e) se permite la salida a la red externa de las consultas DNS originadas en la red interna

f) Firewall solo admite conexiones SSH desde la red interna

4. Registro (log) de intentos de acceso no contemplados desde red externa a Firewall3 (193.147.87.47) y a equipos internos con la etiqueta Acceso no autorizado

5. Limitar el trafico de control ICMP recibido desde la red externa para mitigar posibles ataques DOS (denial of service).

Pasos a seguir:

Comprobar la configuración actual de Firewall3

Comprobar servicios abiertos

Esquema general del script a emplearScript de partida ("Firewall-iptables.sh")Añadir reglas para establecer NAT y habilitar redirecciones

eth0: interfaz conectado a la red interna (10.10.10.0/24) eth1: interfaz conectado a la red DMZ (10.20.20.0/24) eth2: interfaz conectado a la red externa (193.147.87.0/24)

ComprobacionesComprobar la configuración actual de firewall

firewall3:~# iptables -L firewall3:~# iptables -t nat -L

En fuera (193.147.87.33), verificar las conexiones establecidas actualmente

Script Final ("Firewall-iptables.sh")

Añadir las siguientes reglas para filtrado de trafico:

Comprobaciones

Lanzar el script del Firewalllfirewall3:~# /root/iptables/firewall-iptables.sh start

Comprobar la configuración actual de firewall

firewall3:~# iptables -Lfirewall3:~# iptables -t nat –L

Realizar conexiones ssh a Firewall3 desde fuera (193.147.87.33), dentro (10.10.10.11) y dmz (10.20.20.22)

Otra posibilidad (mas rapida): realizar escaneo nmap al puerto 22.

Realizar conexión telnet desde dentro (10.10.10.11) hacia fuera (193.147.87.33)

Comprobar el Fichero de log (/var/log/syslog) de Firewall2

Comprobar servicios abiertos

Ejercicio 2: Uso de enlaces cifrados OpenVPN y configuración del Firewall ShorewallParte 1: Creación de un enlace OpenVPNSe creara un enlace cifrado OpenVPN desde la maquina _rewall3 (193.147.87.47) a la maquina externa fuera (193.147.87.33). Se usara un esquema SSL completo.Usaremos el modo de funcionamiento de OpenVPN \roadwarrior\, donde un servidor OpenVPN crea enlaces cifrados para equipos autorizados situados en redes externas.La autenticación se realizara mediante certificados digitales (la otra posibilidad sera emplear cifrado simétrico con claves secretas estáticas pre acordadas)A las maquinas que se conecten por VPN se les asignaran direcciones IP del rango 10.30.30.0/24, donde la maquina Firewall3 (el servidor OpenVPN) tendra la IP 10.30.30.1Para simplificar el ejercicio se usaran las claves y certificados de ejemplo que provee OpenVPN. En un entorno real no se podrán usar esas claves, sino que deberíamos generar las nuestras propias.Claves de ejemplo: /usr/share/doc/openvpn/examples/sample-keys/Certificados y claves necesarias:Para el servidor:

certificado digital de la Autoridad Certificadora (CA) reconocida por ambos participantes: ca.crt

clave privada del servidor: server.key certificado digital del servidos: server.crt (emitido por la CA) parámetros para intercambio de clave Di_e-Hellam: dh1024.pem

Para cada uno de los clientes que se conecten con OpenVPN:

certificado digital de la Autoridad Certificadora reconocida por ambos participantes: ca.crt

clave privada del servidor: client.key certificado digital del servidor: client.crt (emitido por la CA)

Pasos a seguirPrevio: Deshabilitar el Firewall del ejercicio1

firewall3:~# /root/iptables/firewall-iptables.sh stop (importante)

Copiar las claves/certificados necesarios al directorio /etc/openvpn :

Crear el fichero de configuracion del servidor: Se usara como base el ejemplo disponible en /usr/share/doc/openvpn/examples/sample-config-files/

Editar los parámetros concretos para nuestros túneles VPN

Configuración de los clientes: en la maquina fuera (193.147.87.33) Copiar las claves/certificados necesarios al directorio /etc/openvpn :

Crear el fichero de configuración del cliente Se usara como base el ejemplo disponible en /usr/share/doc/openvpn/examples/sample-config-files/

Editar los parámetros concretos para nuestros túneles VPN

Crear el túnel OpenVPN

Inciar OpenVPN en servidor (firewall3), ejecutar /etc/init.d/openvpn start Inicar OpenVPN en cliente (fuera), ejecutar /etc/init.d/openvpn start

En ambos extremos del túnel cifrado se crea un interfaz de red "virtual" /dev/tun0 por el que se accede al enlace cifrado que conforma la red privada virtual.

Un interfaz tun (también los interfaces tap) simula un dispositivo de red ethernet, pero en lugar de enviar los datagramas Ethernet sobre un cable de red, los encapsula dentro de los paquetes de una conexión TCP/IP establecida.

En nuestro caso se trata de una conexión SSL al puerto 1194 UDP de la maquina firewall3

El enlace OpenVPN definirá la red 10.30.30.0/24

El servidor tendrá la dir. IP 10.30.30.1 A los clientes se les asignaran direcciones a partir de 10.30.30.6 El gateway (puerta de enlace) de los clientes conectado por VPN será

10.30.30.5, que reenviara a 10.30.30.1Se puede comprobar la configuración en ambos extremos con ifconfig –a

En este caso las rutas hacia las dos "redes internas" (red dmz y red interna) se "inyectan" en el cliente VPN al crear el túnel.

La ruta por defecto de los equipos internos usa como gateway a firewall3 que a su vez conoce la ruta hacia las maquinas clientes VPN

Por ello, en este caso concreto no es necesario indicar rutas adicionales para que los equipos dentro y dmz respondan y se comuniquen con los clientes OpenVPN

Para el equipo _rewall3 tendremos 4 redes:

10.10.10.0/24: red interna en el interfaz eth010.20.20.0/24: red dmz en el interfaz eth110.30.30.0/24: equipos externos conectados sobre VPN en el interfaz "virtual" tun0 red externa en el interfaz eth2.

Parte 2: Configuración del firewall con Shorewall (Shoreline Firewall)

Pasos a seguir

Copiamos y descomprimimos los ficheros de configuración en el directorio de configuración de Shorewall (/etc/shorewall/)

Configurar las zonas (/etc/shorewall/zones) [lo dejaremos como esta]firewall3:/etc/shorewall# leafpad zones.

Configurar los interfaces (/etc/shorewall/interfaces).Ajustar los interfaces de red de cada zona para que se ajusten a nuestra configuracion (en columna INTERFACE)firewall3:/etc/shorewall# leafpad interfaces

Definir las politicas (/etc/shorewall/policy)firewall3:/etc/shorewall# leafpad policy

Definir enmascaramiento (/etc/shorewall/masq)firewall3:/etc/shorewall# nano masq

Implementaremos parte de las restricciones de tráfico descrita en el ejercicio 1: Se re direccionan todos los servicio públicos (http, https, smtp y pop3) que

ofrecerá nuestra red hacia la DMZ (en nuestro caso a la maquina 10.20.20.22) Se permite acceso del servidor web de la DMZ (en 10.20.20.22) al servidor MySQL

de la red interna (en 10.10.10.11) Se permite el acceso desde la red interna a los servidores públicos (web y correo)

alojados en la DMZ. Añadiremos al final del _chero (antes de la l__nea #LAST LINE ....) las reglas que las implementan.firewall3:/etc/shorewall# nano rules

Ajustar el fichero de configuracion de Shorewall (/etc/shorewall/shorewall.conf)

Como mínimo debe establecerse la variable STARTUP ENABLED a yes, para que el compilador Shorewall procese los _cheros y genere las reglas iptables.También debe habilitarse el forwarding de paquetes: Asegurar que la variable IP FORWARDING esta a on (o Keep si se garantiza que se habilita ip forwarding antes de iniciar el firewall)firewall3:/etc/shorewall# nano shorewall.conf

Arrancar Shorewall y comprobar las reglas generadasfirewall3:~# iptables -t nat -L

Pruebas a realizar Antes de hacer las pruebas: habilitar acceso exterior a MySQL en la maquina

dentro(10.20.20.22) (comentar la línea donde aparece bind-address 127.0.0.1)

Desde fuera (193.147.87.33):

Desde dmz (10.10.10.11):dmz~# nmap -T4 10.10.10.11

Parte 3: Integracion del enlace OpenVPN con Shorewall

Pasos a seguir Crear una nueva zona (road) para los clientes conectado con OpenVPN en el _chero

/etc/shorewall/zonesfirewall3:/etc/shorewall# nano zones

Asociar el interfaz tun0 a la zona road en el fichero /etc/shorewall/interfacesfirewall3:/etc/shorewall# nano zones

Definir las políticas y reglas que afectan a los clientes OpenVPNHaremos que los equipos conectados por openVPN (zona road) tengas las mismas restricciones/privilegios que los de la red interna (zona loc).firewall3:/etc/shorewall# nano policy

Fichero /etc/shorewall/rulesReplicar las entradas correspondientes a la zona loc, cambiando su campo zona de loc a road. firewall3:/etc/shorewall# nano rules

Dar de alta el tunel OpenVPN /etc/shorewall/tunnelsComprobar la configuracion del firewall y el funcionamiento del tunel OpenVPN

Reiniciar el servidor OpenVPN en firewall3firewall3~# /etc/init.d/openvpn restart

Arrancar el cliente OpenVPN en fuerafuera~# /etc/init.d/openvpn restar