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
Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Agenda
1 Introducci´on
2 Firewalls en GNU/Linux con iptables
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
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
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.
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.
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.
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
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
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.
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.
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.
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
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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
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
Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
Fabricantes
Magic Quadrant for Enterprise Network Firewalls
Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux
Introducci´on
Fabricantes
Magic Quadrant for Unified Threat Management
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
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
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.
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)
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
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
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.
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).
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).
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.
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.
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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.
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
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
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

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

  • 1.
    Tema 3. Firewallsy 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. Firewallsy Proxies con OpenBSD Y GNU/Linux Agenda 1 Introducci´on 2 Firewalls en GNU/Linux con iptables
  • 3.
    Tema 3. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy Proxies con OpenBSD Y GNU/Linux Introducci´on Fabricantes Magic Quadrant for Enterprise Network Firewalls
  • 34.
    Tema 3. Firewallsy Proxies con OpenBSD Y GNU/Linux Introducci´on Fabricantes Magic Quadrant for Unified Threat Management
  • 35.
    Tema 3. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy 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. Firewallsy Proxies con OpenBSD Y GNU/Linux Firewalls en GNU/Linux con iptables Ejemplos de reglas de iptables Referencias Bibliogr´aficas I