Código: Seleccionar todo
#!/bin/sh
echo -n Aplicando Reglas de Firewall...
## FLUSH de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
## Variables
EXTIF="eth0"
INTIF="eth1"
LAN="10.10.1.0/24"
## Establecemos política por defecto
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
# Operar en localhost sin limitaciones
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
# A nuestra IP le dejamos todo
/sbin/iptables -A INPUT -s 10.10.1.15 -j ACCEPT
/sbin/iptables -A OUTPUT -d 10.10.1.15 -j ACCEPT
/sbin/iptables -A INPUT -s 10.10.1.16 -j ACCEPT
/sbin/iptables -A OUTPUT -d 10.10.1.16 -j ACCEPT
# Permitimos la consulta a los DNS
/sbin/iptables -A INPUT -s 200.55.128.3 -p udp -m udp --sport 53 -j ACCEPT
/sbin/iptables -A OUTPUT -d 200.55.128.3 -p udp -m udp --dport 53 -j ACCEPT
/sbin/iptables -A INPUT -s 200.55.128.4 -p udp -m udp --sport 53 -j ACCEPT
/sbin/iptables -A OUTPUT -d 200.55.128.4 -p udp -m udp --dport 53 -j ACCEPT
## El acceso al SMTP desde dentro, permitido.
/sbin/iptables -A INPUT -i $INTIF -s $LAN -p tcp --dport 25 -j ACCEPT
## El acceso al SMTP desde fuera, DENEGADO
/sbin/iptables -A INPUT -i $EXTIF -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp --dport 25 -j DROP
/sbin/iptables -A OUTPUT -o $EXTIF -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp --dport 25 -j DROP
## El acceso al SSH desde dentro, permitido.
/sbin/iptables -A INPUT -i $INTIF -s $LAN -p tcp --dport 22 -j ACCEPT
## El acceso al SSH desde fuera, DENEGADO
/sbin/iptables -A INPUT -i $EXTIF -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp --dport 22 -j DROP
## Acceso al 80 desde el interior
/sbin/iptables -A INPUT -i $INTIF -s $LAN -p tcp --dport 80 -j ACCEPT
## El acceso al 80 desde fuera, DENEGADO
/sbin/iptables -A INPUT -i $EXTIF -p tcp --dport 80 -j DROP
/sbin/iptables -A OUTPUT -o $EXTIF -p tcp --dport 80 -j DROP
## Acceso a POP3 e IMAP desde dentro
/sbin/iptables -A INPUT -i $INTIF -s $LAN -p tcp --dport 110 -j ACCEPT
/sbin/iptables -A INPUT -i $INTIF -s $LAN -p tcp --dport 143 -j ACCEPT
## Acceso a POP3 e IMAP desde el EXTERIOR, DENEGADO
/sbin/iptables -A INPUT -i $EXTIF -s 0.0.0.0/0 -p tcp --dport 110 -j DROP
/sbin/iptables -A INPUT -i $EXTIF -s 0.0.0.0/0 -p tcp --dport 143 -j DROP
# Habilitar el forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# Deshabilitar el ping… quizá discutible.
/bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
# Registrar los accesos extraños, paquetes falseados, etc..
/bin/echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
echo " OK . Verifique que lo que se aplica con: iptables -L -n"