Professional Documents
Culture Documents
• Definición de Firewall
• ¿Qué son las Iptables?
• Zona Práctica 1. Prevenir antes de curar
• Zona Práctica 2. Firewall de una LAN con salida a Internet
• Zona Práctica 3. Firewall de una LAN con DMZ. Señuelos…
• Zona Práctica 4. Firewall de una LAN con salida a internet y VPNS.
• Políticas de Firewall. Partiendo de denegación de Servicios (DROP)
• Técnicas de Ataque mas comunes.
• Hablemos de VPNS bajo Linux, ¿Qué son?
• Ejemplo práctico de VPN.
Definición de Firewall
Esta parte del comando especifica cual es la tabla en la que queremos añadir la regla. Existen 3 tipos de tablas
válidas : nat, filter y mangle. Nat se refiere a las conexiones que serán modificadas por el firewall, como por
-t [tabla] ejemplo, enmascarar conexiones, realizar redirecciones de puertos, etc. Filter es la tabla donde se añaden
las relacionadas con el filtrado. Mangle tambien modifica paquetes pero, a diferencia de Nat, es mucho mas
potente. Con Mangle podemos modificar cualquier aspecto del paquete (flags, TTL, etc).
Hay 4 opciones básicas con las que se puede jugar en esta apartado del comando. Estas opciones básicas son
las siguientes :
• A es para añadir (Append) una regla. Reglas válidas son INPUT, FORWARD y OUTPUT.
-[AIRDLFZNXP] [regla] • L es para listar las reglas.
• F es para borrar todas las reglas o en el caso de INPUT, FORWARD o OUTPUT seán dados como
argumento se borraran las reglas asociadas solo a esa clase.
• P establece la politica por defecto del firewall. Por defecto es aceptar todas las conexiones.
• X elimina una cadena que esté vacia.
• Z Pone a cero las variables de una cadena.
Aqui es donde se especificarán las características del tipo de paquete que casará con esta regla. Para establecer
reglas sencillas (reglas stateless), podemos operar con las siguientes opciones : -s (ip/red fuente), -d (ip/red
destino), --sport (puerto fuente), --dport (puerto destino), y -p (protocolo). Un ejemplo de comando de la
sintaxis de un ocmando iptables sencillo podría ser este (la parte en que se define el criterio de la regla está
[criterio]
en negrita) :
iptables -A FORWARD -p [protocolo] -s [ip/red fuente] --sport [puerto fuente] -d [ip/red destino] --
dport [puerto destino] -j DROP
Aqui establecemos que es lo que hay que hacer con el paquete. Las posibles opciones son : ACCEPT, REJECT,
DROP, REDIRECT, LOG (existén más, pero estas son las básicas).
Como podemos
ver, comenzamos
aplicando las
reglas, en un
principio,
comenzamos
aceptando todo tipo
de entradas,
salidas, etc…, si
nos fijamos ahora
mismo en la ultima
linea estamos
aceptando la
comunicación hacia
nuestra tarjeta de
red.
Con esta configuración realizamos ping a nuestra propia tarjeta de red, y
comprobamos que hay respuesta.
Cambiamos ACCEPT por drop en la linea /sbin
Ahora, hacemos ping a nuestra tarjeta de red para comprobar si las iptables
estan haciendo efecto.
Y podemos comprobar que funciona correctamente...
Una DMZ (del inglés Demilitarized zone) es una red o parte de una
red, separada de otros sistemas por un cortafuegos, que permite que sólo
entren o salgan ciertos tipos de tráfico de red.
El objetivo principal, es que todo el trafico externo se comunique solamente
con la DMZ. La DMZ no se puede comunicar con la red interna, previniendo
posibles ataques en caso de algun intruso gane control de la DMZ.
En un ejemplo típico, una empresa protegerá sus redes internas frente a
Internet mediante un cortafuegos, pero dispondrá de una DMZ
independiente a la cuál puede acceder de forma limitada el público general.
Los servidores Web públicos podrían situarse en una DMZ de este estilo.
Estructura de Red con DMZ
Router
Eth0
Eth1
Eth2
DMZ
192.168.1.3
Este seria nuestro fichero de Firewall con DMZ:
#!/bin/sh
## SCRIPT de IPTABLES - ejemplo del manual de iptables
echo -n Aplicando Reglas de Firewall...
## FLUSH de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
## Establecemos politica por defecto
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
## Empezamos a filtrar
## Nota: eth0 es el interfaz conectado al router y eth1 a la LAN
# Todo lo que venga por el exterior y vaya al puerto 80 lo redirigimos
# a una maquina interna
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.3.2:80
# Los accesos de un ip determinada HTTPS se redirigen e esa
# maquina
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to 192.168.3.2:443
# El localhost se deja.
/sbin/iptables -A INPUT -i lo -j ACCEPT
# Al firewall tenemos acceso desde la red local
iptables -A INPUT -s 192.168.10.0/24 -i eth1 -j ACCEPT
# Ahora hacemos enmascaramiento de la red local y de la DMZ
# para que puedan salir haca fuera
# y activamos el BIT DE FORWARDING (imprescindible!!!!!)
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o eth0 -j MASQUERADE
# Con esto permitimos hacer forward de paquetes en el firewall, o sea
# que otras máquinas puedan salir a traves del firewall.
echo 1 > /proc/sys/net/ipv4/ip_forward
## Permitimos el paso de la DMZ a una BBDD de la LAN:
iptables -A FORWARD -s 192.168.3.2 -d 192.168.10.5 -p tcp --dport 5432 -j ACCEPT
iptables -A FORWARD -s 192.168.10.5 -d 192.168.3.2 -p tcp --sport 5432 -j ACCEPT
## permitimos abrir el Terminal server de la DMZ desde la LAN
iptables -A FORWARD -s 192.168.10.0/24 -d 192.168.3.2 -p tcp --sport 1024:65535 --dport 3389 -j ACCEPT
# … hay que hacerlo en uno y otro sentido …
iptables -A FORWARD -s 192.168.3.2 -d 192.168.10.0/24 -p tcp --sport 3389 --dport 1024:65535 -j ACCEPT
# … por que luego:
# Cerramos el acceso de la DMZ a la LAN
iptables -A FORWARD -s 192.168.3.0/24 -d 192.168.10.0/24 -j DROP
## Cerramos el acceso de la DMZ al propio firewall
iptables -A INPUT -s 192.168.3.0/24 -i eth2 -j DROP
## Y ahora cerramos los accesos indeseados del exterior:
# Nota: 0.0.0.0/0 significa: cualquier red
# Cerramos el rango de puerto 1024
iptables -A INPUT -s 0.0.0.0/0 -p tcp -dport 1:1024 -j DROP
iptables -A INPUT -s 0.0.0.0/0 -p udp -dport 1:1024 -j DROP
# Cerramos un puerto de gestión: webmin
iptables -A INPUT -s 0.0.0.0/0 -p tcp -dport 10000 -j DROP
echo " OK . Verifique que lo que se aplica con: iptables -L -n"
# Fin del script
Ricemos el Rizo. Firewall de una LAN con salida a internet y VPNS
ETH1: 192.168.10.1
192.168.0.1
ETH0:192.168.0.2
LAN 1. 192.168.10.0/24
ETH2:192.168.3.1
Servidor de Correo:
TUNNEL 192.168.3.2
INTERNET
DMZ.
192.168.3.0/24
LAN 2. 192.168.20.0/24
192.168.20.1
TUNNEL
LAN 1. 192.168.30.0/24
192.168.30.1
Nuestro Firewall quedaría tal que asi:
#!/bin/sh
DDOS : Un ataque de denegación del servicio, también llamado ataque DoS (Denial of Service), es un ataque a
un sistema de ordenadores o red que causa una pérdida en el servicio a los usuarios. Normalmente provoca la
pérdida de la conectividad de la red por el consumo del ancho de banda de la red de la víctima o sobrecarga de los
recursos computacionales del sistema de la víctima.
Se genera mediante la saturación de los puertos con flujo de información, haciendo que el servidor se sobrecargue y
no pueda seguir prestando servicios, por eso se le dice "denegación", pues hace que el servidor no de abasto a la
cantidad de usuarios
Fuerza Bruta :se denomina ataque de fuerza bruta a la forma de recuperar una clave probando todas las
combinaciones posibles de caracteres hasta encontrar aquella que permite el acceso.
Spoofing, en términos de seguridad informática hace referencia al uso de técnicas de suplantación de identidad
generalmente con usos maliciosos o de investigación.
Existen diferentes tipos de spoofing dependiendo de la tecnología a la que nos refiramos, los cuales se describirán más
adelante, como el IP spoofing (quizás el más conocido), ARP spoofing, DNS spoofing, Web spoofing o e-mail spoofing,
aunque en general se puede englobar dentro de spoofing cualquier tecnología de red susceptible de sufrir suplantaciones de
identidad.
Hablemos de VPNS bajo Linux, ¿Qué son?
Básicamente, PPTP lo que hace es encapsular los paquetes del protocolo punto
a punto PPP(Point to Point Protocol) que a su vez ya vienen encriptados en un
paso previo para poder enviarlos a traves de la red.
DIAGRAMAS:
Hay varias posibilidades de conexiones VPN, esto será definido según los requerimientos
de la organización, por eso es aconsejable hacer un buen relevamiento a fin de obtener
datos como por ejemplo si lo que se desea enlazar son dos o mas redes, o si solo se
conectaran usuarios remotos.