Protección perimetral. Fundamentos de firewalls y redes privadas virtuales

Embed Size (px)

DESCRIPTION

Herramientas criptográficas en GNU/Linux.Curso "Herramientas de seguridad en GNU/Linux" Universidad de Vigo. Ourense, junio-2010

Citation preview

  • 1. Proteccin perimetral. Fundamentos de Firewallse Redes Privadas Virtuais

2. Indice

  • Parte I. Cortafuegos
  • Tipos de cortafuegos

3. Filtrado de paquetes 4. Reglas de filtrado Parte II. NETFILTER/ iptables

  • Arquitectura de NETFILTER/ iptables

5. Mdulos NETFILTER 6. Interfaces, herramientas e informacin Parte III. Topologas de cortafuegos

  • Topologas bsicas

7. Zonas desmilitarizadas 8. Indice

  • Parte IV. Uso de shorewall
  • Shorewall

9. Configuracin de Shorewall Parte V. Uso de OpenVPN

  • Redes privadas virtuales (VPN)

10. Configuracin y uso de OpenVPN ANEXO: Uso deiptables 11. PARTE I. Cortafuegos

        • Tipos de cortafuegos
      • 12. Filtrado de paquetes
    • 13. Reglas de filtrado

14. Cortafuegos (I)

  • Cortafuegos/Firewalls:Mecanismos de control de acceso a la red y los recursos informticos de una organizacin
  • Formado por componentes hardware y software

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

  • Opcionalmente: control del uso de la red por parte de los equipos internos

17. Proteccin del propio equipo:firewalls personales 18. Cortafuegos (II) Tipos de controles realizados

  • Control de Servicios: determinar los tipos de servicios de red accesibles desde interior y exterior
  • Dos grandes alternativas:
  • Cortafuegos filtra trfico a los servicios basndose en la direccin IP + nms. de puerto

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)

  • Definen un punto nico de resistencia frente a ataques
  • mantiene usuarios no autorizados fuera de la red protegida

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

  • registro de accesos, intentos de intrusin, gestin de alarmas de seguridad, auditorias, etc

25. Cortafuegos (III) Utilidad de los Cortafuegos (II)

  • Ubicacin para situar otros elementos de gestin de red
  • traduccin de direcciones, NAT( network address translation )
  • direc. locales (privadas) direc. pblicas de Internet

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

  • No protegen contra ataques que no pasen por el Cortafuegos

29. No protegen contra amenazas internas 30. Pueden proporcionar una sensacin de falsa seguridad

  • el Cortafuegos no basta por si slo

31. seguridad en redes afecta a muchos aspectos 32. Tipos de Cortafuegos (I)

  • Filtros de paquetes
  • Inspeccionan los paquetes recibidos/enviados y comprueban si encajan en las reglas

33. Filtrado basado en la informacin contenida en cada paquete recibido/enviado

  • cada paquete se inspecciona de forma aislada y la decisin se toma de forma aislada

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

  • Manejan info. de los protocolos IP, TCP, UDP, ICMP

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)

  • Filtros ''con estado'' (filtros de circuitos)
  • Llevan registro de las conexiones que pasan a travs del Cortafuegos

38. Estudian y reconocen los paquetes

  • que inician/finalizan las conexiones

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)

  • Filtros a nivel de aplicacin ( Proxies )
  • Cortafuegos basados en el uso de Proxies en el nivel de aplicacin
  • interceptan los mensajes entre aplicaciones

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

  • previene abusos

45. permite limitar porciones concretas del protocolo 46. detectan uso de protocolos no permitidos en puertos estndar Mayor ''conocimiento'' sobre el trfico

  • realiza un anlisis en profundidad de los paquetes

Pueden ofrecer otros servicios de valor aadido (cach) 47. Ejemplos en GNU/Linux: Proxy-cache web SQUID 48. Filtrado de paquetes (I)

  • Implementado en los dispositivos que encaminan trfico entre la red externa y la interna

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

  • inspecciona las cabeceras del paquete y comprueba si encajan en la lista de reglas

52. decisin: aceptacin/rechazo Filtrado basado en la informacin contenida encada paquete concreto

  • cada paquete se analizan de forma aislada

53. normalmente no tienen en cuenta si son parte de una conexin 54. Filtrado de paquetes (II)

  • Lasreglas de filtradoemplean la informacin contenida en cada paquete de red analizado
  • direcciones IP de origen y destino

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:

  • tamao del paquete, tiempo del vida del paquete,

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

  • Filtrado paquetes se configura mediantelista de reglasestticas
  • condiciones:basadas en campos de cabeceras IP y/o TCP

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

  • denegar por defecto:lo que no est expresamente permitido, est prohibido
  • indicar explicitamente qu servicios se dejan pasar

64. poltica conservadora, mayor nivel de proteccinaceptar por defecto:lo que no est expresamente prohibido, est permitido

  • servicios vulnerables/peligrosos deben bloquearse explcitamente

65. poltica ms permisible, nivel de proteccin ms bajo 66. NETFILTER/ iptables(I)

  • NETFILTER es un componente del ncleo de Linux (desde la ver. 2.4) encargado de la manipulacin de paquetes de red
  • Tareas que realiza
  • filtrado de paquetes

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.

  • permite definir polticas de filtrado, de NAT y realizar logs

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

      • Arquitectura de NETFILTER/ iptables
    • 72. Mdulos NETFILTER
  • 73. Interfaces, herramientas e informacin

74. NETFILTER/ iptables(II)

  • Las tareas a realizar sobre los paquetes (filtrado, NAT, modificacin) se controlan mediante distintos conjuntos de reglas, en funcin de la situacin/momento en la que se encuentre un paquete durante su procesamiento dentro de NETFILTER.
  • Las listas de reglas y dems datos residen en el espacio de memoria del kernel

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.

  • En la prctica un ''firewall''iptablesconsistir en un script de shell conteniendo los comandosiptablespara configurar convenientemente las listas de reglas.

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)

  • TABLAS:se corresponden con los distintostipos de procesamientoque se pueden aplicar sobre los paquetes (3 tablas disponibles)
  • filter : Controla decisiones de filtrado de paquetes (aceptar/denegar)
  • Cadenas:sc input, output, forward

nat : Controla traduccin de direcciones (NAT:network address translation )

  • Cadenas:prerouting, postrouting} (opc. output)

mangle : Controla los procesos de modificacin del contenido y las opciones de los paquetes.

  • Cadenas:input, output, forward, prerouting, postrouting

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

  • CADENAS:Contienen laslistas de reglasa aplicar sobre los paquetes

78. 5cadenas predeterminadas , asociadas a momentos concretos del flujo de los paquetes

  • INPUT : reglas a a plicar sobre los paquetes destinados a la propia mquina
  • controla las entradas al propio equipo/cortafuegos

OUTPUT : reglas a aplicar sobre los paquetes originados en la propia mquina,

  • controla las salidas del propio equipo/cortafuegos

FORWARD : reglas a aplicar sobre los paquetes que atraviesan la mquina con destino a otras (paquetes en trnsito reenviados)

  • usadas en Cortafuegos de borde (proteccin red interna)

79. Arquitectura NETFILTER/ iptables(II) (cadenas predefinidas cont.)

    • PRE-ROUTING:reglas a aplicar sobre paquetes justo antes de enviarlos a la red
    • usadas para DNAT ( destination NAT )[redireccin de puertos]

POST-ROUTING:reglas aplicar sobre paquetes (propios o ajenos) recibidos de la red

  • se aplican antes de decidir a dnde encaminarlos [proceso local o reenvo]

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

  • Para cada paquete, en funcin del procesamiento que vaya a sufrir, se consulta lacadenaque corresponda a su situacin dentro de NETFILTER

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 .

  • por defecto las cadenas predeterminadas estn inicializadas con una polticaaccept

86. al agotar las cadenas definidas por el usuario, se retorna a la cadena predeterminada que la activ 87. Mdulos NETFILTER adicionaes

  • NETFILTER tiene una arquitectura modular que permite la inclusin de nuevos componentes
  • Es posible incluir nuevas condiciones y objetivos que permitan hacer distintos tipos de controles/procesamiento sobre los paquetes.

88. http://www.netfilter.org/projects/patch-o-matic/index.html

  • Repositorios:base, extra y external

Algunos ejemplos

  • geoip : permite identificar el origen geogrfico de un paquete en base a su direccin IP.

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)

  • http://www.netfilter.org/documentation/HOWTO/netfilter-extensions-HOWTO.html

91. Interfaces, herramientas e informacin

  • Interfaces grficos
  • Firestarter:http://www.fs-security.com/

92. FirewallBuilder:http://www.fwbuilder.org/ 93. KMyFirewall:http://www.kmyfirewall.org/ 94. Guardog:http://www.simonzone.com/software/guarddog/ Herramientas en modo texto

  • Shorewall:http://shorewall.net/

95. FireHOL:http://firehol.sourceforge.net/ 96. Dwall:http://dag.wieers.com/home-made/dwall/ Fuentes de informacin

  • Pgina del proyecto: http://www.netfilter.org/documentation/

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

        • Topologas bsicas
      • 100. Zonas desmilitarizadas

101. Topologas bsicas de cortafuegos (I) Cortafuegos bsico de borde

  • Un equipo acta como cortafuegos, conectando la red interna con la externa
  • Ofrece todas las funcionalidades de cortafuegos +(opcionalmente) todos los servicios adicionales

102. Si se ve comprometido, todo el sistema se compromete Opcin 1: Router con filtrado de paquetes

  • Opcin ms simple, pero menos potente

103. Escasas posibilidades de monitorizacion Opcin 2: Equipo dedicado ( dual homed host )

  • Sistema estandar con 2 interfaces de red con la posibilidad de encaminamiento ( IP forwarding ) activada

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

  • Organizacion tpicadual homed host
  • Los equipos de la red externa slo pueden comunicarse con eldual homed host

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 )

  • Ofrecer los servicios (internos y externos) en una nica mquina ubicada en el interior
  • alojar a los Proxies de aplicacin usados por la red interna

110. alojar los servicios ofrecidos al exterior

  • en el esquema anterior estaban en el Cortafuegos o repartidos en la LAN interna

nica mquina accesible desde el exterior ( host bastion )

  • Elemento potencialmente vulnerable por ser el nico accesible desde el exterior

111. Administracin delicada (es la base de la seguridad de este esquema)

  • mnimos servicios software imprescindibles

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]

  • Elhost bastin con los servicios hacia el exterior se ubica fuera de la red protegida
  • Cortafuegos no tiene efecto sobre l

Ofrece los servicios pblicos sin debilitar la red interna

  • Configuracin y administracin delicada

