All pastes #80847 Raw Edit

haldrik

public text v1 · immutable
·published 2006-07-06 21:40 UTC
rendered paste body
#!/bin/sh
#Primer script de haldrik para iptables

echo "Aplicando Reglas de Firewall..."

## FLUSH de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

## Establecemos politica por defecto
iptables -P INPUT DROP
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
# El localhost se deja (por ejemplo conexiones locales a mysql)
iptables -A INPUT -i lo -j ACCEPT

# A nuestras ip le dejamos todo
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT

# Al firewall tenemos acceso desde la red local
iptables -A INPUT -s 192.168.0.0/24 -i eth1 -j ACCEPT

## Ahora con regla FORWARD filtramos el acceso de la red local
## al exterior. Como se explica antes, a los paquetes que no van dirigidos al
## propio firewall se les aplican reglas de FORWARD

# Aceptamos que vayan a puertos 80
iptables -A FORWARD -s 192.168.0.0/24 -i eth1 -p tcp --dport 80 -j ACCEPT
# Aceptamos que vayan a puertos https
iptables -A FORWARD -s 192.168.0.0/24 -i eth1 -p tcp --dport 443 -j ACCEPT

# Aceptamos que consulten los DNS
iptables -A FORWARD -s 192.168.0.0/24 -i eth1 -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -i eth1 -p udp --dport 53 -j ACCEPT

# Denegamos trasferencias y videoconferencia a ciertas ip's
iptables -A FORWARD -s 192.168.0.13 -i eth1 -j DROP
iptables -A FORWARD -s 192.168.0.14 -i eth1 -j DROP
iptables -A FORWARD -s 192.168.0.15 -i eth1 -j DROP

# Permitimos trasferencias de archivos de msn y video conferencia
iptables -A FORWARD -s 192.168.0.0/24 -i eth1 -p tcp --dport 5004:65535 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -i eth1 -p udp --dport 5004:65535 -j ACCEPT

# Y denegamos el resto. Si se necesita alguno, ya avisaran
iptables -A FORWARD -s 192.168.0.0/25 -i eth1 -j DROP

# Ahora hacemos enmascaramiento de la red local
# y activamos el BIT DE FORWARDING (imprescindible!!!!!)
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

# Redirecciono todo lo que venga al puerto 80 hacia el 3128 que es el de squid
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

# 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

echo
echo "OK . Verifique que lo que se aplica con: iptables -L -n"

# Fin del script