sábado, 14 de abril de 2012

Ejercicio 3 iptables

Vamos a realizar un ejercicio (http://dns.bdat.net/documentos/cortafuegos/x267.html)

Proteger la propia máquina I
#!/bin/sh
## SCRIPT de practica_iptables.pdf
echo -n Aplicando Reglas de Firewall...
##Vaciamos las reglas
iptables -F
iptables -X
iptables -t nat -F
##Establacemos las politicas predeterminadas
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
##Aceptamos todo de localhost
/sbin/iptables -A INPUT -i lo -j ACCEPT
##A nuestra Ip le dejamos todo
iptables -A INPUT -s 192.168.1.188 -j ACCEPT
##Permitimos una conexión a ssh y telenet (22:23) desde un equipo
iptables -A INPUT -s 192.168.1.156 -p tcp --dport 22:23 -j ACCEPT
##A otro le permitimos el acceso FTP
iptables -A INPUT -s 192.168.1.156 -p tcp --dport 20:21 -j ACCEPT
##El puerto 80 (www) abierto para un servidor web
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
##El resto lo cerramos
iptables -A INPUT -p tcp --dport 20:21 -j DROP
iptables -A INPUT -p tcp --dport 22:23 -j DROP
#TCP 6001 (Servicio Almacén de información de Microsoft Exchange)
iptables -A INPUT -p tcp --dport 6001 -j DROP
echo " OK . Verifique que lo que se aplica con: iptables -L -n"
# Fin del script

Proteger la propia máquina II

#!/bin/sh
##
SCRIPT de practica_iptables.pdf
echo -n Aplicando Reglas de Firewall...
##Vaciamos las reglas
iptables -F
iptables -X
iptables -t nat -F
##Establacemos las politicas predeterminadas
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
##Creamos una nueva cadena (con el comando -N)
iptables -N filtro
##definimos las reglas de la nueva cadena
iptables -A filtro -m state --state ESTABLISHED,RELATED -j ACCEPT
  #Las condiciones explicitas se deben cargar con -m o –match
  #state nos permite seleccionar paquetes de acuerdo al estado de su conexión
  #ESTABLISHED Significa que el paquete es parte de una conexión existente,..
  #..que manda paquetes en ambas direcciones. RELATED Significa que el paquete
  #..esta creando una nueva conexión asociada a otra existente conocida.
iptables -A filtro -m state --state NEW -i !eth0 -j ACCEPT
  #El signo ! es igual a negar, con lo que !eth0 son todas menos eth0.
iptables -A filtro -j DROP
##Aceptamos las conexiones internas
/sbin/iptables -A INPUT -i lo -j ACCEPT
##Ir a la cadena filtro desde las cadenas INPUT y FORWARD
iptables -A INPUT -j filtro
iptables -A FORWARD -j filtro
echo " OK . Verifique que lo que se aplica con: iptables -L -n"
# Fin del script

Proteger la propia máquina III
#!/bin/sh
##SCRIPT de practica_iptables.pdf
echo -n Aplicando Reglas de Firewall...
##Vaciamos las reglas
iptables -F
iptables -X
iptables -t nat -F
##Establacemos las politicas predeterminadas
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
##Aceptamos todo de localhost
/sbin/iptables -A INPUT -i lo -j ACCEPT
##A nuestra IP le dejamos todo
iptables -A INPUT -s 192.168.1.156 -j ACCEPT
##Permitimos una conexion a telnet y ssh desde un equipo
iptables -A INPUT -s 192.168.1.156 -p tcp --dport 22:23 -j ACCEPT
##A otro le permitimos acceso a FTP
iptables -A INPUT -s 192.168.1.106 -p tcp --dport 20:21 -j ACCEPT
##El puerto 80 debe estar abierto, ya que es un servidor web
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
##Cerramos rango de los puertos privilegiados. Hay que tener cuidado con
#este tipo de barreras, ya que antes hay que abrir a los que si tiene acceso
iptables -A INPUT -p tcp --dport 1:1024 -j DROP
iptables -A INPUT -p udp --dport 1:1024 -j DROP
##Impedimos iniciar conexión en los puertos altos (FTP podría no funcionar)
iptables -A INPUT -p tcp --syn --dport 1025:65535 -j DROP
##Cerramos otros puertos que están abiertos
iptables -A INPUT -p tcp --dport 3306 -j DROP
iptables -A INPUT -p tcp --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