2. Indice
3. Filtrado de paquetes 4. Reglas de filtrado Parte II. NETFILTER/ iptables
5. Mdulos NETFILTER 6. Interfaces, herramientas e informacin Parte III. Topologas de cortafuegos
7. Zonas desmilitarizadas 8. Indice
9. Configuracin de Shorewall Parte V. Uso de OpenVPN
10. Configuracin y uso de OpenVPN ANEXO: Uso deiptables 11. PARTE I. Cortafuegos
14. Cortafuegos (I)
15. Separa nuestra red interna ( equipos de confianza ) de los equipos externos ( potencialmente hostiles ) mediante el control del trfico 16. Deniega intentos de conexin no autorizados (en ambos sentidos) Finalidad:Prevencin de ataques desde exterior hacia equipos internos
17. Proteccin del propio equipo:firewalls personales 18. Cortafuegos (II) Tipos de controles realizados
19. Cortafuegos proporciona un software intermediario (Proxy) para cada servicio concreto a controlarControl de Usuarios:control de accesos en base al usuario concreto que pretende acceder 20. Control de Comportamiento: control de cmo se usan los servicios 21. Cortafuegos (II) Utilidad de los Cortafuegos (I)
22. prohibe entrada/salida de servicios potencialmente vulnerables 23. proteccin frente a ciertos ataques de suplantacin de IP ( IP spoofing ) 24. simplifica la administracin (punto nico de entrada) Ubicacin donde realizar supervisin de eventos de seguridad
25. Cortafuegos (III) Utilidad de los Cortafuegos (II)
software de auditoria y registro del uso de la red 26. plataforma para implantar pasarelas IPSec o similares (enlaces de redes virtuales privadas [VPN]) 27. plataforma donde centralizar sistemas de deteccin de intrusiones (ej.: SNORT) 28. plataforma para filtros de nivel de aplicacin (antivirus, SPAM) Limitaciones
29. No protegen contra amenazas internas 30. Pueden proporcionar una sensacin de falsa seguridad
31. seguridad en redes afecta a muchos aspectos 32. Tipos de Cortafuegos (I)
33. Filtrado basado en la informacin contenida en cada paquete recibido/enviado
34. filtro ''sin estado'':no tiene en cuenta si los paquetes son parte de una conexin Trabajan en los niveles de RED y TRANSPORTE de la pila TCP/IP
Uso de puertos estndar para bloquear servicios concretos 35. Integrados enrouters o en equipos dedicados. 36. Ejemplo en GNU/Linux:NETFILTER/ iptablesbsico 37. Tipos de Cortafuegos (II)
38. Estudian y reconocen los paquetes
39. que forman parte de conexiones establecidas 40. que estn relacionados con conexiones previas Permiten un control ms fino que los filtros sin estado 41. Ejemplo en GNU/Linux: NETFILTER/ iptablescon mdulos de seguimiento de conexiones ( connection tracking ) 42. Tipos de Cortafuegos (III)
43. bloqueo de aplicaciones no permitidas (las que no cuenten con Proxy) 44. control del trfico de las aplicaciones permitidas Proxy ''comprende'' el protocolo de una aplicacin concreta
45. permite limitar porciones concretas del protocolo 46. detectan uso de protocolos no permitidos en puertos estndar Mayor ''conocimiento'' sobre el trfico
Pueden ofrecer otros servicios de valor aadido (cach) 47. Ejemplos en GNU/Linux: Proxy-cache web SQUID 48. Filtrado de paquetes (I)
49. Trabaja en las capas Red (IP) y/oTransporte (TCP,UDP) 50. Suele implementarse como un elemento aadido a un router o como un equipo dedicado 51. Analizan cada paquete (antes de la decisin de enrutado) y aplican un conjunto de reglas para decidir si lo retransmite o lo descarta
52. decisin: aceptacin/rechazo Filtrado basado en la informacin contenida encada paquete concreto
53. normalmente no tienen en cuenta si son parte de una conexin 54. Filtrado de paquetes (II)
55. puertos de origen y destino (TCP, UDP) 56. tipo de protocolo: TCP, UDP, IMCP 57. interfaz de entrada o salida (en Cortafuegos con 3 o ms conexiones de red) 58. otra informacin:
59. indicadores especficos de protocolos de transporte El control de servicios se basa en el filtrado de los puertos estndar ( http://www.iana.org/assignments/port-numbers ) ftp21/tcpdns53/tcp,53/udprpc111/tcp,111/udp ssh22/tcpfinger 79/tcpldap389/tcp telnet 23/tcphttp80/tcphttps 443/tcp smtp25/tcppop3110/tcpmysql 3306/tcp 60. Reglas de filtrado Funcionamiento general
61. acciones:descartar, rechazar, retransmitir Reglas comprobadassecuencialmente(el orden importa) 62. Cuando hay una correspondencia, se invoca la accin 63. Si ninguna regla encaja, se aplica laaccin predeterminada
64. poltica conservadora, mayor nivel de proteccinaceptar por defecto:lo que no est expresamente prohibido, est permitido
65. poltica ms permisible, nivel de proteccin ms bajo 66. NETFILTER/ iptables(I)
67. traduccin de direcciones (NAT) 68. modificacin de paquetes Pgina del proyecto:http://www.netfilter.org iptableses una herramienta/aplicacin que hace uso de la infraestructura que ofrece NETFILTER para construir y configurar firewalls.
69. remplaza a herramientas anteriores:ifwadmin ,ipchains 70. puede usar las capacidades de seguimiento de conexiones NETFILTER paradefinirfirewalls con estado 71. PARTE II. NETFILTER/ iptables
74. NETFILTER/ iptables(II)
La herramienta de nivel de usuarioiptablespermite al administrador configurar las listas de reglas que usa el kernel para decidir qu hacer con los paquetes de red que maneja.
75. Tipicamente ese script residir en/etc/init.d/etc/rcX.dpara que sea ejecutado cada vez que arranca el sistemaOtras utilidades:iptables-save ,iptable-restore 76. Arquitectura NETFILTER/ iptables(I) Componentes NETFILTER/ iptables(I)
nat : Controla traduccin de direcciones (NAT:network address translation )
mangle : Controla los procesos de modificacin del contenido y las opciones de los paquetes.
Las reglas de cadatablase organizan encadenas , que se consultarn en momentos concretos del flujo de los paquetes 77. Arquitectura NETFILTER/ iptables(II) Componentes NETFILTER/ iptables (cont.)
78. 5cadenas predeterminadas , asociadas a momentos concretos del flujo de los paquetes
OUTPUT : reglas a aplicar sobre los paquetes originados en la propia mquina,
FORWARD : reglas a aplicar sobre los paquetes que atraviesan la mquina con destino a otras (paquetes en trnsito reenviados)
79. Arquitectura NETFILTER/ iptables(II) (cadenas predefinidas cont.)
POST-ROUTING:reglas aplicar sobre paquetes (propios o ajenos) recibidos de la red
80. usadas para SNAT ( source NAT )[enmascaramiento] Se pueden crear cadenas definidas por el usuario (comandoiptables -N cadena }, a las que se acceder desdereglas incluidas en alguna de las cadenas predeterminadas 81. Arquitectura NETFILTER/ iptables(III) Flujo de paquetes en NETFILTER/ iptables 82. Arquitectura NETFILTER/ iptables(IV) Funcionamiento de la reglas NETFILTER/ iptables
83. Dentro de cadacadenalas reglas se inspeccionan secuencialmente [el orden de reglas esMUYimportante] 84. Si el paquete encaja con las condiciones de una regla, se ejecuta la accin correspondiente y se abandona lacadena(se deja de mirar la cadena) 85. Si el paquete no encaja con ninguna regla, se le aplicapoltica por defectoque se haya asignado a esacadena .
86. al agotar las cadenas definidas por el usuario, se retorna a la cadena predeterminada que la activ 87. Mdulos NETFILTER adicionaes
88. http://www.netfilter.org/projects/patch-o-matic/index.html
Algunos ejemplos
89. Ipp2p : aporta capacidades para reconocer algunos tipos de trfico P2P (kazaa, edk, etc) 90. string : permite emplear reglas que analicen cadenas de texto presentes en la carga til de los paquetes procesdos Descripcin de mdulos disponibles (patches)
91. Interfaces, herramientas e informacin
92. FirewallBuilder:http://www.fwbuilder.org/ 93. KMyFirewall:http://www.kmyfirewall.org/ 94. Guardog:http://www.simonzone.com/software/guarddog/ Herramientas en modo texto
95. FireHOL:http://firehol.sourceforge.net/ 96. Dwall:http://dag.wieers.com/home-made/dwall/ Fuentes de informacin
97. Tutorial detallado:http://iptables-tutorial.frozentux.net/ 98. Tutorial prctico en espaol:http://www.pello.info/filez/firewall/iptables.html 99. PARTE III. Topologasde cortafuegos
101. Topologas bsicas de cortafuegos (I) Cortafuegos bsico de borde
102. Si se ve comprometido, todo el sistema se compromete Opcin 1: Router con filtrado de paquetes
103. Escasas posibilidades de monitorizacion Opcin 2: Equipo dedicado ( dual homed host )
104. Todas las conexiones pasan a traves de l 105. Puede integrar los Proxies precisos 106. Topologas bsicas de cortafuegos (II) Cortafuegos bsico de borde(cont.)
107. Idealmente, lodos los servicios al exterior se ofrecern nicamente desde el dualhomed host 108. Equipos de red interna y externa no deberan poderentrar en contacto directamente, sino a traves de un intermediario(Proxy) 109. Topologas bsicas de cortafuegos (III) Host oculto ( screened host )
110. alojar los servicios ofrecidos al exterior
nica mquina accesible desde el exterior ( host bastion )
111. Administracin delicada (es la base de la seguridad de este esquema)
112. actualizaciones de seguridad del S.O. + servidores 113. monitorizacin de ficheros de log 114. Topologas bsicas de cortafuegos (VI) Host inseguro ( untrusted host )[variante del anterior]
Ofrece los servicios pblicos sin debilitar la red interna
HOST OCULTO HOST INSEGURO 115. Zonas desmilitarizadas (I) Red de Permetro/Zona Desmilitarizada(DMZ)
Incrementa seguridad, fiabilidad y disponibilidad respecto a los esquemas anteriores 116. Los equipos internos siguen sin poder confiar en los equipos de la DMZ
La DMZ define una red de servicios pblicos
117. Puede incluir los proxies de aplicacin para la red interna 118. Zonas desmilitarizadas (II) DMZ con cortafuegos de 3 interfaces
119. Zonas desmilitarizadas (III) DMZ doble cortafuegos ( screened subnet )
120. cortafuegos interno ( de contencin ): bloquea/controla trfico no deseado de DMZ a red interna 121. Zonas desmilitarizadas (IV)
122. 2 niveles de seguridad(red DMZ + red interna) Trfico de exterior a red interna atraviesa 2 cortafuegos 123. Mayor tolerancia a fallos: evita puntos nicos de fallo
124. An comprometiendo un equipo de la DMZ, se contara con el cortafuegos de contencin Limitaciones:
125. sensacin de falsa seguridad Ventajas:
126. mayor flexibilidad: usar tantas DMZ como sea preciso, con distintos niveles de seguridad 127. PARTE IV. Uso de shorewall
129. Shorewall
Funciona de modo puntual, no continuo
Web del proyecto:http://shorewall.net/ Facilita la gestin de configuraciones de red complejas
130. Las polticas de filtrado y acceso se definen en base a esas zonas 131. Configuracin de Shorewall (I)
132. Fichero/etc/shorewall/zones
133. Existe una zona predefinida ( $FW ) asociada al propio firewall 134. Ejemplo ( three-interfaces ) #ZONETYPEOPTIONSIN_OPTIONSOUT_OPTIONS fwfirewall netipv4 locipv4 dmzipv4
136. Configuracin de Shorewall (II)
#ZONEINTERFACEBROADCASTOPTIONS neteth0detectdhcp,routefilter,norfc1918 loceth1detect dmzeth2detect
Ejemplos de opciones:
138. blacklist : interfaz no admite mquinas de una lista negra de mquinas prohibidas ( /etc/shorewall/blacklist ) 139. Configuracin de Shorewall (III)
#ZONEHOST(S)OPTIONS local1eth1:192.168.3.0/24 local2eth1:192.168.4.0/24
140. Las excepciones a las polticas por defecto se indican en el fichero/etc/shorewall/rules Funcionamiento del firewall definido por Shorewall
141. Si ninguna regla encaja se toma la accin que indique el fichero/etc/shorewall/policy 142. Configuracin de Shorewall (IV)
#SOURCEDESTPOLICYLOG LEVELLIMIT:BURST locnetACCEPT netallDROPinfo allallREJECTinfo
144. Configuracin de Shorewall (V)
145. Pueden definirse a nivel de zona o de direcciones dentro de una zona (loc:192.168.100.23) #ACTIONSOURCE DESTPROTO DEST-PORTSOURCE-PORTORIGINAL-DEST DNATnetloc:10.10.10.3 tcp80-130.252.100.69 REDIRECT loc3128tcpwww-!192.168.2.2 ACCEPTloc$FWtcp22 Acciones posibles: ACCEPT, NONAT, DROP, REJECT, DNAT, SAME, REDIRECT, CONTINUE, LOG, etc
146. Configuracin de Shorewall (VI) Traduccin de direcciones (SNAT y DNAT)
#INTERFACESOURCEADDRESS eth0192.168.1.0/24206.124.146.176 eth1eth2
148. Si no se indica direccin se usa la asociada al interfaz 149. NOTA:Asegurarse que en/etc/shorewall/shorewall.conftenga activada la redireccin ( IP_FORWARDING=On ) La redireccin de puertos (DNAT:destination-NAT ) se configura mediante reglas en/etc/shorewall/rules #ACTIONSOURCEDESTPROTODEST-PORT DNATnetdmz:10.10.10.23:80 tcp80
150. Configuracin de Shorewall (VII)
151. Define el tipo de VPN (IPsec, OpenVPN, ...) y si interfaz asociado Depuracin y ejecucin del firewall
152. $ shorewall clear : borra en memoria las reglas NETFILTER 153. $ shorewall trace start : arranca el firewall emitiendo traza de los pasos seguidos La distribucin de Shorewall incluye conjuntos de ficheros de configuracin de ejemplo, que sirven como punto de partida para crear el firewall.
154. PARTE V. Uso de OpenVPN
156. Redes Virtuales Privadas
157. Ejemplos tpicos:
158. Conexin segura de un usuario a la red interna desde equipos fuera de la red de la organizacin [VPN de acceso remoto] Evitan el uso de lineas dedicadas Tecnologas: IPSec, PPTP, L2TP, tneles SSH, OpenVPN 159. OpenVPN (I)
160. Web:http://www.openvpn.net Permite 3 modos de operacin:
161. Road Warrior:permite que un usuario se conecte al servidor OpenVPN desde fuera de la red propia y pueda acceder a sus recursos 162. Red a Red:permite que 2 redes separadas pueden comunicarse para formar una sla red
163. Trfico de comunicacin enviado sobre la red pblica va cifrado 164. OpenVPN(II)
165. En los equipos conectados se crearn interfaces de red virtuales ( tun0, tun1, ... ) para acceder a esa conexin
El trfico que reciban se enviar cifrado sobre la conexin SSL 166. OpenVPN(III)
167. Exige un mecanismo seguro para el intercambio previo de la clave y la proteccin de esa clave en ambos extremos Modo SSL : hace uso del mecanismo de establecimiento de sesiones SSL (basado en certificados digitales) para acordar una clave de sesin temporal que se usar para cifrar cada conexin concreta
Shorewall contempla la definicin de zonas VPN y el uso de los enlaces virtuales cifrados creados por OpenVPN 168. Enlacese informacin
169. Pgina de OpenVPN:http://shorewall.net/ Interfaces OpenVPN
170. OpenVPNControl:http://sourceforge.net/projects/openvpn-control/ 171. KVPN:http://home.gna.org/kvpnc Esquemas y manuales de configuracin Shorewall
172. Two-interface:http://shorewall.net/two-interface.htm 173. Three-interface:http://shorewall.net/three-interface.htm 174. Funcionamiento SSL/TLS
175. Inicalmente para proteger trfico HTTP, aplicable en otros protocolos. 176. Actualmente es el estndar TLS:Transport Later Security Protege el trfico empleando cifrado asimtrico, cifrado simtrico y HMAC(autenticacin de mensajes con HASH + clave secreta) , garantizando:
177. Confidencialidad de los mensajes: empleandocifrado simtricocon claves de cifrado negociadas/acordadas en cada conexin 178. Integridad y atenticidad de los mensajes: uso deHMACcon claves de autenticacin negociadas/acordadas en cada conexin Establecimiento de conexin:
179. Si son reconocidos: intercambiosegurodeclave secreta maestra(mediante cifrado asimtrico) Trfico de mensajes: cifrados + autenticados con claves de sesin generadas a partir de laclave secreta maestra 180. ANEXO. Uso deiptables 181. Uso deiptables(I) Esquema reglasiptables iptables-t tabla[COMANDO][CONDICIONES][OBJETIVO] Comandosiptables
182. -F/--flush cadenavaca una cadena 183. -Z/--zerocadena reinicia los contadores de una cadena 184. -P/--policy cadena DROP/ACCEPTestablece la poltica por defecto de una cadena
185. -D/--delete cadenaborra una regla de una cadena 186. -R/--replace cadenareemplaza una regla de una cadena 187. -I/--insertcadena inserta una regla de una cadena 188. Uso deiptables(II) Condicionesiptables
189. Direcciones IP
190. destino:-d/--destination( -d 10.10.10.47,-d 10.10.10.0/24 ) Interfaz( dispositivo por el que se ha recibido o por que que saldr un paquete )
[eninput, forward, pre-routing ]
[en out put, forward, post-routing ]
191. Uso deiptables(III) Condicionesiptables(cont.)
192. de destino:-dport/--destination-port 193. puede ser un nmero de puerto ( -sport 80 ), un nombre de servicio ( -sport http ) o un rango de puertos ( -sport 1024:65535 ) Control del estado de la conexin:
194. Soporte bsico para reglas de filtrado''con estado'' 195. Situacin del paquete respecto a la conexin a la que pertenece:
196. established:paquete que pertenece a una conex. vlida ya establecida 197. new : paquete mediante el cual se est creando una nueva conexin 198. related : paquetes que inician una nueva conexin que est asociada con otra ya establecida Otro mdulo para filtros con estado ( seguimiento de conexiones ):
199. Uso deiptables(IV) Condicionesiptables(cont.)
Direcciones MAC:-m mac mac-source ... 200. Lmites:
-m limit limit-burst [numero]
Utiles para limitar logs y realizar una deteccin y control bsico de posibles ataques de denegacin de servicio DoS( denial of service ) Nota:para expresar la negacin de una condicin en una regla se emplea el smbolo! -s ! localhost: el paquete no procede de la prpia mquina -dport ! ssh: todos los puertos destinos excepto el 23 (ssh) 201. Uso deiptables(V) Objetivosiptables
202. -j ACCEPT el paquete se acepta
-j DROP se rechaza el paquete (sin informar al origen) 203. -j REJECT reject-with [...] se rechaza el paquete, informando al origen con el mensajeicmpindicado 204. Uso deiptables(VI) Objetivosiptables(cont.)
205. Slo se puede invocar en la cadena POST-ROUTING -j MASQUERADE Tambin realiza SNAT, pero usando la dir. IP del propio equipo
206. Slo se puede invocar en la cadena POST-ROUTING -j DNAT to-destination Realiza DNAT( destination-NAT ) sobre los paquetes entrantes [ redireccionamiento de puertos ]
207. Slo se puede invocar en la cadena PRE-ROUTING(solo disponible en prerouting (y opcionalmente en OUTPUT) 208. Uso deiptables(VII) Objetivosiptables(cont.)
209. -j log crea entrada en el log del sistema [ /var/log/sysylog ]
-j ulog crea entrada en un log definido por usuario Objetivos definidos por el usuario
210. Para acceder a una cadena de usuario bastar incluir la accin-j micadenaen una regla de las cadenas predefinidas. 211. El paquete recorre las reglas de la cadena de usuario hasta encajar en las condiciones de alguna regla, ejecutando su accin 212. Si no encaja en ninguna regla, el paquete retorna a la cadena anterior desde la que accedi a la cadena de usuario. 213. Ejemplo IPTABLES
214. Una nica dir. IP pblica [193.147.87.47] 215. Interfaces del firewall:eth0(red externa),eth1(red interna)Servicios hacia el exterior (idealmente deberan ubicarse en DMZ)
216. Servidores corporativos de correo saliente ( smtp ) y entrante ( pop3 ) en 10.10.10.77 Restricciones sobre el firewall
217. Slo se permiten conexionesssh(puerto 22) que provengan de equipos de la red interna (para labores de administracin) Restriciones de trfico desde el interior
218. Todas los dems tipos de conexin estn autorizados 219. #!/bin/sh # Vaciar y reiniciar las tablas actuales iptables -F iptables -X iptables -Z iptables -t nat -F # Establecer politicas por defecto iptables -P INPUT DROP# descartar entradas al firewall iptables -P OUTPUT ACCEPT# aceptar salidas del firewall iptables -P FORWARD ACCEPT# aceptar reenvios a traves del firewall iptables -t nat -P PREROUTINGACCEPTiptables -t nat -P POSTROUTINGACCEPT # Permitir localhost iptables -A INPUT -i lo -j ACCEPT 220. # SNAT (enmascaram. de salida de red interna 10.10.10.0/24) hacia exterior iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0-j SNAT --to-source 193.147.87.47# otra posibilidad: -j MASQUERADE # DNAT (redireccionamiento puertos tcp 80, 25, 110 a red interna) iptables -t nat -A PREROUTING -i eth0 -d 10.0.100.0/24 -j DROP # NOTA: descartar antes paquetes externos dirigidos a red interna#si se hiciera en FORWARD, se eliminarian las redirecciones iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80-j DNAT --to-destination 10.10.10.66:80 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25-j DNAT --to-destination 10.10.10.77:25 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 110-j DNAT --to-destination 10.10.10.77.110 221. # Reglas de filtrado # Filtrado conexiones entrantes al firewall# - permitir SSH desde red interna, resto bloqueado por politica por defecto iptables -A INPUT -i eth1 -s 10.10.10/24 -p tcp --dport 22 -j ACCEPT # Habilitar forward de paquetes echo 1 > /proc/sys/net/ipv4/ip_forward # Filtrado salida red interna # - bloquear salida conex. SMTP de red interna,#el resto est permitido por politica por defecto iptable -A FORWARD -i eth1 -o eth0 -s 10.10.10.0/24-p tcp -- dport 25 -j DROP