Vous êtes sur la page 1sur 15

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

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

Registro (log) de intentos de acceso no contemplados desde red externa a Firewall3 (193. Tareas a realizar Restricciones de acceso a implementar 1.22) de la DMZ.22) se permiten conexiones MySQL hacia la maquina dentro (10. a) peticiones WEB (http y https) b) tráfico de correo saliente (smtp) y entrante (pop3) 3.0/24) y de la DMZ (10. Limitar el trafico de control ICMP recibido desde la red externa para mitigar posibles ataques DOS (denial of service). 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.10.87.47) y a equipos internos con la etiqueta Acceso no autorizado 5.0/24). 2.20.20.20.147.20. pop3) y SSH d) desde la maquina dmz (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. e-mail (smtp. https).20. 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. pop3). Enmascaramiento (SNAT) de la red interna (10.10.20.10. Re direccionamiento (DNAT) de los servicios públicos que ofrecerá la red hacia la maquina dentro (10. https. smtp.10. Pasos a seguir:  Comprobar la configuración actual de Firewall3 .

10.sh") Añadir reglas para establecer NAT y habilitar redirecciones  eth0: interfaz conectado a la red interna (10.10. Comprobar servicios abiertos  Esquema general del script a emplear Script de partida ("Firewall-iptables.0/24) .

  eth1: interfaz conectado a la red DMZ (10.33).0/24) Comprobaciones Comprobar la configuración actual de firewall  firewall3:~# iptables -L  firewall3:~# iptables -t nat -L En fuera (193. verificar las conexiones establecidas actualmente .87.147.87.0/24) eth2: interfaz conectado a la red externa (193.20.147.20.

Script Final ("Firewall-iptables.sh start Comprobar la configuración actual de firewall firewall3:~# iptables -L firewall3:~# iptables -t nat –L .sh")  Añadir las siguientes reglas para filtrado de trafico: Comprobaciones Lanzar el script del Firewalll firewall3:~# /root/iptables/firewall-iptables.

dentro (10.20.10.22) Otra posibilidad (mas rapida): realizar escaneo nmap al puerto 22.20.33).10.87.147. .11) y dmz (10. Realizar conexiones ssh a Firewall3 desde fuera (193.

Realizar conexión telnet desde dentro (10.87.33) Comprobar el Fichero de log (/var/log/syslog) de Firewall2 Comprobar servicios abiertos .10.10.11) hacia fuera (193.147.

87. Usaremos el modo de funcionamiento de OpenVPN \roadwarrior\.33). donde un servidor OpenVPN crea enlaces cifrados para equipos autorizados situados en redes externas.87.Ejercicio 2: Uso de enlaces cifrados OpenVPN y configuración del Firewall Shorewall Parte 1: Creación de un enlace OpenVPN Se creara un enlace cifrado OpenVPN desde la maquina _rewall3 (193.30.47) a la maquina externa fuera (193.147.crt (emitido por la CA)  parámetros para intercambio de clave Di_e-Hellam: dh1024. 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.crt  clave privada del servidor: server.30.crt .1 Para simplificar el ejercicio se usaran las claves y certificados de ejemplo que provee OpenVPN.147. En un entorno real no se podrán usar esas claves.30.pem Para cada uno de los clientes que se conecten con OpenVPN:  certificado digital de la Autoridad Certificadora reconocida por ambos participantes: ca.30.key  certificado digital del servidos: server. 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. sino que deberíamos generar las nuestras propias. Se usara un esquema SSL completo.0/24. donde la maquina Firewall3 (el servidor OpenVPN) tendra la IP 10.

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/sampleconfig-files/  Editar los parámetros concretos para nuestros túneles VPN  Configuración de los clientes: en la maquina fuera (193.33)  Copiar las claves/certificados necesarios al directorio /etc/openvpn : .crt (emitido por la CA) Pasos a seguir Previo: Deshabilitar el Firewall del ejercicio1 firewall3:~# /root/iptables/firewall-iptables.147.key certificado digital del servidor: client.87.  clave privada del servidor: client.

6 El gateway (puerta de enlace) de los clientes conectado por VPN será 10. pero en lugar de enviar los datagramas Ethernet sobre un cable de red.30.30. IP 10.30. ejecutar /etc/init.30. Un interfaz tun (también los interfaces tap) simula un dispositivo de red ethernet.0/24 El servidor tendrá la dir. ejecutar /etc/init.30.30.30.d/openvpn start Inicar OpenVPN en cliente (fuera).30. que reenviara a 10. 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.1 Se puede comprobar la configuración en ambos extremos con ifconfig –a    . los encapsula dentro de los paquetes de una conexión TCP/IP establecida.5.30.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.1 A los clientes se les asignaran direcciones a partir de 10. Crear el fichero de configuración del cliente Se usara como base el ejemplo disponible en /usr/share/doc/openvpn/examples/sampleconfig-files/  Editar los parámetros concretos para nuestros túneles VPN Crear el túnel OpenVPN   Inciar OpenVPN en servidor (firewall3).30.

0/24: equipos externos conectados sobre VPN en el interfaz "virtual" tun0 red externa en el interfaz eth2.20.20. 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. smtp y pop3) que ofrecerá nuestra red hacia la DMZ (en nuestro caso a la maquina 10. 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. Configurar los interfaces (/etc/shorewall/interfaces).20.    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.10. https.30.0/24: red interna en el interfaz eth0 10.0/24: red dmz en el interfaz eth1 10.22) .20.10. 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.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.30.

22) al servidor MySQL de la red interna (en 10.10..conf) Como mínimo debe establecerse la variable STARTUP ENABLED a yes. Añadiremos al final del _chero (antes de la l__nea #LAST LINE .11) Se permite el acceso desde la red interna a los servidores públicos (web y correo) alojados en la DMZ. 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. firewall3:/etc/shorewall# nano rules Ajustar el fichero de configuracion de Shorewall (/etc/shorewall/shorewall. para que el compilador Shorewall procese los _cheros y genere las reglas iptables.20.conf Arrancar Shorewall y comprobar las reglas generadas firewall3:~# iptables -t nat -L .20.) las reglas que las implementan.10.  Se permite acceso del servidor web de la DMZ (en 10...

10.0.33):  Desde dmz (10.11): dmz~# nmap -T4 10.1)  Desde fuera (193.10.11 Parte 3: Integracion del enlace OpenVPN con Shorewall .20.0.Pruebas a realizar  Antes de hacer las pruebas: habilitar acceso exterior a MySQL en la maquina dentro(10.22) (comentar la línea donde aparece bindaddress 127.10.10.147.87.20.

firewall3:/etc/shorewall# nano policy  Fichero /etc/shorewall/rules Replicar las entradas correspondientes a la zona loc.d/openvpn restart .Pasos a seguir  Crear una nueva zona (road) para los clientes conectado con OpenVPN en el _chero /etc/shorewall/zones firewall3:/etc/shorewall# nano zones  Asociar el interfaz tun0 a la zona road en el fichero /etc/shorewall/interfaces firewall3:/etc/shorewall# nano zones  Definir las políticas y reglas que afectan a los clientes OpenVPN Haremos 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 rules Dar de alta el tunel OpenVPN /etc/shorewall/tunnels Comprobar la configuracion del firewall y el funcionamiento del tunel OpenVPN  Reiniciar el servidor OpenVPN en firewall3 firewall3~# /etc/init. cambiando su campo zona de loc a road.

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