El sitio del Chules

Redes de Jesus

11:26

iptables - 07/05/2009

Publicado por Jesus Cano |


Vamos ver el tema de
iptables
iptables es un aplicativo del espacio de usuario que le permite a un administrador de sistema configurar las tablas, cadenas y reglas de netfilter (descritas más arriba). Debido a que iptables requiere privilegios elevados para operar, el único que puede ejecutarlo es el superusuario. En la mayoría de los sistemas Linux, iptables está instalado como /sbin/iptables. La sintaxis detallada del comando iptables está documentada en su página de man, la cual puede verse tipeando el comando "man iptables" desde la línea de comandos.

Maneras de implementar un Firewall
Aceptar por defecto
Denegar por defecto

Para configurar un firewall a traves del software iptables, lanzaremos en el inicio del sistema un script.
- que se arranque al inicio (run levels)
- NAT (Network Address Translator)

Lanzar script al arrancar linux:
Si queremos que el script este activo al arrancar la máquina lo debemos poner por defecto en los niveles de arranque:
update-rc.d sshd defaults
y lo podemos eliminar de los niveles:
update-rc.d -f sshd remove
Enun paquete de reglas, en cuato se cumple una, dejan de ejecutarse mas reglas.

Voy a nombrar un simulador open-source muy útil para montar escenarios de redes tan complicados como queramos. Con este hicelas práctica de telemática, en don tube que implementar diferentes servidores, con servicios tales como: apache, bind, directorio, ... VNUML(Virtual Network User Mode Linux).

Voy a comentar este ejemplo de script:
IPTABLES manual practico, tutorial de iptables con ejemplos

#!/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...

## FLUSH de reglas
iptables -F //elimina todas las reglas de un cadena
iptables -X //elimina todas las cadenas defindas por el usuario
iptables -Z //Pone a cero el byte y los contadore de una cadena
iptables -t nat -F //vaciamos la tabla NAT

## Establecemos politica por defecto //La política por defecto será la de aceptarlo todo
iptables -P INPUT ACCEPT //Paquetes que entran
iptables -P OUTPUT ACCEPT //Paquetes que salen
iptables -P FORWARD ACCEPT //Paquetes que se redirigen
iptables -t nat -P PREROUTING ACCEPT //......
iptables -t nat -P POSTROUTING ACCEPT //.....

## Empezamos a filtrar //Empezamos a estableces los filtros

# El localhost se deja (por ejemplo conexiones locales a mysql)
/sbin/iptables -A INPUT -i lo -j ACCEPT //los host locales no tendrán probemas de acceso los recursos de "internos"

# A nuestra IP le dejamos todo
iptables -A INPUT -s 195.65.34.234 -j ACCEPT //Se permiten los paquetes que vienen desde esa IP

# 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 //Se permiten los accesos de esa IP a traves de puerto especificado (Manejo 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 //Se permiten los accesos de esa IP a traves de los puertos FTP.

# El puerto 80 de www debe estar abierto, es un servidor web.
iptables -A INPUT -p tcp --dport 80 -j ACCEPT //Se aceptan todas la peticiones a traves del puerto 80, es decir, hemos configurado un servidor web.

# Cerramos rango de los puertos privilegiados. Cuidado con este tipo de
# barreras, antes hay que abrir a los que si tienen acceso. //En caso de que no se cumplan las reglas anteriores, se ejecutarán estas impidiendo el paso.
iptables -A INPUT -p tcp --dport 1:1024 -j DROP //paquetes tcp "capados"
iptables -A INPUT -p udp --dport 1:1024 -j DROP //paquetes udp "capados"

# Cerramos otros puertos que estan abiertos (3306 mysql) //Capamos el accseso tambien a estos puertos, siempre y cuando no se haya cumplido ninguna de las reglas anteriores
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

y con esto queda comentado el script.

0 comentarios:

Publicar un comentario