Lab01-Firewall Iptables
Lab01-Firewall Iptables
REGULAR
REDES Y COMUNICACIONES DE
DATOS
SEGURIDAD PERIMETRAL
Laboratorio N° 1
“FIREWALL IPTABLES”
Integrantes:
Gómez Villanueva Darío Gabriel
Quispe Mamani Flor Angela
Sucasaire Castillo Jamilet Pamela
“FIREWALL IPTABLES”
OBJETIVOS
Aprender a usar iptables para la creación de reglas
Implementar un servidor FIREWALL en Linux
TOPOLOGIA
1.- INSTALACIÓN
IPTABLES es un
poderoso firewall
integrado en el kernel de
Linux y que forma parte
del proyecto netfilter.
Para la creación de reglas
usaremos el comando
iptables, que viene dentro
de un pquete RPM del
mismo nombre.
Generalmente ya viene
instalado. El hostname de
su servidor debe llevar
su nombre. Ejemplo:
rrodriguez.tecsup.edu.pe
Verificación:
2.- CONFIGURACIÓN
a) FILTRADO
Para empezar a crear reglas se requiere que se entienda el concepto detrás de las cadenas de
NetFilter
Cadenas:
2
Parámetros:
-p Sirve para especificar el protocolo que se utiliza
-s Sirve para especificar la dirección IP de origen
-d Sirve para especificar la dirección IP de destino
-i Especifica la interfaz de entrada
-o Especifica la interfaz de salida
Acciones:
Habilita todo tráfico (UDP, TCP e ICMP) de salida del firewall hacia internet; para
conexiones nuevas, relacionadas o establecidas.
#iptables -A OUTPUT -d 0.0.0.0/0 -o ens160 -m state --state NEW, ESTABLISHED,
RELATED -j ACCEPT
Habilita todo tráfico (UDP, TCP e ICMP) de entrada al firewall, que venga de internet;
solo para conexiones establecidas o relacionadas.
#iptables -A INPUT -s 0.0.0.0/0 -i ens160 -m state --state ESTABLISHED, RELATED -j
ACCEPT
Habilita el protocolo HTTP y HTTPS para la red LAN con destino hacia internet; para
conexiones nuevas, relacionadas o establecidas.
#iptables -A FORWARD -p tcp -m multiport --dport 80,443 -s 192.168.1.0/24 -i ens192 -d
0.0.0.0/0 -o ens160 -m --state NEW, ESTABLISHED, RELATED –j ACCEPT
3
Habilita el protocolo HTTP y HTTPS, que venga de internet, con destino hacia la red
LAN; solo para conexiones relacionadas o establecidas.
#iptables -A FORWARD -p tcp -m multiport --sport 80,443 -s 0.0.0.0/0 -i ens160 -d
192.168.1.0/24 -o ens192 -m --state ESTABLISHED, RELATED –j ACCEPT
Verificar las reglas ingresadas, con mayor detalle, de toda la tabla filter.
#iptables -L -nv
Verificar las reglas ingresadas, con mayor detalle, de toda la tabla nat.
#iptables -t nat -L -nv
b) NAT
Configurar NAT para que toda la red LAN salga hacia internet con una IP Pública
específica. Además, agregando un comentario haciendo uso el módulo comment.
Configurar un NAT de tipo PAT para publicar el puerto 80 y 443, de un servidor web,
hacia internet; con una IP Pública específica.
#iptables -t nat -A PREROUTING -p tcp -m multiport --dport 80,443 -s 0.0.0.0/0 -i ens160 -j
DNAT --to 10.10.10.10
Configurar NAT para que toda la red LAN salga hacia internet con la IP Pública
configurada en la tarjeta de rede WAN.
#iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ens160 -j MASQUERADE
-------------------------------------------------
4
ACTIVIDADES.
A continuación, se da una tabla de los servicios que deben ser habilitados, y los demás deben
ser bloqueados.
Los clientes de la LAN deben poder hacer consultas DNS hacia servidores públicos en
internet.
o iptables -A FORWARD -i ens33 -p tcp --dport 53 -d ens38 -j ACCEPT
Los clientes de la LAN deben poder acceder (HTTP y HTTPS) al servidor web de la DMZ.
El servidor web debe ser visible desde internet. Por lo tanto, publicar los puertos
necesarios para los servicios HTTP y HTTPS.
Se debe publicar el servicio de “escritorio remoto” para que sea accesible desde
internet; para el servidor Terminal Server.
Solo la IP 192.168.X.100 puede acceder por escritorio remoto al servidor terminal
server.
Los clientes de la LAN deben tener habilitado los servicios HTTP, HTTPS, SMTP, POP3,
IMAP, FTP, SFTP; hacia internet.
La IP 192.168.X.100 y 192.168.X.200 no deben tener ninguna restricción cuando
navegan hacia internet.
Solo la IP 192.168.X.100 puede acceder por SSH al servidor web de la DMZ.
El WebServer debe tener habilitado los servicios HTTP, HTTPS, SSH; hacia internet.
Además, el puerto 10000/TCP hacia internet.
La IP 192.168.X.100 tiene habilitado ICMP para todos los equipos de la DMZ.
El firewall debe poder conectarse hacia la LAN, WAN y DMZ sin ninguna restricción.
Habilitar los puertos 10000:2000 /UDP para la LAN hacia internet. Además, el puerto
5060/TCP-UDP.
La IP 10.10.X.100 no debe tener ninguna restricción cuando navega hacia internet.
NOTA:
Se debe presentar el script aplicado al firewall, con los comentarios de cada protocolo.
Imágenes de los resultados pedidos (Sólo resultados de 5 pruebas)
5
Desarrollo de actividad
6
WebServer
4.
5.
7
6.
7.
8.
9.
#!/bin/bash
#Limpiamos tablas
iptables -F
iptables -X
# Limpiamos NAT
iptables -t nat -F
iptables -t nat -X
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#Intranet LAN
intranet=ens34
#Extranet wan
extranet=ens33
# Loop device.
iptables -A INPUT -i lo -j ACCEPT
8
# monitoreo por ejemplo si tienen zabbix o algun otro servicio snmp
iptables -A INPUT -p tcp -s 192.168.x.x/24 -i $intranet --dport 10050 -j ACCEPT
#Anti-SPOOFING 09/07/2014
#
SERVER_IP="190.x.x.x" # server IP - la ip wan real de tu servidor
LAN_RANGE="192.168.x.x/21" # Rango LAN de tu red o de tu vlan
# Acción por defecto - que se realizara cuando haga match alguna regla
ACTION="DROP"
# Paquetes con el Rango LAN por la wan, lo coloco así por si tienes
# alguna red particular, pero esto es redundante con la siguiente
# regla dentro del bucle "for"
iptables -A INPUT -i $extranet -s $LAN_RANGE -j $ACTION
iptables -A OUTPUT -o $extranet -s $LAN_RANGE -j $ACTION
9
10
OBSERVACIONES Y CONCLUSIONES (MIN 3 DE CADA UNO)
11