#!/bin/sh
## SCRIPT de IPTABLES - ejemplo del manual de iptables
## Ejemplo de script para proteger la propia máquina
## Pello Xabier Altadill Izura
## www.pello.info - pello@pello.info
## SCRIPT de IPTABLES - ejemplo del manual de iptables
## Ejemplo de script para proteger la propia máquina
## Pello Xabier Altadill Izura
## www.pello.info - pello@pello.info
echo -n Aplicando Reglas de Firewall...: ver en pantalla el mensaje que sigue a echo
## FLUSH de reglas : limpieza de reglas (inicializar iptables)
iptables -F: borramos todas las reglas, no queremos que hayan mas reglas ejecutandose de las que vamos a ejecutar ahora.
iptables -X
iptables -Z
iptables -t nat -F: solo borras los que estén haciendo nat en ese momento
iptables -F: borramos todas las reglas, no queremos que hayan mas reglas ejecutandose de las que vamos a ejecutar ahora.
iptables -X
iptables -Z
iptables -t nat -F: solo borras los que estén haciendo nat en ese momento
## Establecemos politica por defecto a Aceptar
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
Que lo acepte todo de momento, luego vendrán mas reglas
## Empezamos a filtrar
# El localhost se deja (por ejemplo conexiones locales a
mysql)
/sbin/iptables -A INPUT -i lo -j ACCEPT: si tengo un servidor de mysql en el firewall que lo pueda utilizar
/sbin/iptables -A INPUT -i lo -j ACCEPT: si tengo un servidor de mysql en el firewall que lo pueda utilizar
# A nuestra IP le dejamos todo, por lo que podrá mandar los paquetes respuesta a las
peticiones FTP y MySQL que generan el colega y el diseñador de las reglas siguientes
iptables -A INPUT -s 195.65.34.234 -j ACCEPT
iptables -A INPUT -s 195.65.34.234 -j ACCEPT
# A un colega le dejamos entrar al mysql para que mantenga
la BBDD
iptables -A INPUT -s 231.45.134.23 -p tcp --dport 3306 -j ACCEPT: aceptamos todas las entradas a través del puerto 3306 lo acepto porque el puerto 3306 es el de mysql
iptables -A INPUT -s 231.45.134.23 -p tcp --dport 3306 -j ACCEPT: aceptamos todas las entradas a través del puerto 3306 lo acepto porque el puerto 3306 es el de mysql
# A un diseñador le dejamos usar el FTP
iptables -A INPUT -s 80.37.45.194 -p tcp -dport 20:21 -j ACCEPT: aceptamos todas las entradas a través del puerto para ftp
iptables -A INPUT -s 80.37.45.194 -p tcp -dport 20:21 -j ACCEPT: aceptamos todas las entradas a través del puerto para ftp
# El puerto 80 de www debe estar abierto, es un servidor
web (http).
iptables -A INPUT -p tcp --dport 80 -j ACCEPT: aceptamos todas las entradas a través del puerto para el servidor web
iptables -A INPUT -p tcp --dport 80 -j ACCEPT: aceptamos todas las entradas a través del puerto para el servidor web
# Y el resto, lo cerramos, el FTP cerrado, el MySQL cerrado, el telnet cerrado...
iptables -A INPUT -p tcp --dport 20:21 -j DROP
iptables -A INPUT -p tcp --dport 3306 -j DROP
iptables -A INPUT -p tcp --dport 22 -j DROP
iptables -A INPUT -p tcp --dport 10000 -j DROP: para alojar servidores generalmente en formato web
iptables -A INPUT -p tcp --dport 20:21 -j DROP
iptables -A INPUT -p tcp --dport 3306 -j DROP
iptables -A INPUT -p tcp --dport 22 -j DROP
iptables -A INPUT -p tcp --dport 10000 -j DROP: para alojar servidores generalmente en formato web
echo " OK . Verifique que lo que se aplica con: iptables -L -n": Nos sugiere que ejecutemos iptables -L para ver que esté todo bien puesto:
# Fin del script
#!/bin/sh
## SCRIPT de IPTABLES - ejemplo del manual de iptables
## Ejemplo de script para proteger la propia máquina
## Pello Xabier Altadill Izura
## www.pello.info - pello@pello.info
echo -n Aplicando Reglas de Firewall...: Escribe un mensaje en pantalla diciendo "Aplicando ... ".
## FLUSH de reglas
iptables -F: borramos todas las reglas
iptables -X
iptables -Z
iptables -t nat -F: solo borras los que estén haciendo nat en ese momento
Todo lo anterior es para tener el firewall limpio y que solo aparezcan las nuestras.
## 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
Todo lo que llegue (SI NO SE DICE LO CONTRARIO) lo vamos a aceptar.
## Empezamos a filtrar
# El localhost se deja (por ejemplo conexiones locales a mysql)
/sbin/iptables -A INPUT -i lo -j ACCEPT
Que puedas manejar el firewall sin ningun problema
# A nuestra IP le dejamos todo
iptables -A INPUT -s 195.65.34.234 -j ACCEPT
Le decimos que todo lo que llegue por nuestra ip que pase.
# A un colega le dejamos entrar al mysql (puerto 3306) para que mantenga la BBDD
iptables -A INPUT -s 231.45.134.23 -p tcp --dport 3306 -j ACCEPT
# A un diseñador le dejamos usar el FTP
iptables -A INPUT -s 80.37.45.194 -p tcp -dport 20:21 -j ACCEPT
Al diseñador con ip 80.37.45.194 lo dejamos pasar
# El puerto 80 de www debe estar abierto, es un servidor web.
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# Cerramos rango de los puertos privilegiados. Cuidado con este tipo de
# barreras, antes hay que abrir a los que si tienen acceso.
iptables -A INPUT -p tcp --dport 1:1024 -j DROP: todos los puertos que son aplicaciones de servicios los cerramos(1 : 1024)
iptables -A INPUT -p udp --dport 1:1024 -j DROP
# Cerramos otros puertos que estan abiertos (3306 mysql)
iptables -A INPUT -p tcp --dport 3306 -j DROP
iptables -A INPUT -p tcp --dport 10000 -j DROP
iptables -A INPUT -p udp --dport 10000 -j DROP
echo " OK . Verifique que lo que se aplica con: iptables -L -n"
# Fin del script
No hay comentarios:
Publicar un comentario