Protección perimetral. Fundamentos de Firewalls  e Redes Privadas Virtuais
Indice <ul><li>Parte I. Cortafuegos </li><ul><li>Tipos de cortafuegos
Filtrado de paquetes
Reglas de filtrado </li></ul><li>Parte II. NETFILTER/ iptables </li><ul><li>Arquitectura de NETFILTER/ iptables
Módulos NETFILTER
Interfaces, herramientas e información </li></ul><li>Parte III. Topologías de cortafuegos </li><ul><li>Topologías básicas
Zonas desmilitarizadas   </li></ul></ul>
Indice <ul><li>Parte IV. Uso de shorewall </li><ul><li>Shorewall
Configuración de Shorewall   </li></ul><li>Parte V. Uso de OpenVPN </li><ul><li>Redes privadas virtuales (VPN)
Configuración y uso de OpenVPN   </li></ul><li>ANEXO: Uso de  iptables </li></ul>
PARTE I. Cortafuegos <ul><ul><ul><ul><li>Tipos de cortafuegos
Filtrado de paquetes
Reglas de filtrado </li></ul></ul></ul></ul>
Cortafuegos (I) <ul><li>Cortafuegos/Firewalls:  Mecanismos de control de acceso a la red y los recursos informáticos de un...
Separa nuestra red interna ( equipos de confianza ) de los equipos externos ( potencialmente hostiles ) mediante el contro...
Deniega intentos de conexión no autorizados (en ambos sentidos) </li></ul><li>Finalidad:  Prevención de ataques desde exte...
Protección del propio equipo:  “firewalls personales” </li></ul></ul>
Cortafuegos (II) Tipos de controles realizados <ul><li>Control de Servicios:   determinar los tipos de servicios de red ac...
Cortafuegos proporciona un software intermediario (Proxy) para cada servicio concreto a controlar  </li></ul></ul><li>Cont...
Control de Comportamiento:   control de cómo se usan los servicios </li></ul>
Cortafuegos (II) Utilidad de los Cortafuegos (I) <ul><li>Definen un punto único de resistencia frente a ataques  </li><ul>...
prohibe entrada/salida de servicios potencialmente vulnerables
protección frente a ciertos ataques de suplantación de IP ( IP spoofing )
simplifica la administración (punto único de entrada) </li></ul><li>Ubicación donde realizar supervisión de eventos de seg...
Cortafuegos (III) Utilidad de los Cortafuegos (II) <ul><li>Ubicación para situar otros elementos de gestión de red  </li><...
plataforma para implantar pasarelas IPSec o similares (enlaces de redes virtuales privadas [VPN])
plataforma donde centralizar sistemas de detección de intrusiones (ej.: SNORT)
plataforma para filtros de nivel de aplicación (antivirus, SPAM) </li></ul></ul>Limitaciones <ul><li>No protegen contra at...
No protegen contra amenazas internas
Pueden proporcionar una sensación de falsa seguridad </li><ul><li>el Cortafuegos no basta por si sólo
seguridad en redes afecta a muchos aspectos  </li></ul></ul>
Tipos de Cortafuegos (I) <ul><li>Filtros de paquetes </li><ul><li>Inspeccionan los paquetes recibidos/enviados y comprueba...
Filtrado basado en la información contenida en cada paquete recibido/enviado </li><ul><li>cada paquete se inspecciona de f...
filtro ''sin estado'':  no tiene en cuenta si los paquetes son parte de una conexión </li></ul><li>Trabajan en los niveles...
Integrados en  routers   o en equipos dedicados.
Ejemplo en GNU/Linux:  NETFILTER/ iptables  “básico” </li></ul></ul>
Tipos de Cortafuegos (II) <ul><li>Filtros ''con estado'' (filtros de circuitos) </li><ul><li>Llevan registro de las conexi...
Estudian y reconocen los paquetes  </li><ul><li>que inician/finalizan las conexiones
que forman parte de conexiones establecidas
que están relacionados con conexiones previas </li></ul><li>Permiten un control más fino que los filtros sin estado
Ejemplo en GNU/Linux: NETFILTER/ iptables  con módulos de seguimiento de conexiones ( connection tracking ) </li></ul></ul>
Tipos de Cortafuegos (III) <ul><li>Filtros a nivel de aplicación ( Proxies ) </li><ul><li>Cortafuegos basados en el uso de...
bloqueo de aplicaciones no permitidas (las que no cuenten con Proxy)
control del tráfico de las aplicaciones permitidas </li></ul><li>Proxy ''comprende'' el protocolo de una aplicación concre...
permite limitar porciones concretas del protocolo
detectan uso de protocolos no permitidos en puertos estándar </li></ul><li>Mayor ''conocimiento'' sobre el tráfico </li><u...
Ejemplos en GNU/Linux: Proxy-cache web SQUID </li></ul></ul>
Filtrado de paquetes (I) <ul><li>Implementado en los dispositivos que encaminan tráfico entre la red externa y la interna
Trabaja en las capas Red (IP) y/o  Transporte (TCP,UDP)
Suele implementarse como un elemento añadido a un router o como un equipo dedicado
Analizan cada paquete (antes de la decisión de enrutado) y aplican un conjunto de reglas para decidir si lo retransmite o ...
decisión: aceptación/rechazo </li></ul><li>Filtrado basado en la información contenida en  cada paquete concreto </li><ul>...
normalmente no tienen en cuenta si son parte de una conexión </li></ul></ul>
Filtrado de paquetes (II) <ul><li>Las  reglas de filtrado  emplean la información contenida en cada paquete de red analiza...
puertos de origen y destino (TCP, UDP)
tipo de protocolo: TCP, UDP, IMCP
interfaz de entrada o salida (en Cortafuegos con 3 o más conexiones de red)
otra información:  </li><ul><li>tamaño del paquete, tiempo del vida del paquete,
indicadores específicos de protocolos de transporte </li></ul></ul><li>El control de servicios se basa en el filtrado de l...
Reglas de filtrado Funcionamiento general <ul><li>Filtrado paquetes se configura mediante  lista de reglas  estáticas </li...
acciones:  descartar, rechazar, retransmitir </li></ul><li>Reglas comprobadas  secuencialmente  (el orden importa)
Upcoming SlideShare
Loading in …5
×

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

4,586 views

Published on

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

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
4,586
On SlideShare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
209
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Protección perimetral. Fundamentos de Firewalls e Redes Privadas Virtuais
  2. 2. Indice <ul><li>Parte I. Cortafuegos </li><ul><li>Tipos de cortafuegos
  3. 3. Filtrado de paquetes
  4. 4. Reglas de filtrado </li></ul><li>Parte II. NETFILTER/ iptables </li><ul><li>Arquitectura de NETFILTER/ iptables
  5. 5. Módulos NETFILTER
  6. 6. Interfaces, herramientas e información </li></ul><li>Parte III. Topologías de cortafuegos </li><ul><li>Topologías básicas
  7. 7. Zonas desmilitarizadas  </li></ul></ul>
  8. 8. Indice <ul><li>Parte IV. Uso de shorewall </li><ul><li>Shorewall
  9. 9. Configuración de Shorewall  </li></ul><li>Parte V. Uso de OpenVPN </li><ul><li>Redes privadas virtuales (VPN)
  10. 10. Configuración y uso de OpenVPN  </li></ul><li>ANEXO: Uso de iptables </li></ul>
  11. 11. PARTE I. Cortafuegos <ul><ul><ul><ul><li>Tipos de cortafuegos
  12. 12. Filtrado de paquetes
  13. 13. Reglas de filtrado </li></ul></ul></ul></ul>
  14. 14. Cortafuegos (I) <ul><li>Cortafuegos/Firewalls: Mecanismos de control de acceso a la red y los recursos informáticos de una organización </li><ul><li>Formado por componentes hardware y software
  15. 15. Separa nuestra red interna ( equipos de confianza ) de los equipos externos ( potencialmente hostiles ) mediante el control del tráfico
  16. 16. Deniega intentos de conexión no autorizados (en ambos sentidos) </li></ul><li>Finalidad: Prevención de ataques desde exterior hacia equipos internos </li><ul><li>Opcionalmente: control del uso de la red por parte de los equipos internos
  17. 17. Protección del propio equipo: “firewalls personales” </li></ul></ul>
  18. 18. Cortafuegos (II) Tipos de controles realizados <ul><li>Control de Servicios: determinar los tipos de servicios de red accesibles desde interior y exterior </li><ul><li>Dos grandes alternativas: </li><ul><li>Cortafuegos filtra tráfico a los servicios basándose en la dirección IP + núms. de puerto
  19. 19. Cortafuegos proporciona un software intermediario (Proxy) para cada servicio concreto a controlar </li></ul></ul><li>Control de Usuarios: control de accesos en base al usuario concreto que pretende acceder
  20. 20. Control de Comportamiento: control de cómo se usan los servicios </li></ul>
  21. 21. Cortafuegos (II) Utilidad de los Cortafuegos (I) <ul><li>Definen un punto único de resistencia frente a ataques </li><ul><li>mantiene usuarios no autorizados fuera de la red protegida
  22. 22. prohibe entrada/salida de servicios potencialmente vulnerables
  23. 23. protección frente a ciertos ataques de suplantación de IP ( IP spoofing )
  24. 24. simplifica la administración (punto único de entrada) </li></ul><li>Ubicación donde realizar supervisión de eventos de seguridad </li><ul><li>registro de accesos, intentos de intrusión, gestión de alarmas de seguridad, auditorias, etc </li></ul></ul>
  25. 25. Cortafuegos (III) Utilidad de los Cortafuegos (II) <ul><li>Ubicación para situar otros elementos de gestión de red </li><ul><li>traducción de direcciones, NAT( network address translation ) </li><ul><li>direc. locales (privadas) <-> direc. públicas de Internet </li></ul><li>software de auditoria y registro del uso de la red
  26. 26. plataforma para implantar pasarelas IPSec o similares (enlaces de redes virtuales privadas [VPN])
  27. 27. plataforma donde centralizar sistemas de detección de intrusiones (ej.: SNORT)
  28. 28. plataforma para filtros de nivel de aplicación (antivirus, SPAM) </li></ul></ul>Limitaciones <ul><li>No protegen contra ataques que no pasen por el Cortafuegos
  29. 29. No protegen contra amenazas internas
  30. 30. Pueden proporcionar una sensación de falsa seguridad </li><ul><li>el Cortafuegos no basta por si sólo
  31. 31. seguridad en redes afecta a muchos aspectos </li></ul></ul>
  32. 32. Tipos de Cortafuegos (I) <ul><li>Filtros de paquetes </li><ul><li>Inspeccionan los paquetes recibidos/enviados y comprueban si encajan en las reglas
  33. 33. Filtrado basado en la información contenida en cada paquete recibido/enviado </li><ul><li>cada paquete se inspecciona de forma aislada y la decisión se toma de forma aislada
  34. 34. filtro ''sin estado'': no tiene en cuenta si los paquetes son parte de una conexión </li></ul><li>Trabajan en los niveles de RED y TRANSPORTE de la pila TCP/IP </li><ul><li>Manejan info. de los protocolos IP, TCP, UDP, ICMP </li></ul><li>Uso de puertos estándar para bloquear servicios concretos
  35. 35. Integrados en routers o en equipos dedicados.
  36. 36. Ejemplo en GNU/Linux: NETFILTER/ iptables “básico” </li></ul></ul>
  37. 37. Tipos de Cortafuegos (II) <ul><li>Filtros ''con estado'' (filtros de circuitos) </li><ul><li>Llevan registro de las conexiones que pasan a través del Cortafuegos
  38. 38. Estudian y reconocen los paquetes </li><ul><li>que inician/finalizan las conexiones
  39. 39. que forman parte de conexiones establecidas
  40. 40. que están relacionados con conexiones previas </li></ul><li>Permiten un control más fino que los filtros sin estado
  41. 41. Ejemplo en GNU/Linux: NETFILTER/ iptables con módulos de seguimiento de conexiones ( connection tracking ) </li></ul></ul>
  42. 42. Tipos de Cortafuegos (III) <ul><li>Filtros a nivel de aplicación ( Proxies ) </li><ul><li>Cortafuegos basados en el uso de Proxies en el nivel de aplicación </li><ul><li>interceptan los mensajes entre aplicaciones
  43. 43. bloqueo de aplicaciones no permitidas (las que no cuenten con Proxy)
  44. 44. control del tráfico de las aplicaciones permitidas </li></ul><li>Proxy ''comprende'' el protocolo de una aplicación concreta </li><ul><li>previene abusos
  45. 45. permite limitar porciones concretas del protocolo
  46. 46. detectan uso de protocolos no permitidos en puertos estándar </li></ul><li>Mayor ''conocimiento'' sobre el tráfico </li><ul><li>realiza un análisis en profundidad de los paquetes </li></ul><li>Pueden ofrecer otros servicios de valor añadido (caché)
  47. 47. Ejemplos en GNU/Linux: Proxy-cache web SQUID </li></ul></ul>
  48. 48. Filtrado de paquetes (I) <ul><li>Implementado en los dispositivos que encaminan tráfico entre la red externa y la interna
  49. 49. Trabaja en las capas Red (IP) y/o Transporte (TCP,UDP)
  50. 50. Suele implementarse como un elemento añadido a un router o como un equipo dedicado
  51. 51. Analizan cada paquete (antes de la decisión de enrutado) y aplican un conjunto de reglas para decidir si lo retransmite o lo descarta </li><ul><li>inspecciona las cabeceras del paquete y comprueba si encajan en la lista de reglas
  52. 52. decisión: aceptación/rechazo </li></ul><li>Filtrado basado en la información contenida en cada paquete concreto </li><ul><li>cada paquete se analizan de forma aislada
  53. 53. normalmente no tienen en cuenta si son parte de una conexión </li></ul></ul>
  54. 54. Filtrado de paquetes (II) <ul><li>Las reglas de filtrado emplean la información contenida en cada paquete de red analizado </li><ul><li>direcciones IP de origen y destino
  55. 55. puertos de origen y destino (TCP, UDP)
  56. 56. tipo de protocolo: TCP, UDP, IMCP
  57. 57. interfaz de entrada o salida (en Cortafuegos con 3 o más conexiones de red)
  58. 58. otra información: </li><ul><li>tamaño del paquete, tiempo del vida del paquete,
  59. 59. indicadores específicos de protocolos de transporte </li></ul></ul><li>El control de servicios se basa en el filtrado de los puertos estándar ( http://www.iana.org/assignments/port-numbers ) </li></ul>ftp 21/tcp dns 53/tcp,53/udp rpc 111/tcp,111/udp ssh 22/tcp finger 79/tcp ldap 389/tcp telnet 23/tcp http 80/tcp https 443/tcp smtp 25/tcp pop3 110/tcp mysql 3306/tcp
  60. 60. Reglas de filtrado Funcionamiento general <ul><li>Filtrado paquetes se configura mediante lista de reglas estáticas </li><ul><li>condiciones: basadas en campos de cabeceras IP y/o TCP
  61. 61. acciones: descartar, rechazar, retransmitir </li></ul><li>Reglas comprobadas secuencialmente (el orden importa)
  62. 62. Cuando hay una correspondencia, se invoca la acción
  63. 63. Si ninguna regla encaja, se aplica la acción predeterminada </li><ul><li>denegar por defecto: lo que no está expresamente permitido, está prohibido </li><ul><li>indicar explicitamente qué servicios se dejan pasar
  64. 64. política conservadora, mayor nivel de protección </li></ul><li>aceptar por defecto: lo que no está expresamente prohibido, está permitido </li><ul><li>servicios vulnerables/peligrosos deben bloquearse explícitamente
  65. 65. política más permisible, nivel de protección más bajo </li></ul></ul></ul>
  66. 66. NETFILTER/ iptables (I) <ul><li>NETFILTER es un componente del núcleo de Linux (desde la ver. 2.4) encargado de la manipulación de paquetes de red </li><ul><li>Tareas que realiza </li><ul><li>filtrado de paquetes
  67. 67. traducción de direcciones (NAT)
  68. 68. modificación de paquetes </li></ul><li>Página del proyecto: http://www.netfilter.org </li></ul><li>iptables es una herramienta/aplicación que hace uso de la infraestructura que ofrece NETFILTER para construir y configurar firewalls. </li><ul><li>permite definir políticas de filtrado, de NAT y realizar logs
  69. 69. remplaza a herramientas anteriores: ifwadmin , ipchains
  70. 70. puede usar las capacidades de seguimiento de conexiones NETFILTER para definir firewalls con estado </li></ul></ul>
  71. 71. PARTE II. NETFILTER/ iptables <ul><ul><ul><li>Arquitectura de NETFILTER/ iptables
  72. 72. Módulos NETFILTER
  73. 73. Interfaces, herramientas e información </li></ul></ul></ul>
  74. 74. NETFILTER/ iptables (II) <ul><li>Las tareas a realizar sobre los paquetes (filtrado, NAT, modificación) se controlan mediante distintos conjuntos de reglas, en función de la situación/momento en la que se encuentre un paquete durante su procesamiento dentro de NETFILTER. </li><ul><li>Las listas de reglas y demás datos residen en el espacio de memoria del kernel </li></ul><li>La herramienta de nivel de usuario iptables permite al administrador configurar las listas de reglas que usa el kernel para decidir qué hacer con los paquetes de red que maneja. </li><ul><li>En la práctica un ''firewall'' iptables consistirá en un script de shell conteniendo los comandos iptables para configurar convenientemente las listas de reglas.
  75. 75. Tipicamente ese script residirá en /etc/init.d ó /etc/rcX.d para que sea ejecutado cada vez que arranca el sistema </li></ul><li>Otras utilidades: iptables-save , iptable-restore </li></ul>
  76. 76. Arquitectura NETFILTER/ iptables (I) Componentes NETFILTER/ iptables (I) <ul><li>TABLAS: se corresponden con los distintos tipos de procesamiento que se pueden aplicar sobre los paquetes (3 tablas disponibles) </li><ul><li>filter : Controla decisiones de filtrado de paquetes (aceptar/denegar) </li><ul><li>Cadenas: sc input, output, forward </li></ul><li>nat : Controla traducción de direcciones (NAT: network address translation ) </li><ul><li>Cadenas: prerouting, postrouting} (opc. output) </li></ul><li>mangle : Controla los procesos de modificación del contenido y las opciones de los paquetes. </li><ul><li>Cadenas: input, output, forward, prerouting, postrouting </li></ul></ul><li>Las reglas de cada tabla se organizan en cadenas , que se consultarán en momentos concretos del flujo de los paquetes </li></ul>
  77. 77. Arquitectura NETFILTER/ iptables (II) Componentes NETFILTER/ iptables (cont.) <ul><li>CADENAS: Contienen las listas de reglas a aplicar sobre los paquetes
  78. 78. 5 cadenas predeterminadas , asociadas a momentos concretos del flujo de los paquetes </li><ul><li>INPUT : reglas a a plicar sobre los paquetes destinados a la propia máquina </li><ul><li>controla las entradas al propio equipo/cortafuegos </li></ul><li>OUTPUT : reglas a aplicar sobre los paquetes originados en la propia máquina, </li><ul><li>controla las salidas del propio equipo/cortafuegos </li></ul><li>FORWARD : reglas a aplicar sobre los paquetes que atraviesan la máquina con destino a otras (paquetes en tránsito reenviados) </li><ul><li>usadas en Cortafuegos de borde (protección red interna) </li></ul></ul></ul>
  79. 79. Arquitectura NETFILTER/ iptables (II) (cadenas predefinidas cont.) <ul><ul><li>PRE-ROUTING: reglas a aplicar sobre paquetes justo antes de enviarlos a la red </li><ul><li>usadas para DNAT ( destination NAT ) [redirección de puertos] </li></ul><li>POST-ROUTING: reglas aplicar sobre paquetes (propios o ajenos) recibidos de la red </li><ul><li>se aplican antes de decidir a dónde encaminarlos [proceso local o reenvío]
  80. 80. usadas para SNAT ( source NAT ) [enmascaramiento] </li></ul></ul><li>Se pueden crear cadenas definidas por el usuario (comando iptables -N cadena }, a las que se accederá desde reglas incluidas en alguna de las cadenas predeterminadas </li></ul>
  81. 81. Arquitectura NETFILTER/ iptables (III) Flujo de paquetes en NETFILTER/ iptables
  82. 82. Arquitectura NETFILTER/ iptables (IV) Funcionamiento de la reglas NETFILTER/ iptables <ul><li>Para cada paquete, en función del procesamiento que vaya a sufrir, se consulta la cadena que corresponda a su situación dentro de NETFILTER
  83. 83. Dentro de cada cadena las reglas se inspeccionan secuencialmente [el orden de reglas es MUY importante]
  84. 84. Si el paquete encaja con las condiciones de una regla, se ejecuta la acción correspondiente y se abandona la cadena (se deja de mirar la cadena)
  85. 85. Si el paquete no encaja con ninguna regla, se le aplica política por defecto que se haya asignado a esa cadena . </li><ul><li>por defecto las cadenas predeterminadas están inicializadas con una política accept
  86. 86. al agotar las cadenas definidas por el usuario, se retorna a la cadena predeterminada que la activó </li></ul></ul>
  87. 87. Módulos NETFILTER adicionaes <ul><li>NETFILTER tiene una arquitectura modular que permite la inclusión de nuevos componentes </li><ul><li>Es posible incluir nuevas condiciones y objetivos que permitan hacer distintos tipos de controles/procesamiento sobre los paquetes.
  88. 88. http://www.netfilter.org/projects/patch-o-matic/index.html </li><ul><li>Repositorios: base, extra y external </li></ul></ul><li>Algunos ejemplos </li><ul><li>geoip : permite identificar el origen geográfico de un paquete en base a su dirección IP.
  89. 89. Ipp2p : aporta capacidades para reconocer algunos tipos de tráfico P2P (kazaa, edk, etc)
  90. 90. string : permite emplear reglas que analicen cadenas de texto presentes en la carga útil de los paquetes procesdos </li></ul><li>Descripción de módulos disponibles (patches) </li><ul><li>http://www.netfilter.org/documentation/HOWTO/netfilter-extensions-HOWTO.html </li></ul></ul>
  91. 91. Interfaces, herramientas e información <ul><li>Interfaces gráficos </li><ul><li>Firestarter: http://www.fs-security.com/
  92. 92. FirewallBuilder: http://www.fwbuilder.org/
  93. 93. KMyFirewall: http://www.kmyfirewall.org/
  94. 94. Guardog: http://www.simonzone.com/software/guarddog/ </li></ul><li>Herramientas en modo texto </li><ul><li>Shorewall: http://shorewall.net/
  95. 95. FireHOL: http://firehol.sourceforge.net/
  96. 96. Dwall: http://dag.wieers.com/home-made/dwall/ </li></ul><li>Fuentes de información </li><ul><li>Página del proyecto: http://www.netfilter.org/documentation/
  97. 97. Tutorial detallado: http://iptables-tutorial.frozentux.net/
  98. 98. Tutorial práctico en español: http://www.pello.info/filez/firewall/iptables.html </li></ul></ul>
  99. 99. PARTE III. Topologías de cortafuegos <ul><ul><ul><ul><li>Topologías básicas
  100. 100. Zonas desmilitarizadas  </li></ul></ul></ul></ul>
  101. 101. Topologías básicas de cortafuegos (I) Cortafuegos básico de borde <ul><li>Un equipo actúa como cortafuegos, conectando la red interna con la externa </li><ul><li>Ofrece todas las funcionalidades de cortafuegos +(opcionalmente) todos los servicios adicionales
  102. 102. Si se ve comprometido, todo el sistema se compromete </li></ul><li>Opción 1: Router con filtrado de paquetes </li><ul><li>Opción más simple, pero menos potente
  103. 103. Escasas posibilidades de monitorizacion </li></ul><li>Opción 2: Equipo dedicado ( dual homed host ) </li><ul><li>Sistema estandar con 2 interfaces de red con la posibilidad de encaminamiento ( IP forwarding ) activada
  104. 104. Todas las conexiones pasan a traves de él
  105. 105. Puede integrar los Proxies precisos </li></ul></ul>
  106. 106. Topologías básicas de cortafuegos (II) Cortafuegos básico de borde (cont.) <ul><li>Organizacion típica dual homed host </li><ul><li>Los equipos de la red externa sólo pueden comunicarse con el dual homed host
  107. 107. Idealmente, lodos los servicios al exterior se ofrecerán únicamente desde el dual homed host
  108. 108. Equipos de red interna y externa no deberían poder entrar en contacto directamente, sino a traves de un intermediario(Proxy) </li></ul></ul>
  109. 109. Topologías básicas de cortafuegos (III) Host oculto ( screened host ) <ul><li>Ofrecer los servicios (internos y externos) en una única máquina ubicada en el interior </li><ul><li>alojará a los Proxies de aplicación usados por la red interna
  110. 110. alojará los servicios ofrecidos al exterior </li><ul><li>en el esquema anterior estaban en el Cortafuegos o repartidos en la LAN interna </li></ul></ul><li>Única máquina accesible desde el exterior ( host bastion ) </li><ul><li>Elemento potencialmente vulnerable por ser el único accesible desde el exterior
  111. 111. Administración delicada (es la base de la seguridad de este esquema) </li><ul><li>mínimos servicios software imprescindibles
  112. 112. actualizaciones de seguridad del S.O. + servidores
  113. 113. monitorización de ficheros de log </li></ul></ul></ul>
  114. 114. Topologías básicas de cortafuegos (VI) Host inseguro ( untrusted host ) [variante del anterior] <ul><li>El host bastión con los servicios hacia el exterior se ubica fuera de la red protegida </li><ul><li>Cortafuegos no tiene efecto sobre él </li></ul><li>Ofrece los servicios públicos sin debilitar la red interna </li><ul><li>Configuración y administración delicada </li></ul></ul>HOST OCULTO HOST INSEGURO
  115. 115. Zonas desmilitarizadas (I) Red de Perímetro/Zona Desmilitarizada(DMZ) <ul><li>Objetivo: aislar los servicios ofrecidos al exterior en una red propia para evitar acceso a la red protegida </li><ul><li>Los host bastión se sitúan detrás del cortafuegos, pero en una red aislada (DMZ) </li></ul><li>Incrementa seguridad, fiabilidad y disponibilidad respecto a los esquemas anteriores
  116. 116. Los equipos internos siguen sin poder confiar en los equipos de la DMZ </li><ul><li>DMZ es accesible desde el exterior y sus equipos pueden haber sido comprometidos </li></ul><li>La DMZ define una red de servicios públicos </li><ul><li>Contiene todos los equipos y sistemas que requieran acceso controlado desde el exterior (web, email, dns, etc)
  117. 117. Puede incluir los proxies de aplicación para la red interna </li></ul></ul>
  118. 118. Zonas desmilitarizadas (II) DMZ con cortafuegos de 3 interfaces <ul><li>Esquema más simple para definir y gestionar una DMZ </li></ul>
  119. 119. Zonas desmilitarizadas (III) DMZ doble cortafuegos ( screened subnet ) <ul><li>Mejora del esquema anterior: añade un segundo cortafuegos </li><ul><li>cortafuegos externo ( de acceso ): bloquea/controla tráfico no deseado de red externa a DMZ
  120. 120. cortafuegos interno ( de contención ): bloquea/controla tráfico no deseado de DMZ a red interna </li></ul></ul>
  121. 121. Zonas desmilitarizadas (IV) <ul><li>Se aumenta la separación entre la red de servicios externos(DMZ) y la red interna </li><ul><li>DMZ se sitúa entre cortafuegos externo e interno
  122. 122. 2 niveles de seguridad (red DMZ + red interna) </li></ul><li>Tráfico de exterior a red interna atraviesa 2 cortafuegos
  123. 123. Mayor tolerancia a fallos: evita puntos únicos de fallo </li><ul><li>Superando cortafuegos externo, sólo queda desprotegida DMZ
  124. 124. Aún comprometiendo un equipo de la DMZ, se contaría con el cortafuegos de contención </li></ul></ul>Limitaciones: <ul><li>dificultad de administración (gestionar 2 conjuntos de reglas de filtrado funcionando en conjunto)
  125. 125. sensación de falsa seguridad </li></ul>Ventajas: <ul><li>mayor seguridad y tolerancia a fallos
  126. 126. mayor flexibilidad: usar tantas DMZ como sea preciso, con distintos niveles de seguridad </li></ul>
  127. 127. PARTE IV. Uso de shorewall <ul><ul><ul><ul><li>Shorewall
  128. 128. Configuración de Shorewall  </li></ul></ul></ul></ul>
  129. 129. Shorewall <ul><li>Shorewall ( Shoreline Firewall ) es una herramienta para simplificar la construcción de sistemas cortafuegos que hagan uso de NETFILTER </li><ul><li>Shorewall no es un cortafuegos, es una herramienta de alto nivel para configurar NETFILTER </li><ul><li>Genera reglas NETFILTER en base a ficheros de configuración que describen red y políticas de filtrado </li></ul><li>Funciona de modo puntual, no continuo </li><ul><li>Configura las reglas NETFILTER del kernel, pero no monitoriza el tráfico en el firewall </li></ul><li>Web del proyecto: http://shorewall.net/ </li></ul><li>Facilita la gestión de configuraciones de red complejas </li><ul><li>La configuración de Shorewall se basa en el concepto de zonas (red interna, red externa, dmz, etc)
  130. 130. Las políticas de filtrado y acceso se definen en base a esas zonas </li></ul></ul>
  131. 131. Configuración de Shorewall (I) <ul><li>La configuración de Shorewall se realiza mediante ficheros de texto ubicados en /etc/shorewall
  132. 132. Fichero /etc/shorewall/zones </li><ul><li>Shorewall estructura la red en un conjunto de zonas, definidas en el fichero /etc/shorewall/zones
  133. 133. Existe una zona predefinida ( $FW ) asociada al propio firewall
  134. 134. Ejemplo ( three-interfaces ) </li></ul></ul>#ZONE TYPE OPTIONS IN_OPTIONS OUT_OPTIONS fw firewall net ipv4 loc ipv4 dmz ipv4 <ul><ul><li>Los equipos de la red (y los externos) estarán ubicados en una de las zonas definidas. </li><ul><li>Se especifica en los ficheros /etc/shorewall/interfaces y/o /etc/shorewall/hosts
  135. 135. Las direcciones de los interfaces del firewall pertenecen a la zona del firewall $FW. </li></ul></ul></ul>
  136. 136. Configuración de Shorewall (II) <ul><li>Fichero /etc/shorewall/interfaces </li><ul><li>Indica que interfaz/interfaces de red del firewall están asociados con el tráfico de cada zona </li></ul></ul>#ZONE INTERFACE BROADCAST OPTIONS net eth0 detect dhcp,routefilter,norfc1918 loc eth1 detect dmz eth2 detect <ul><ul><li>Todas las máquinas (direcciones) conectadas a un interfaz “pertencerán” a la zona correspondiente
  137. 137. Cuando varias zonas son “servidas” por un mismo interfaz, se señala en el campo INTERFACE con “ - ” </li><ul><li>Será necesario especificar en el fichero /etc/shorewall/hosts las máquinas concretas de cada zona </li></ul><li>Ejemplos de opciones: </li><ul><li>norfc1918 : interfaz no admite tráfico desde direcciones del rango de IPs privadas)
  138. 138. blacklist : interfaz no admite máquinas de una lista negra de máquinas prohibidas ( /etc/shorewall/blacklist ) </li></ul></ul></ul>
  139. 139. Configuración de Shorewall (III) <ul><li>Fichero /etc/shorewall/hosts </li><ul><li>Indica que equipos están asociados con cada zona (análogo a /etc/shorewall/interfaces ) </li></ul></ul>#ZONE HOST(S) OPTIONS local1 eth1:192.168.3.0/24 local2 eth1:192.168.4.0/24 <ul><li>La reglas de filtrado de tráfico se expresan en términos de zonas, mediante 2 ficheros </li><ul><li>Las políticas generales (por defecto) para las conexiones entre zonas se especifican en /etc/shorewall/policy
  140. 140. Las excepciones a las políticas por defecto se indican en el fichero /etc/shorewall/rules </li></ul><li>Funcionamiento del firewall definido por Shorewall </li><ul><li>Las peticiones de conexión son “comprobadas” contra las reglas de /etc/shorewall/rules
  141. 141. Si ninguna regla encaja se toma la acción que indique el fichero /etc/shorewall/policy </li></ul></ul>
  142. 142. Configuración de Shorewall (IV) <ul><li>Fichero /etc/shorewall/policy </li><ul><li>Especifica la acción por defecto para el tráfico entre dos pares de zonas (origen+destino) y el tipo de log </li></ul></ul>#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST loc net ACCEPT net all DROP info all all REJECT info <ul><ul><li>Políticas posibles: ACCEPT, DROP, REJECT, QUEUE, NFQUEUE, CONTINUE,NONE
  143. 143. Las políticas por defecto pueden tener acciones adicionales asociadas, definidas en /etc/shorewall/actions </li></ul></ul>
  144. 144. Configuración de Shorewall (V) <ul><li>Fichero /etc/shorewall/rules </li><ul><li>Controla el establecimiento de conexiones que supongan excepciones a las definidas en /etc/shorewall/policy
  145. 145. Pueden definirse a nivel de zona o de direcciones dentro de una zona (loc:192.168.100.23) </li></ul></ul>#ACTION SOURCE DEST PROTO DEST-PORT SOURCE-PORT ORIGINAL-DEST DNAT net loc:10.10.10.3 tcp 80 - 130.252.100.69 REDIRECT loc 3128 tcp www - !192.168.2.2 ACCEPT loc $FW tcp 22 Acciones posibles: ACCEPT, NONAT, DROP, REJECT, DNAT, SAME, REDIRECT, CONTINUE, LOG, etc <ul><ul><ul><li>Posibilidad de definir/utilizar MACROS (combinaciones de ACCION+nums. de puertos) -> permite reglas más compactas </li></ul><li>No es necesario definir reglas para diferenciar entre el tráfico de establecimiento de conexiones y el tráfico que es parte de una conexión ya establecida o es tráfico relacionado. </li><ul><li>Shorewall gestiona el seguimiento y el estado de las conexiones </li></ul></ul></ul>
  146. 146. Configuración de Shorewall (VI) Traducción de direcciones (SNAT y DNAT) <ul><li>El enmascaramiento de direcciones (SNAT: source-NAT ) se configura el fichero /etc/shorewall/masq </li></ul>#INTERFACE SOURCE ADDRESS eth0 192.168.1.0/24 206.124.146.176 eth1 eth2 <ul><ul><li>Tráfico con origen 192.168.0.0/24 se enmascarará al enviarlo por interfaz eth0 usando la dirección 206.124.146.176 (SNAT)
  147. 147. Tráfico con origen e eth2 se enmascarará al enviarlo por interfaz eth1 usando la dir. IP de ese interfaz (SNAT)
  148. 148. Si no se indica dirección se usa la asociada al interfaz
  149. 149. NOTA: Asegurarse que en /etc/shorewall/shorewall.conf tenga activada la redirección ( IP_FORWARDING=On ) </li></ul><li>La redirección de puertos (DNAT: destination-NAT ) se configura mediante reglas en /etc/shorewall/rules </li></ul>#ACTION SOURCE DEST PROTO DEST-PORT DNAT net dmz:10.10.10.23:80 tcp 80 <ul><ul><li>Redirección tráfico web recibido hacia máquina 10.10.10.23 de DMZ </li></ul></ul>
  150. 150. Configuración de Shorewall (VII) <ul><li>Otros aspectos: </li><ul><li>Shorewall soporta el uso de diferentes mecanismos (IPSEc, OpenVPN, etc) para establecer túneles/enlaces cifrados con los que definir redes privadas virtuales (VPN). </li><ul><li>Especificadas en fichero /etc/shorewall/tunnels
  151. 151. Define el tipo de VPN (IPsec, OpenVPN, ...) y si interfaz asociado </li></ul></ul><li>Depuración y ejecución del firewall </li><ul><li>$ shorewall start/stop : arranca/para el firewall (no elimina las reglas en el kernel)
  152. 152. $ shorewall clear : “borra” en memoria las reglas NETFILTER
  153. 153. $ shorewall trace start : arranca el firewall emitiendo traza de los pasos seguidos </li></ul><li>La distribución de Shorewall incluye conjuntos de ficheros de configuración de ejemplo, que sirven como punto de partida para crear el firewall. </li><ul><li>Veremos three-interface http://shorewall.net/three-interface.htm </li></ul></ul>
  154. 154. PARTE V. Uso de OpenVPN <ul><ul><ul><ul><li>Redes privadas virtuales (VPN)
  155. 155. Configuración y uso de OpenVPN  </li></ul></ul></ul></ul>
  156. 156. Redes Virtuales Privadas <ul><li>VPN ( Virtual Private Network ): Conjunto de tecnologías que permiten extender el alcance de una red local (privada) sobre la infraestructura de una red pública no controlada, manteniendo la confidencialidad del tráfico. </li><ul><li>Hacen uso de enlaces cifrados para definir conexiones protegidas entre porciones “separadas” de la propia red
  157. 157. Ejemplos típicos: </li><ul><li>Interconexión “segura” entre 2 delegaciones de una misma organización usando una red pública no segura (Internet) [VPN punto a punto]
  158. 158. Conexión segura de un usuario a la red interna desde equipos fuera de la red de la organización [VPN de acceso remoto] </li></ul><li>Evitan el uso de lineas dedicadas </li></ul><li>Tecnologías: IPSec, PPTP, L2TP, túneles SSH, OpenVPN </li></ul>
  159. 159. OpenVPN (I) <ul><li>OpenVPN es una implementacion de VPN que usa el protocolo SSL/TLS ( Secure Socket Layer/Transport Layer Security ) para crear enlaces de red cifrados. </li><ul><li>Usualmente emplea la implementación OpenSSL
  160. 160. Web: http://www.openvpn.net </li></ul><li>Permite 3 modos de operación: </li><ul><li>Host a Host: crea un enlace cifrado entre dos máquinas independientes
  161. 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. 162. Red a Red: permite que 2 redes separadas pueden comunicarse para formar una sóla red </li><ul><li>Se crea la sensación de que están unidas por un enlace virtual
  163. 163. Tráfico de comunicación enviado sobre la red pública va cifrado </li></ul></ul></ul>
  164. 164. OpenVPN (II) <ul><li>Funcionamiento: </li><ul><li>Se establece una conexión SSL cifrada entre los 2 extremos usando la red pública (por defecto usa el puerto UDP)
  165. 165. En los equipos conectados se crearán interfaces de red virtuales ( tun0, tun1, ... ) para acceder a esa conexión </li><ul><li>Funcionan como un interfaz de red convencional ( ethX ) </li><ul><li>Tiene dir. IP asignada, participan en las reglas del firewall, etc </li></ul><li>El tráfico que reciban se enviará cifrado sobre la conexión SSL </li></ul></ul></ul>
  166. 166. OpenVPN (III) <ul><li>OpenVPN soporta 2 modos de autenticación/cifrado </li><ul><li>Clave estática : se genera una clave estática que será compartida por los 2 extremos </li><ul><li>Esquema sencillo de configurar e implantar
  167. 167. Exige un mecanismo seguro para el intercambio previo de la clave y la protección de esa clave en ambos extremos </li></ul><li>Modo SSL : hace uso del mecanismo de establecimiento de sesiones SSL (basado en certificados digitales) para acordar una clave de sesión temporal que se usará para cifrar cada conexión concreta </li><ul><li>Exige que ambos extremos tengan certificados digitales firmados por una autoridad reconocida por ambos </li></ul></ul><li>Shorewall contempla la definición de zonas VPN y el uso de los enlaces virtuales cifrados creados por OpenVPN </li></ul>
  168. 168. Enlaces e información <ul><li>Fuentes de información </li><ul><li>Página del shorewall: http://openvpn.net/
  169. 169. Página de OpenVPN: http://shorewall.net/ </li></ul><li>Interfaces OpenVPN </li><ul><li>OpenVPNAdmin: http://home.gna.org/kvpnc
  170. 170. OpenVPNControl: http://sourceforge.net/projects/openvpn-control/
  171. 171. KVPN: http://home.gna.org/kvpnc </li></ul><li>Esquemas y manuales de configuración Shorewall </li><ul><li>Standalone: http://shorewall.net/standalone.htm
  172. 172. Two-interface: http://shorewall.net/two-interface.htm
  173. 173. Three-interface: http://shorewall.net/three-interface.htm </li></ul></ul>
  174. 174. Funcionamiento SSL/TLS <ul><li>SSL: Secure Socket Layer </li><ul><li>Desarrollo inicial por Netscape
  175. 175. Inicalmente para proteger tráfico HTTP, aplicable en otros protocolos.
  176. 176. Actualmente es el estándar TLS: Transport Later Security </li></ul><li>Protege el tráfico empleando cifrado asimétrico, cifrado simétrico y HMAC (autenticación de mensajes con HASH + clave secreta) , garantizando: </li><ul><li>Autenticación de las entidades (servidor y/o cliente): empleando certificados digitales
  177. 177. Confidencialidad de los mensajes: empleando cifrado simétrico con claves de cifrado negociadas/acordadas en cada conexión
  178. 178. Integridad y atenticidad de los mensajes: uso de HMAC con claves de autenticación negociadas/acordadas en cada conexión </li></ul><li>Establecimiento de conexión: </li><ul><li>Intercambio de certificados servidor y cliente (opcional)
  179. 179. Si son reconocidos: intercambio seguro de clave secreta maestra (mediante cifrado asimétrico) </li></ul><li>Tráfico de mensajes: cifrados + autenticados con claves de sesión generadas a partir de la clave secreta maestra </li></ul>
  180. 180. ANEXO. Uso de iptables
  181. 181. Uso de iptables (I) Esquema reglas iptables iptables -t tabla [COMANDO][CONDICIONES][OBJETIVO] Comandos iptables <ul><li>-L/--list cadena lista las reglas en uso en una cadena
  182. 182. -F/--flush cadena vacía una cadena
  183. 183. -Z/--zero cadena reinicia los contadores de una cadena
  184. 184. -P/--policy cadena DROP/ACCEPT establece la política por defecto de una cadena </li></ul><ul><li>-A/--append cadena añade una regla (condiciones+objetivo) a una cadena
  185. 185. -D/--delete cadena borra una regla de una cadena
  186. 186. -R/--replace cadena reemplaza una regla de una cadena
  187. 187. -I/--insert cadena inserta una regla de una cadena </li></ul>
  188. 188. Uso de iptables (II) Condiciones iptables <ul><li>Especifican los criterios que debe cumplir un paquete (campos que lo componene) para que le sea aplicable la acción de una regla
  189. 189. Direcciones IP </li><ul><li>origen: -s/--source ( -s 192.168.100.23, -s 10.10.10.0/24 )
  190. 190. destino: -d/--destination ( -d 10.10.10.47,-d 10.10.10.0/24 ) </li></ul><li>Interfaz ( dispositivo por el que se ha recibido o por que que saldrá un paquete ) </li><ul><li>de entrada: -i/--in-interface (-i eth1) </li></ul></ul>[en input, forward, pre-routing ] <ul><ul><li>de salida: -o/--out-interface (-o ppp0) </li></ul></ul>[en out put, forward, post-routing ] <ul><li>Tipo de protocolo: -p/--protocol </li><ul><li>protocolo nivel transporte: -p TCP, -p UDP, -p ICMP, -p all </li></ul></ul>
  191. 191. Uso de iptables (III) Condiciones iptables (cont.) <ul><li>Puertos (para TCP y UDP) </li><ul><li>de origen: -sport/--source-port
  192. 192. de destino: -dport/--destination-port
  193. 193. puede ser un número de puerto ( -sport 80 ), un nombre de servicio ( -sport http ) o un rango de puertos ( -sport 1024:65535 ) </li></ul><li>Control del estado de la conexión: </li><ul><li>-m state --state [ ESTADOS ]
  194. 194. Soporte básico para reglas de filtrado ''con estado''
  195. 195. Situación del paquete respecto a la conexión a la que pertenece: </li><ul><li>invalid : paquete no asociado a una conexión conocida
  196. 196. established: paquete que pertenece a una conex. válida ya establecida
  197. 197. new : paquete mediante el cual se está creando una nueva conexión
  198. 198. related : paquetes que inician una nueva conexión que está asociada con otra ya establecida </li></ul><li>Otro módulo para filtros con estado ( seguimiento de conexiones ): </li><ul><li>-m conntrack –ctstate [ ESTADOS ] </li></ul></ul></ul>
  199. 199. Uso de iptables (IV) Condiciones iptables (cont.) <ul><li>Flags protocolo TCP: --tcp-flags ... </li><ul><li>bits de control en paquetes TCP (SYN,ACK,FIN,RST,URG,PSH) </li></ul><li>Direcciones MAC: -m –mac –mac-source ...
  200. 200. Límites: </li><ul><li>-m limit –limit [ratio] </li><ul><li>la regla encajará hasta que se alcance el ratio de ocurrencia ( n/second, n/minute, n/hour, n/day ) especificado </li></ul><li>-m limit –limit-burst [numero] </li><ul><li>la regla encajará hasta que se alcance el valor máximo indicado (reinicio de contadores) </li></ul><li>Utiles para limitar logs y realizar una detección y control básico de posibles ataques de denegación de servicio DoS( denial of service ) </li></ul></ul>Nota: para expresar la negación de una condición en una regla se emplea el símbolo ! -s ! localhost : el paquete no procede de la própia máquina -dport ! ssh : todos los puertos destinos excepto el 23 (ssh)
  201. 201. Uso de iptables (V) Objetivos iptables <ul><li>Objetivos predefinidos en la tabla -t filter </li><ul><li>A usar en las cadenas INPUT,OUTPUT,FORWARD
  202. 202. -j ACCEPT el paquete se acepta </li><ul><li>Se lepermite que continúe su curso (a otra cadena o a su destino final ) y se deja de recorrer la cadena actual </li></ul><li>-j DROP se rechaza el paquete (sin informar al origen)
  203. 203. -j REJECT –reject-with [...] se rechaza el paquete, informando al origen con el mensaje icmp indicado </li></ul></ul>
  204. 204. Uso de iptables (VI) Objetivos iptables (cont.) <ul><li>Objetivos predefinidos en la tabla -t nat </li><ul><li>-j SNAT –to-source Realiza SNAT( source-NAT ) sobre los paquetes salientes [ enmascaramiento de direcciones ] </li><ul><li>Cambia la dir. IP (opc. puerto) de origen del paquete
  205. 205. Sólo se puede invocar en la cadena POST-ROUTING </li></ul><li>-j MASQUERADE También realiza SNAT, pero usando la dir. IP del propio equipo </li><ul><li>Útil en conexiones volátiles [ adsl , modem ])
  206. 206. Sólo se puede invocar en la cadena POST-ROUTING </li></ul><li>-j DNAT –to-destination Realiza DNAT( destination-NAT ) sobre los paquetes entrantes [ redireccionamiento de puertos ] </li><ul><li>Cambia la dir. IP (opc. puerto) de destino del paquete
  207. 207. Sólo se puede invocar en la cadena PRE-ROUTING(s´olo disponible en prerouting (y opcionalmente en OUTPUT) </li></ul></ul></ul>
  208. 208. Uso de iptables (VII) Objetivos iptables (cont.) <ul><li>Objetivos predefinidos para hacer log </li><ul><li>No se detiene el recorrido por la cadena
  209. 209. -j log crea entrada en el log del sistema [ /var/log/sysylog ] </li><ul><li>Opciones: --log-prefix, --log-level </li></ul><li>-j ulog crea entrada en un log definido por usuario </li></ul><li>Objetivos definidos por el usuario </li><ul><li>Es posible crear cadenas definidas por el usuario ( -N micadena ) y eliminarlas ( -X micadena )
  210. 210. Para acceder a una cadena de usuario bastará incluir la acción -j micadena en una regla de las cadenas predefinidas.
  211. 211. El paquete recorre las reglas de la cadena de usuario hasta encajar en las condiciones de alguna regla, ejecutando su acción
  212. 212. Si no encaja en ninguna regla, el paquete retorna a la cadena anterior desde la que accedió a la cadena de usuario. </li></ul></ul>
  213. 213. Ejemplo IPTABLES <ul><li>Firewall básico de borde con enmascaramiento de la red interna (NAT) </li><ul><li>Red interna del rango 10.10.10.0/24 [mascara 255.255.255.0]
  214. 214. Una única dir. IP pública [193.147.87.47]
  215. 215. Interfaces del firewall: eth0 (red externa), eth1 (red interna) </li></ul><li>Servicios hacia el exterior (idealmente deberían ubicarse en DMZ) </li><ul><li>Servidores http y https públicos en la máquina interna 10.10.10.66
  216. 216. Servidores corporativos de correo saliente ( smtp ) y entrante ( pop3 ) en 10.10.10.77 </li></ul><li>Restricciones sobre el firewall </li><ul><li>Todas las conexiones hacia el firewall están prohibidas
  217. 217. Sólo se permiten conexiones ssh (puerto 22) que provengan de equipos de la red interna (para labores de administración) </li></ul><li>Restriciones de tráfico desde el interior </li><ul><li>No se permite la conexión para envío de e-mail ( smtp ) con máquinas del exterior.
  218. 218. Todas los demás tipos de conexión están autorizados </li></ul></ul>
  219. 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 PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT # Permitir localhost iptables -A INPUT -i lo -j ACCEPT
  220. 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. 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

×