HOST OCULTO HOST INSEGURO 115. Zonas desmilitarizadas (I) Red de Permetro/Zona Desmilitarizada(DMZ)

  • Objetivo:aislar los servicios ofrecidos al exterior en una red propia para evitar acceso a la red protegida
  • Loshost bastinse sitan detrs del cortafuegos, pero en una red aislada (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

  • DMZ es accesible desde el exterior y sus equipos pueden haber sido comprometidos

La DMZ define una red de servicios pblicos

  • Contiene todos los equipos y sistemas que requieran acceso controlado desde el exterior (web, email, dns, etc)

117. Puede incluir los proxies de aplicacin para la red interna 118. Zonas desmilitarizadas (II) DMZ con cortafuegos de 3 interfaces

  • Esquema ms simple para definir y gestionar una DMZ

119. Zonas desmilitarizadas (III) DMZ doble cortafuegos ( screened subnet )

  • Mejora del esquema anterior: aade un segundo cortafuegos
  • cortafuegos externo ( de acceso ): bloquea/controla trfico no deseado de red externa a DMZ

120. cortafuegos interno ( de contencin ): bloquea/controla trfico no deseado de DMZ a red interna 121. Zonas desmilitarizadas (IV)

  • Se aumenta la separacin entre la red de servicios externos(DMZ) y la red interna
  • DMZ se sita entre cortafuegos externo e interno

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

  • Superando cortafuegos externo, slo queda desprotegida DMZ

124. An comprometiendo un equipo de la DMZ, se contara con el cortafuegos de contencin Limitaciones:

  • dificultad de administracin (gestionar 2 conjuntos de reglas de filtrado funcionando en conjunto)

125. sensacin de falsa seguridad Ventajas:

  • mayor seguridad y tolerancia a fallos

126. mayor flexibilidad: usar tantas DMZ como sea preciso, con distintos niveles de seguridad 127. PARTE IV. Uso de shorewall

        • Shorewall
      • 128. Configuracin de Shorewall

129. Shorewall

  • Shorewall ( Shoreline Firewall ) es una herramienta para simplificar la construccin de sistemas cortafuegos que hagan uso de NETFILTER
  • Shorewall no es un cortafuegos, es una herramienta de alto nivel para configurar NETFILTER
  • Genera reglas NETFILTER en base a ficheros de configuracin que describen red y polticas de filtrado

Funciona de modo puntual, no continuo

  • Configura las reglas NETFILTER del kernel, pero no monitoriza el trfico en el firewall

Web del proyecto:http://shorewall.net/ Facilita la gestin de configuraciones de red complejas

  • La configuracin de Shorewall se basa en el concepto de zonas (red interna, red externa, dmz, etc)

130. Las polticas de filtrado y acceso se definen en base a esas zonas 131. Configuracin de Shorewall (I)

  • La configuracin de Shorewall se realiza mediante ficheros de texto ubicados en/etc/shorewall

132. Fichero/etc/shorewall/zones

  • Shorewall estructura la red en un conjunto dezonas,definidas en el 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

    • Los equipos de la red (y los externos) estarn ubicados en una de las zonas definidas.
    • Se especifica en los ficheros/etc/shorewall/interfacesy/o/etc/shorewall/hosts
  • 135. Las direcciones de los interfaces del firewall pertenecen a la zona del firewall $FW.

136. Configuracin de Shorewall (II)

  • Fichero/etc/shorewall/interfaces
  • Indica que interfaz/interfaces de red del firewall estn asociados con el trfico de cada zona

#ZONEINTERFACEBROADCASTOPTIONS neteth0detectdhcp,routefilter,norfc1918 loceth1detect dmzeth2detect

    • Todas las mquinas (direcciones) conectadas a un interfaz pertencern a la zona correspondiente
  • 137. Cuando varias zonas son servidas por un mismo interfaz, se seala en el campoINTERFACEcon -
  • Ser necesario especificar en el fichero/etc/shorewall/hostslas mquinas concretas de cada zona

Ejemplos de opciones:

  • norfc1918 : interfaz no admite trfico desde direcciones del rango de IPs privadas)

138. blacklist : interfaz no admite mquinas de una lista negra de mquinas prohibidas ( /etc/shorewall/blacklist ) 139. Configuracin de Shorewall (III)

  • Fichero/etc/shorewall/hosts
  • Indica que equipos estn asociados con cada zona (anlogo a/etc/shorewall/interfaces )

#ZONEHOST(S)OPTIONS local1eth1:192.168.3.0/24 local2eth1:192.168.4.0/24

  • La reglas de filtrado de trfico se expresan en trminos de zonas, mediante 2 ficheros
  • Las polticas generales (por defecto) para las conexiones entre zonas se especifican en/etc/shorewall/policy

140. Las excepciones a las polticas por defecto se indican en el fichero/etc/shorewall/rules Funcionamiento del firewall definido por Shorewall

  • Las peticiones de conexin son comprobadas contra las reglas de/etc/shorewall/rules

141. Si ninguna regla encaja se toma la accin que indique el fichero/etc/shorewall/policy 142. Configuracin de Shorewall (IV)

  • Fichero/etc/shorewall/policy
  • Especifica la accin por defecto para el trfico entre dos pares de zonas (origen+destino) y el tipo de log

#SOURCEDESTPOLICYLOG LEVELLIMIT:BURST locnetACCEPT netallDROPinfo allallREJECTinfo

    • Polticas posibles: ACCEPT, DROP, REJECT, QUEUE, NFQUEUE, CONTINUE,NONE
  • 143. Las polticas por defecto pueden tener acciones adicionales asociadas, definidas en/etc/shorewall/actions

144. Configuracin de Shorewall (V)

  • Fichero/etc/shorewall/rules
  • Controla el establecimiento de conexiones que supongan excepciones a las definidas en/etc/shorewall/policy

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

      • Posibilidad de definir/utilizar MACROS (combinaciones de ACCION+nums. de puertos) -> permite reglas ms compactas
  • No es necesario definir reglas para diferenciar entre el trfico de establecimiento de conexiones y el trfico que es parte de una conexin ya establecida o es trfico relacionado.
  • Shorewall gestiona el seguimiento y el estado de las conexiones

146. Configuracin de Shorewall (VI) Traduccin de direcciones (SNAT y DNAT)

  • El enmascaramiento de direcciones (SNAT:source-NAT ) se configura el fichero/etc/shorewall/masq

#INTERFACESOURCEADDRESS eth0192.168.1.0/24206.124.146.176 eth1eth2

    • Trfico con origen 192.168.0.0/24 se enmascarar al enviarlo por interfazeth0usando la direccin 206.124.146.176 (SNAT)
  • 147. Trfico con origen eeth2se enmascarar al enviarlo por interfazeth1usando la dir. IP de ese interfaz (SNAT)

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

    • Redireccin trfico web recibido hacia mquina 10.10.10.23 de DMZ

150. Configuracin de Shorewall (VII)

  • Otros aspectos:
  • Shorewall soporta el uso de diferentes mecanismos (IPSEc, OpenVPN, etc) para establecer tneles/enlaces cifrados con los que definir redes privadas virtuales (VPN).
  • Especificadas en fichero/etc/shorewall/tunnels

151. Define el tipo de VPN (IPsec, OpenVPN, ...) y si interfaz asociado Depuracin y ejecucin del firewall

  • $ shorewall start/stop : arranca/para el firewall (no elimina las reglas en el kernel)

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.

  • Veremosthree-interface http://shorewall.net/three-interface.htm

154. PARTE V. Uso de OpenVPN

        • Redes privadas virtuales (VPN)
      • 155. Configuracin y uso de OpenVPN

156. Redes Virtuales Privadas

  • VPN ( Virtual Private Network ): Conjunto de tecnologas que permiten extender el alcance de una red local (privada) sobre la infraestructura de una red pblica no controlada, manteniendo la confidencialidad del trfico.
  • Hacen uso de enlaces cifrados para definir conexiones protegidas entre porciones separadas de la propia red

157. Ejemplos tpicos:

  • Interconexin segura entre 2 delegaciones de una misma organizacin usando una red pblica no segura (Internet) [VPN punto a punto]

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)

  • OpenVPN es una implementacion de VPN que usa el protocolo SSL/TLS ( Secure Socket Layer/Transport Layer Security ) para crear enlaces de red cifrados.
  • Usualmente emplea la implementacin OpenSSL

160. Web:http://www.openvpn.net Permite 3 modos de operacin:

  • Host a Host:crea un enlace cifrado entre dos mquinas independientes

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

  • Se crea la sensacin de que estn unidas por un enlace virtual

163. Trfico de comunicacin enviado sobre la red pblica va cifrado 164. OpenVPN(II)

  • Funcionamiento:
  • Se establece una conexin SSL cifrada entre los 2 extremos usando la red pblica (por defecto usa el puerto UDP)

165. En los equipos conectados se crearn interfaces de red virtuales ( tun0, tun1, ... ) para acceder a esa conexin

  • Funcionan como un interfaz de red convencional ( ethX )
  • Tiene dir. IP asignada, participan en las reglas del firewall, etc

El trfico que reciban se enviar cifrado sobre la conexin SSL 166. OpenVPN(III)

  • OpenVPN soporta 2 modos de autenticacin/cifrado
  • Clave esttica : se genera una clave esttica que ser compartida por los 2 extremos
  • Esquema sencillo de configurar e implantar

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

  • Exige que ambos extremos tengan certificados digitales firmados por una autoridad reconocida por ambos

Shorewall contempla la definicin de zonas VPN y el uso de los enlaces virtuales cifrados creados por OpenVPN 168. Enlacese informacin

  • Fuentes de informacin
  • Pgina del shorewall:http://openvpn.net/

169. Pgina de OpenVPN:http://shorewall.net/ Interfaces OpenVPN

  • OpenVPNAdmin: http://home.gna.org/kvpnc

170. OpenVPNControl:http://sourceforge.net/projects/openvpn-control/ 171. KVPN:http://home.gna.org/kvpnc Esquemas y manuales de configuracin Shorewall

  • Standalone:http://shorewall.net/standalone.htm

