La evolucion de la especie humana-primero de secundaria
Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
1. 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 —
paco.medina@comunidad.unam.mx
Facultad de Contadur´ıa y Administraci´on
Universidad Nacional Aut´onoma de M´exico
2014-2
2. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Agenda
1 Introducci´on
2 Firewalls en GNU/Linux con iptables
3. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
1 Introducci´on
Conceptos Previos
Dise˜no y Arquitectura
Tipos de Firewall
Fabricantes
2 Firewalls en GNU/Linux con iptables
4. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
Conceptos Previos
1 Introducci´on
Conceptos Previos
Dise˜no y Arquitectura
Tipos de Firewall
Fabricantes
2 Firewalls en GNU/Linux con iptables
5. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
Conceptos Previos
¿Qu´e es un Firewall?
Definici´on
Sistema o una combinaci´on de sistemas que impone una barrera
entre dos o m´as redes que por lo regular forman una divisi´on 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
Introducci´on
Conceptos Previos
Antecedentes
Es imposible determinar qui´en acu˜n´o por primera vez el concepto
de firewall.
W. Cheswick y S. Bellovin desarrollaron la tecnolog´ıa de
filtrado de paquetes.
M. Ranun sintetiz´o el firewall como producto.
Nir Zuk trabaj´o en el concepto de firewall tal como lo
conocemos hoy.
Pacheco, Federico. Hackers al decubierto, USERS P 167.
7. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
Conceptos Previos
Visi´on 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
Introducci´on
Conceptos Previos
Visi´on global de los sistemas de seguridad (2)
Un Firewall es considerado la primera l´ınea de defensa para
proteger la informaci´on privada
9. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
Dise˜no y Arquitectura
1 Introducci´on
Conceptos Previos
Dise˜no y Arquitectura
Tipos de Firewall
Fabricantes
2 Firewalls en GNU/Linux con iptables
10. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
Dise˜no y Arquitectura
Dise˜no
Moraes, Alexandre M. S. P. Cisco Firewalls, Cisco Press, P 7.
11. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
Dise˜no 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
Introducci´on
Dise˜no y Arquitectura
Redes privadas
El RFC 1918 define 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 tecnolog´ıa NAT permite a un firewall o router actuar como
un intermediario entre la Internet y la red local.
El firewall permite a una red privada, a trav´es de una sola
direcci´on ip p´ublca, tener acceso a Internet.
13. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
Dise˜no 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
Introducci´on
Dise˜no y Arquitectura
Bastion Host
Definici´on
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
est´an activas las cuentas de sistema necesarias para el correcto
funcionamiento del equipo.
Usualmente esta expuesto en la red ya que es la primera l´ınea
de defensa.
No esta ligado a las actividades de un firewall de software.
Cualquier sistema en la DMZ deber´ıa 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
Introducci´on
Dise˜no y Arquitectura
Dual-Homed Firewall
Definici´on
Es un equipo o dispositivo que cuenta con dos interfaces de red:
una configurada en la red externa y otra a la red interna.
Multihomed Significa que un equipo o dispositivo tiene
multiples interfaces de red (NIC).
Estos dispositivos son usados com´unmente en peque˜nas
oficinas 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
Introducci´on
Dise˜no y Arquitectura
Screened Host
Definici´on
Configuraci´on en la que el firewall 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
Introducci´on
Dise˜no y Arquitectura
Screened Subnet
Definici´on
A˜nade 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 basti´on
Tambi´en conocida como red perim´etrica 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
Introducci´on
Tipos de Firewall
Taxonom´ıa
Noonan, Wesley J. & Dubrawsky, Ido. Firewall Fundamentals, Cisco Press.
19. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
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 aplicaci´on (Application Layer Firewalls)
4 Stateful Inspection
20. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
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
Introducci´on
Tipos de Firewall
Filtros a nivel paquete (Packet Filters)
Funciona a nivel de red (nivel 3) de la pila de protocolos
(TCP/IP) como filtro de paquetes IP.
En este nivel se pueden realizar filtros seg´un los distintos
campos de los paquetes IP: direcci´on IP origen, direcci´on IP
destino.
A menudo en este tipo de Firewall se permiten filtrados seg´un
campos de nivel de transporte (nivel 4) como el puerto origen
y destino, o a nivel de enlace de datos (nivel 2), como la
direcci´on MAC.
22. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
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
Introducci´on
Tipos de Firewall
Firewall a nivel circuito (Circuit Level Firewalls)
Una vez que la conexi´on 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 v´alidas y
permite que los paquetes de la red pasen a trav´es de ella si
corresponden a alg´un registro de la tabla.
Una vez terminada la conexi´on, la tabla se borra y la
transmisi´on de informaci´on entre las dos computadoras se
cierra.
24. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
Tipos de Firewall
Firewall a nivel aplicaci´on (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
Introducci´on
Tipos de Firewall
Firewall a nivel aplicaci´on (Application Layer Firewalls)
Trabaja en el nivel de aplicaci´on (nivel 7) de manera que los
filtrados se pueden adaptar a caracter´ısticas propias de los
protocolos de este nivel. Por ejemplo, si se trata de tr´afico
HTTP se pueden realizar filtrados seg´un la URL a la que se
est´a intentando acceder.
Un Firewall a nivel 7 de tr´afico HTTP es normalmente
denominado Proxy y permite que los computadores de una
organizaci´on entren a internet de una forma controlada.
Pertenece a la tercera generaci´on de Firewalls.
Examina la informaci´on de todos los paquetes de la red y
mantiene el estado de la conexi´on y la secuencia de la
informaci´on.
En este tipo de tecnolog´ıa tambi´en se pueden validar claves de
acceso y algunos tipos de solicitudes de servicios.
26. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
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
Introducci´on
Tipos de Firewall
Stateful Inspection
Guarda registros de conexi´on usando una tabla de estado que
almacena todos los niveles de comunicaci´on.
28. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
Tipos de Firewall
Ejemplos de Implementaci´on
Moraes, Alexandre M. S. P. Cisco Firewalls, Cisco Press, P 21.
29. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
Tipos de Firewall
UTM
Definici´on
UTM (en ingl´es: Unified Threat Management) o Gesti´on Unificada
de Amenazas, son firewalls de red que engloban m´ultiples
funcionalidades en una misma caja.1
El t´ermino 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, Detecci´on/Prevenci´on de Intrusos
(IDS/IPS)
1
http://es.wikipedia.org/wiki/Unified Threat Management
30. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
Tipos de Firewall
UTM (2)
Ventajas:
Se pueden sustituir varios sistemas independientes por uno solo
facilitando su gesti´on
Desventajas:
Se crea un punto ´unico de fallo y un cuello de botella, es decir
si falla este sistema la organizaci´on queda desprotegida
totalmente.
Tiene un costo fijo peri´odico.
31. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
Fabricantes
1 Introducci´on
Conceptos Previos
Dise˜no y Arquitectura
Tipos de Firewall
Fabricantes
2 Firewalls en GNU/Linux con iptables
32. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
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
Introducci´on
Fabricantes
Magic Quadrant for Enterprise Network Firewalls
34. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
Fabricantes
Magic Quadrant for Unified Threat Management
35. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Firewalls en GNU/Linux con iptables
1 Introducci´on
2 Firewalls en GNU/Linux con iptables
Definici´on 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
Definici´on y conceptos previos
1 Introducci´on
2 Firewalls en GNU/Linux con iptables
Definici´on 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
Definici´on y conceptos previos
Netfilter
Definici´on
Componente del n´ucleo Linux (desde la versi´on 2.4) encargado de
la manipulaci´on de paquetes de red.
Permite:
filtrado de paquetes.
traducci´on de direcciones (NAT).
modificaci´on de paquetes.
38. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Firewalls en GNU/Linux con iptables
Definici´on y conceptos previos
iptables
Herramienta que permite construir y configurar firewalls
Desarrollado por el proyecto Netfilter
(http://www.netfilter.org)
Liberado para el kernel 2.4 en Enero del 2001.
Usos:
Control de Trafico (o Flujo de Red)
Seguridad (de Servicios de Red)
Observaci´on (del Trafico actual)
39. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Firewalls en GNU/Linux con iptables
Componentes de iptables
1 Introducci´on
2 Firewalls en GNU/Linux con iptables
Definici´on 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
Definici´on
Distintos tipos de procesamiento que se puede aplicar sobre los
paquetes.
1 filter: Controla decisiones de filtrado de paquetes
(aceptar/denegar)
Cadenas: INPUT, OUTPUT, FORWARD
2 nat: Controla la traducci´on de direcciones.
Cadenas: PREROUTING, POSTROUTING
3 mangle: Controla los procesos de modificaci´on 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
consultar´an en momentos concretos del flujo de los paquetes.
42. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Firewalls en GNU/Linux con iptables
Componentes de iptables
Cadenas
Definici´on
Contienen las listas de reglas a aplicar sobre los paquetes.
INPUT: reglas a aplicar sobre los paquetes destinados a la
propia m´aquina.
OUTPUT: reglas a aplicar sobre los paquetes originados en la
propia m´aquina. Usada para controlar las salidas del propio
equipo.
FORWARD: reglas a aplicar sobre los paquetes que
atraviesan la m´aquina con destino a otras (paquetes en
tr´ansito 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)
[redirecci´on de puertos].
POSTROUTING: reglas a aplicar sobre paquetes (propios o
ajenos) recibidos de la red (antes de decidir a d´onde tutearlos
[local o reenvio]). Usada para SNAT (source NAT).
Se pueden crear cadenas definidas 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 funci´on 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 acci´on correspondiente y se abandona la cadena.
Si el paquete no encaja con ninguna regla, se le aplica la
pol´ıtica por defecto que se haya asignado a esa cadena.
por defecto las cadenas predeterminadas est´an inicializadas con
una pol´ıtica ACCEPT.
al agotar las cadenas definidas por el usuario, se retorna a la
cadena predeterminada que la activ´o.
45. Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Firewalls en GNU/Linux con iptables
Componentes de iptables
Flujo de paquetes a trav´es de la tabla FILTER
Gregor N. Purdy. Linux Iptables Pocket Reference, O’Reilly, 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 trav´es de la tabla NAT
Gregor N. Purdy. Linux Iptables Pocket Reference, O’Reilly, 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 trav´es de la tabla MANGLE
Gregor N. Purdy. Linux Iptables Pocket Reference, O’Reilly, 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 Introducci´on
2 Firewalls en GNU/Linux con iptables
Definici´on 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 firewall 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 firewall 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 n´umero de regla:
iptables -D INPUT 4
O especificar 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 tr´afico
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
S´olo bloquear el tr´afico entrante
Para eliminar todos los paquetes entrantes / enviado, pero permitir
el tr´afico 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 espec´ıficas
Eliminar direcciones de red privada en la interfaz p´ublica
(Suponiendo eth0 como interfaz p´ublica)
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 tr´afico de loopback, y eliminar todo el tr´afico
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 inv´alido que no pueda ser
identificado:
iptables -A INPUT -m state --state INVALID -j DROP
Bloquear todo el tr´afico 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 tr´afico WEB entrante:
iptables -I OUTPUT -p tcp --dport 80 -j DROP
Bloquear todo el tr´afico dirigido a 192.168.0.1:
iptables -I OUTPUT -p tcp --dest 192.168.0.1 -j
DROP
Permitir tr´afico Web:
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
Permitir tr´afico al puerto 2003 para localhost:
iptables -I INPUT -s 12.0.0.1 -p tcp --dport 2003
-j ACCEPT
Permitir tr´afico HTTPS desde la direcci´on ip 10.2.2.4:
iptables -I INPUT -s 10.2.2.4 -p tcp -m tcp
--dport 443 -j DROP
Negar tr´afico 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 direcci´on IP
11.22.33.44:
iptables -A INPUT -p tcp -m state --state NEW
--dport 21 --source 11.22.33.44
Permitir todo el tr´afico 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 tr´afico 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 tr´afico 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 tr´afico
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
S´olo 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 tr´afico 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 n´umero de conexiones
Se puede utilizar el m´odulo 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 n´umero 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 prefix 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 s´olo 25 conexiones por minuto.
-Limit-burst 100: Indica que el valor de limit/minute
ser´a forzado s´olo despu´es del n´umero 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 redirecci´on 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 bit´acora
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 Bibliogr´aficas I