Script: Configuración básica para tu firewall

El siguiente es un script muy básico de iptables que puedes usar para proteger un solo equipo conectado a Internet a través de un modem o de una línea dedicada como adsl (algo parecido es lo que yo uso). Lo básico no es sinónimo de inseguro, de hecho este pequeño firewall es un excelente ejemplo de la potencia de iptables, el firewall de Linux, que con unas cuantas líneas es posible establecer un cortafuegos bastante seguro y eficaz.

# ---------------------------------------------------------------------------------
# www.linuxtotal.com.mx
# firewall para un solo equipo conectado a traves de modem o adsl
# por: sergio.gonzalez.duran@gmail.com

# (1) se eliminan reglas previas que hubiera y cadenas definidas por el usuario
iptables -F iptables -X

# (2) se establecen politicas "duras" por defecto, es decir solo lo que se autorice
# explicitamente podra ingresar o salir del equipo
iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP

# (3)a la interface lo (localhost) se le permite todo
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT

# (4) evitamos ataques syn-flood limitando el acceso de paquetes nuevos
# desde internet a solo 4 por segundo y los demas se descartan
iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 4 -j DROP

# (5) se evitan paquetes tcp que sean nuevos y que no tengan el flag SYN
# es decir, hay ataques o escaneos que llegan como conexiones nuevas
# pero sin ser paquetes syn, definitivamente no nos interesan
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

# (6) todo lo que sea icmp (ping) y que intente entrar, se descarta
# con esto bloqueamos cualquier tipo de paquetes con protocolo icmp
# evitando ataques como el del ping de la muerte, aunque esta regla
# podria provocar problemas de comunicacion con algunos ISP.
iptables -A INPUT -p icmp -j DROP

# (7) por ultimo las dos siguientes reglas permiten salir del equipo 
# (output) conexiones nuevas que nosotros solicitamos, conexiones establecidas
# y conexiones relacionadas, y deja entrar (input) solo conexiones establecidas
# y relacionadas.
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# ---------------------------------------------------------------------------------

seguir leyendo explicación.

Otro script BASICO
Advertisements

Utzi erantzun bat

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Aldatu )

Twitter picture

You are commenting using your Twitter account. Log Out / Aldatu )

Facebook photo

You are commenting using your Facebook account. Log Out / Aldatu )

Google+ photo

You are commenting using your Google+ account. Log Out / Aldatu )

Connecting to %s

%d bloggers like this: