71
Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Seguridad en Inform´ atica 2 Francisco Medina L´ opez — [email protected] Facultad de Contadur´ ıa y Administraci´on Universidad Nacional Aut´onoma de M´ exico 2014-2

Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux

Embed Size (px)

Citation preview

  • 1. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Seguridad en Informatica 2 Francisco Medina Lopez [email protected] Facultad de Contadura y Administracion Universidad Nacional Autonoma de Mexico 2014-2

2. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Agenda 1 Introduccion 2 Firewalls en GNU/Linux con iptables 3. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion 1 Introduccion Conceptos Previos Diseno y Arquitectura Tipos de Firewall Fabricantes 2 Firewalls en GNU/Linux con iptables 4. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Conceptos Previos 1 Introduccion Conceptos Previos Diseno y Arquitectura Tipos de Firewall Fabricantes 2 Firewalls en GNU/Linux con iptables 5. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Conceptos Previos Que es un Firewall? Denicion Sistema o una combinacion de sistemas que impone una barrera entre dos o mas redes que por lo regular forman una division entre un ambiente seguro y una abierto, como Internet. Figura : El Firewall y los ambientes de seguridad Moraes, Alexandre M. S. P. Cisco Firewalls, Cisco Press, P 6. 6. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Conceptos Previos Antecedentes Es imposible determinar quien acuno por primera vez el concepto de rewall. W. Cheswick y S. Bellovin desarrollaron la tecnologa de ltrado de paquetes. M. Ranun sintetizo el rewall como producto. Nir Zuk trabajo en el concepto de rewall tal como lo conocemos hoy. Pacheco, Federico. Hackers al decubierto, USERS P 167. 7. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Conceptos Previos Vision global de los sistemas de seguridad Dua, Sumeet & Du, Xian. Data Mining and Machine Learning in Cybersecurity, Taylor & Francis, P 3. 8. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Conceptos Previos Vision global de los sistemas de seguridad (2) Un Firewall es considerado la primera lnea de defensa para proteger la informacion privada 9. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Diseno y Arquitectura 1 Introduccion Conceptos Previos Diseno y Arquitectura Tipos de Firewall Fabricantes 2 Firewalls en GNU/Linux con iptables 10. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Diseno y Arquitectura Diseno Moraes, Alexandre M. S. P. Cisco Firewalls, Cisco Press, P 7. 11. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Diseno y Arquitectura Network Address Translation Harris, Shon. CISSP All-In-One Exam Guide, McGraw-Hill Professional, P 560. 12. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Diseno y Arquitectura Redes privadas El RFC 1918 dene tres rangos de redes privadas: 192.168.0.0/192.168.255.255 172.16.0.0/172.31.255.255 10.0.0.0/10.255.255.255 La tecnologa NAT permite a un rewall o router actuar como un intermediario entre la Internet y la red local. El rewall permite a una red privada, a traves de una sola direccion ip publca, tener acceso a Internet. 13. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Diseno y Arquitectura Arquitecturas comunes 1 Bastion Host 2 Dual-Homed Firewall 3 Screened Host 4 Screened Subnet 14. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Diseno y Arquitectura Bastion Host Denicion Es un equipo correctamente asegurado (hardened), en el cual los servicios innecesarios se encuentran desactivados, el sistema operativo cuenta con las ultimas actualizaciones y parches y solo estan activas las cuentas de sistema necesarias para el correcto funcionamiento del equipo. Usualmente esta expuesto en la red ya que es la primera lnea de defensa. No esta ligado a las actividades de un rewall de software. Cualquier sistema en la DMZ debera ser instalado en un Bastion Host Moraes, Alexandre M. S. P. Cisco Firewalls, Cisco Press, P 9. 15. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Diseno y Arquitectura Dual-Homed Firewall Denicion Es un equipo o dispositivo que cuenta con dos interfaces de red: una congurada en la red externa y otra a la red interna. Multihomed Signica que un equipo o dispositivo tiene multiples interfaces de red (NIC). Estos dispositivos son usados comunmente en pequenas ocinas u hogares (SOHO). Harris, Shon. CISSP All-In-One Exam Guide, McGraw-Hill Professional, P 565. 16. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Diseno y Arquitectura Screened Host Denicion Conguracion en la que el rewall se comunica directamente con el router y la red interna. Harris, Shon. CISSP All-In-One Exam Guide, McGraw-Hill Professional, P 560. Moraes, Alexandre M. S. P. Cisco Firewalls, Cisco Press, P 21. 17. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Diseno y Arquitectura Screened Subnet Denicion Anade un nivel de seguridad situando una subred (DMZ) entre las redes externa e interna, de forma que se consiguen reducir los efectos de un ataque exitoso al host bastion Tambien conocida como red perimetrica o De-Militarized Zone (DMZ) o twotiered Harris, Shon. CISSP All-In-One Exam Guide, McGraw-Hill Professional, P 567. 18. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Tipos de Firewall Taxonoma Noonan, Wesley J. & Dubrawsky, Ido. Firewall Fundamentals, Cisco Press. 19. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Tipos de Firewall Tipos de Firewall de Red 1 Filtros a nivel paquete (Packet Filters) 2 Firewall a nivel circuito (Circuit Level Firewalls) 3 Firewall a nivel aplicacion (Application Layer Firewalls) 4 Stateful Inspection 20. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Tipos de Firewall Filtros a nivel paquete (Packet Filters) Moraes, Alexandre M. S. P. Cisco Firewalls, Cisco Press, P 11. 21. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Tipos de Firewall Filtros a nivel paquete (Packet Filters) Funciona a nivel de red (nivel 3) de la pila de protocolos (TCP/IP) como ltro de paquetes IP. En este nivel se pueden realizar ltros segun los distintos campos de los paquetes IP: direccion IP origen, direccion IP destino. A menudo en este tipo de Firewall se permiten ltrados segun campos de nivel de transporte (nivel 4) como el puerto origen y destino, o a nivel de enlace de datos (nivel 2), como la direccion MAC. 22. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Tipos de Firewall Firewall a nivel circuito (Circuit Level Firewalls) Moraes, Alexandre M. S. P. Cisco Firewalls, Cisco Press, P 12. 23. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Tipos de Firewall Firewall a nivel circuito (Circuit Level Firewalls) Una vez que la conexion se establece, los paquetes pueden ir y venir entre las computadoras sin tener que ser revisados cada vez. El Firewall mantiene una tabla de conexiones validas y permite que los paquetes de la red pasen a traves de ella si corresponden a algun registro de la tabla. Una vez terminada la conexion, la tabla se borra y la transmision de informacion entre las dos computadoras se cierra. 24. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Tipos de Firewall Firewall a nivel aplicacion (Application Layer Firewalls) Moraes, Alexandre M. S. P. Cisco Firewalls, Cisco Press, P 13. 25. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Tipos de Firewall Firewall a nivel aplicacion (Application Layer Firewalls) Trabaja en el nivel de aplicacion (nivel 7) de manera que los ltrados se pueden adaptar a caractersticas propias de los protocolos de este nivel. Por ejemplo, si se trata de traco HTTP se pueden realizar ltrados segun la URL a la que se esta intentando acceder. Un Firewall a nivel 7 de traco HTTP es normalmente denominado Proxy y permite que los computadores de una organizacion entren a internet de una forma controlada. Pertenece a la tercera generacion de Firewalls. Examina la informacion de todos los paquetes de la red y mantiene el estado de la conexion y la secuencia de la informacion. En este tipo de tecnologa tambien se pueden validar claves de acceso y algunos tipos de solicitudes de servicios. 26. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Tipos de Firewall Stateful Inspection Moraes, Alexandre M. S. P. Cisco Firewalls, Cisco Press, P 14. 27. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Tipos de Firewall Stateful Inspection Guarda registros de conexion usando una tabla de estado que almacena todos los niveles de comunicacion. 28. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Tipos de Firewall Ejemplos de Implementacion Moraes, Alexandre M. S. P. Cisco Firewalls, Cisco Press, P 21. 29. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Tipos de Firewall UTM Denicion UTM (en ingles: Unied Threat Management) o Gestion Unicada de Amenazas, son rewalls de red que engloban multiples funcionalidades en una misma caja.1 El termino fue utilizado por primera vez por Charles Kolodgy, de International Data Corporation (IDC), en 2004. Algunas funcionalidades: VPN, Antispam, Antiphishing, Antispyware Filtro de contenidos, Antivirus, Deteccion/Prevencion de Intrusos (IDS/IPS) 1 http://es.wikipedia.org/wiki/Unified Threat Management 30. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Tipos de Firewall UTM (2) Ventajas: Se pueden sustituir varios sistemas independientes por uno solo facilitando su gestion Desventajas: Se crea un punto unico de fallo y un cuello de botella, es decir si falla este sistema la organizacion queda desprotegida totalmente. Tiene un costo jo periodico. 31. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Fabricantes 1 Introduccion Conceptos Previos Diseno y Arquitectura Tipos de Firewall Fabricantes 2 Firewalls en GNU/Linux con iptables 32. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Fabricantes Algunos fabricantes de Firewalls Juniper Networks 3Com/H3C Astaro Check Point Software Technologies Cisco Fortinet McAfee NETASQ phion Palo Alto Networks SonicWALL 33. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Fabricantes Magic Quadrant for Enterprise Network Firewalls 34. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Introduccion Fabricantes Magic Quadrant for Unied Threat Management 35. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables 1 Introduccion 2 Firewalls en GNU/Linux con iptables Denicion y conceptos previos Componentes de iptables Ejemplos de reglas de iptables 36. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Denicion y conceptos previos 1 Introduccion 2 Firewalls en GNU/Linux con iptables Denicion y conceptos previos Componentes de iptables Ejemplos de reglas de iptables 37. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Denicion y conceptos previos Netlter Denicion Componente del nucleo Linux (desde la version 2.4) encargado de la manipulacion de paquetes de red. Permite: ltrado de paquetes. traduccion de direcciones (NAT). modicacion de paquetes. 38. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Denicion y conceptos previos iptables Herramienta que permite construir y congurar rewalls Desarrollado por el proyecto Netlter (http://www.netfilter.org) Liberado para el kernel 2.4 en Enero del 2001. Usos: Control de Traco (o Flujo de Red) Seguridad (de Servicios de Red) Observacion (del Traco actual) 39. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Componentes de iptables 1 Introduccion 2 Firewalls en GNU/Linux con iptables Denicion y conceptos previos Componentes de iptables Ejemplos de reglas de iptables 40. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Componentes de iptables Tablas y Cadenas 1 TABLAS 2 CADENAS 41. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Componentes de iptables Tablas Denicion Distintos tipos de procesamiento que se puede aplicar sobre los paquetes. 1 lter: Controla decisiones de ltrado de paquetes (aceptar/denegar) Cadenas: INPUT, OUTPUT, FORWARD 2 nat: Controla la traduccion de direcciones. Cadenas: PREROUTING, POSTROUTING 3 mangle: Controla los procesos de modicacion del contenido y las opciones de los paquetes. Cadenas: INPUT, OUTPUT, FORWARD,PREROUTING, POSTROUTING Las reglas de cada tabla se organizan en cadenas que se consultaran en momentos concretos del ujo de los paquetes. 42. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Componentes de iptables Cadenas Denicion Contienen las listas de reglas a aplicar sobre los paquetes. INPUT: reglas a aplicar sobre los paquetes destinados a la propia maquina. OUTPUT: reglas a aplicar sobre los paquetes originados en la propia maquina. Usada para controlar las salidas del propio equipo. FORWARD: reglas a aplicar sobre los paquetes que atraviesan la maquina con destino a otras (paquetes en transito reenviados). 43. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Componentes de iptables Cadenas (2) PREROUTING: reglas a aplicar sobre paquetes justo antes de enviarlos a la red. Usada para DNAT (destination NAT) [redireccion de puertos]. POSTROUTING: reglas a aplicar sobre paquetes (propios o ajenos) recibidos de la red (antes de decidir a donde tutearlos [local o reenvio]). Usada para SNAT (source NAT). Se pueden crear cadenas denidas por el usuario (iptables -N cadena). 44. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Componentes de iptables Funcionamiento Para cada paquete, en funcion del procesamiento que vaya a sufrir, se consulta la cadena que corresponda. Dentro de cada cadena las reglas se inspeccionan secuencialmente. El orden de las reglas es importante. Si el paquete encaja con las condiciones de una regla, se ejecuta la accion correspondiente y se abandona la cadena. Si el paquete no encaja con ninguna regla, se le aplica la poltica por defecto que se haya asignado a esa cadena. por defecto las cadenas predeterminadas estan inicializadas con una poltica ACCEPT. al agotar las cadenas denidas por el usuario, se retorna a la cadena predeterminada que la activo. 45. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Componentes de iptables Flujo de paquetes a traves de la tabla FILTER Gregor N. Purdy. Linux Iptables Pocket Reference, OReilly, P 3. 46. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Componentes de iptables Flujo de paquetes a traves de la tabla NAT Gregor N. Purdy. Linux Iptables Pocket Reference, OReilly, P 3. 47. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Componentes de iptables Flujo de paquetes a traves de la tabla MANGLE Gregor N. Purdy. Linux Iptables Pocket Reference, OReilly, P 3. 48. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables 1 Introduccion 2 Firewalls en GNU/Linux con iptables Denicion y conceptos previos Componentes de iptables Ejemplos de reglas de iptables 49. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Reset iptables rewall rules iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT iptables -F iptables -t nat -F http://www.seavtec.com/en/content/soporte/documentacion/ iptables-howto-ejemplos-de-iptables-para-sysadmins 50. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Ver el estado del rewall y listar reglas iptables -L -n -v iptables -n -L -v --line-numbers iptables -L INPUT -n -v iptables -L OUTPUT -n -v --line-numbers 51. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Eliminar reglas de Firewall iptables -L INPUT -n --line-numbers iptables -L OUTPUT -n --line-numbers iptables -L OUTPUT -n --line-numbers | less iptables -L OUTPUT -n --line-numbers | grep 202.54.1.1 Se puede eliminar por numero de regla: iptables -D INPUT 4 O especicar una regla que coincida iptables -D INPUT -s 202.54.1.1 -j DROP 52. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Reglas para eliminar todo el traco iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP iptables -L -v -n 53. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Solo bloquear el traco entrante Para eliminar todos los paquetes entrantes / enviado, pero permitir el traco saliente, escriba: iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -m state --state NEW,ESTABLISHED -j ACCEPT iptables -L -v -n 54. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Bloquear direcciones IP especcas Eliminar direcciones de red privada en la interfaz publica (Suponiendo eth0 como interfaz publica) iptables -A INPUT -i eth0 -s 192.168.0.0/24 -j DROP iptables -A INPUT -i eth0 -s 10.0.0.0/8 -j DROP Bloquear direcciones IP: iptables -A INPUT -s 192.168.1.5 -j DROP iptables -A INPUT -s 192.114.71.13 -j DROP 55. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Guardar y restaurar reglas Guardar reglas: iptables-save > /root/iptables.fw Grabar las reglas en CentOS / RHEL / Fedora Linux: service iptables save Restaurar reglas: iptables-restore < /root/iptables.fw Restaurar reglas en CentOS / RHEL / Fedora Linux: service iptables restart 56. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Permitir todo el traco de loopback, y eliminar todo el traco a 127/8 que no usa lo0: iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT Eliminar cualquier paquete TCP que no se ha iniciado con el Flag SYN activo: iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP Aceptar todas las conexiones entrantes establecidas: iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT Eliminar cualquier paquete invalido que no pueda ser identicado: iptables -A INPUT -m state --state INVALID -j DROP Bloquear todo el traco TELNET entrante: iptables -I INPUT -p tcp --dport 23 -j DROP 57. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Bloquear todo el traco WEB entrante: iptables -I OUTPUT -p tcp --dport 80 -j DROP Bloquear todo el traco dirigido a 192.168.0.1: iptables -I OUTPUT -p tcp --dest 192.168.0.1 -j DROP Permitir traco Web: iptables -I INPUT -p tcp --dport 80 -j ACCEPT Permitir traco al puerto 2003 para localhost: iptables -I INPUT -s 12.0.0.1 -p tcp --dport 2003 -j ACCEPT Permitir traco HTTPS desde la direccion ip 10.2.2.4: iptables -I INPUT -s 10.2.2.4 -p tcp -m tcp --dport 443 -j DROP Negar traco de salida a 192.2.4.0-192.2.4.255: iptables -I OUTPUT -d 192.2.4.6.0/24 -j DROP 58. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Permitir conexiones FTP (puerto 21) desde la direccion IP 11.22.33.44: iptables -A INPUT -p tcp -m state --state NEW --dport 21 --source 11.22.33.44 Permitir todo el traco entrante SSH iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT Permitir SSH saliente: iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT 59. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Permitir traco HTTP: iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT Permitir traco HTTPS: iptables -A INPUT -i eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT 60. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Combinar reglas con multipuerto iptables -A INPUT -i eth0 -p tcp -m multiport --dports 22,80,443 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp -m multiport --sports 22,80,443 -m state --state ESTABLISHED -j ACCEPT 61. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Reglas para bloquear traco Bloquear todas las conexiones al puerto 21: iptables -A INPUT -p tcp -m state --state NEW --dport 21 -j DROP Eliminar la primera regla de entrada: iptables -D INPUT 1 Bloquear solicitudes ICMP (ping): iptables -A INPUT -p icmp --icmp-type echo-request -j DROP iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j DROP 62. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Solo aceptar cierto tipo limitado de peticiones ICMP iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT 63. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Permitir traco DNS saliente iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT 64. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Abrir un rango de puertos de entrada iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7000:7010 -j ACCEPT 65. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Abrir un rango de IPs iptables -A INPUT -p tcp --destination-port 80 -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT 66. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Limitar el numero de conexiones Se puede utilizar el modulo connlimit para crear estas restricciones. Permitir 3 conexiones SSH por cliente: iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT Limitar el numero de conexiones HTTP a 20 iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 --connlimit-mask 24 -j DROP Donde: --connlimit-above 3 : Match if the number of existing connections is above 3. --connlimit-mask 24 : Group hosts using the prex length. For IPv4, this must be a number between (including) 0 and 32. 67. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Eliminar o aceptar paquetes desde una MAC Address iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP iptables -A INPUT -p tcp --destination-port 22 -m mac --mac-source 00:0F:EA:91:04:07 -j ACCEPT 68. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Prevenir ataques DoS iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT Donde: -Limit 25/minute : Limita a solo 25 conexiones por minuto. -Limit-burst 100: Indica que el valor de limit/minute sera forzado solo despues del numero de conexiones en este nivel. 69. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Permitir redireccion de puertos Ejemplo puerto 422 redirigimos al 22, con lo que podemos tener conexiones al puerto 22 y al puerto 422 por ssh. iptables -t nat -A PREROUTING -p tcp -d 192.168.102.37 --dport 422 -j DNAT --to 192.168.102.37:22 iptables -A INPUT -i eth0 -p tcp --dport 422 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 422 -m state --state ESTABLISHED -j ACCEPT 70. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Guardar eventos en bitacora iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j LOG --log-prefix IP SPOOF A: iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP 71. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Referencias Bibliogracas I