172. Two-interface:http://shorewall.net/two-interface.htm 173. Three-interface:http://shorewall.net/three-interface.htm 174. Funcionamiento SSL/TLS

  • SSL:Secure Socket Layer
  • Desarrollo inicial por Netscape

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:

  • Autenticacin de las entidades (servidor y/o cliente): empleandocertificados digitales

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:

  • Intercambio de certificados servidor y cliente (opcional)

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

  • -L/--list cadenalista las reglas en uso en una cadena

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

  • -A/--append cadenaaade una regla (condiciones+objetivo) a 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

  • Especifican los criterios que debe cumplir un paquete (campos que lo componene) para que le sea aplicable la accin de una regla

189. Direcciones IP

  • origen:-s/--source( -s 192.168.100.23, -s 10.10.10.0/24 )

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 )

  • de entrada:-i/--in-interface(-i eth1)

[eninput, forward, pre-routing ]

    • de salida:-o/--out-interface(-o ppp0)

[en out put, forward, post-routing ]

  • Tipo de protocolo:-p/--protocol
  • protocolo nivel transporte:-p TCP, -p UDP, -p ICMP, -p all

191. Uso deiptables(III) Condicionesiptables(cont.)

  • Puertos (para TCP y UDP)
  • de origen:-sport/--source-port

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:

  • -m state --state [ ESTADOS ]

194. Soporte bsico para reglas de filtrado''con estado'' 195. Situacin del paquete respecto a la conexin a la que pertenece:

  • invalid : paquete no asociado a una conexin conocida

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

  • -m conntrack ctstate[ ESTADOS ]

199. Uso deiptables(IV) Condicionesiptables(cont.)

  • Flags protocolo TCP: --tcp-flags ...
  • bits de control en paquetes TCP (SYN,ACK,FIN,RST,URG,PSH)

Direcciones MAC:-m mac mac-source ... 200. Lmites:

  • -m limit limit [ratio]
  • la regla encajar hasta que se alcance el ratio de ocurrencia ( n/second, n/minute, n/hour, n/day ) especificado

-m limit limit-burst [numero]

  • la regla encajar hasta que se alcance el valor mximo indicado (reinicio de contadores)

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

  • Objetivos predefinidos en latabla-t filter
  • A usar en las cadenas INPUT,OUTPUT,FORWARD

202. -j ACCEPT el paquete se acepta

  • Se lepermite que contine su curso (a otra cadena o a su destino final ) y se deja de recorrer la cadena actual

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

  • Objetivos predefinidos en latabla-t nat
  • -j SNAT to-source Realiza SNAT( source-NAT ) sobre los paquetes salientes [ enmascaramiento de direcciones ]
  • Cambia la dir. IP (opc. puerto) de origen del paquete

205. Slo se puede invocar en la cadena POST-ROUTING -j MASQUERADE Tambin realiza SNAT, pero usando la dir. IP del propio equipo

  • til en conexiones voltiles [ adsl ,modem ])

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 ]

  • Cambia la dir. IP (opc. puerto) de destino del paquete

207. Slo se puede invocar en la cadena PRE-ROUTING(solo disponible en prerouting (y opcionalmente en OUTPUT) 208. Uso deiptables(VII) Objetivosiptables(cont.)

  • Objetivos predefinidos para hacerlog
  • No se detiene el recorrido por la cadena

209. -j log crea entrada en el log del sistema [ /var/log/sysylog ]

  • Opciones:--log-prefix, --log-level

-j ulog crea entrada en un log definido por usuario Objetivos definidos por el usuario

  • Es posible crear cadenas definidas por el usuario( -N micadena ) y eliminarlas ( -X micadena )

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

  • Firewall bsico de borde con enmascaramiento de la red interna (NAT)
  • Red interna del rango 10.10.10.0/24 [mascara 255.255.255.0]

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)

  • Servidores http y https pblicos en la mquina interna 10.10.10.66

216. Servidores corporativos de correo saliente ( smtp ) y entrante ( pop3 ) en 10.10.10.77 Restricciones sobre el firewall

  • Todas las conexiones hacia el firewall estn prohibidas

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

  • No se permite la conexin para envo de e-mail ( smtp ) con mquinas del exterior.

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