LinuxParty

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Ejemplo de configuración de IPTables. (Cortafuegos para Linux)

#!/bin/sh
## SCRIPT de IPTABLES - ejemplo del manual de iptables
## Ejemplo de script para firewall entre red-local e internet
##
## Web LinuxParty: https://www.linuxparty.es/

echo -n "Aplicando Reglas de Firewall... "

## FLUSH de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

## Establecemos política 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

## Empezamos a filtrar
## Nota: eth0 es el interfaz conectado al router y eth1 a la LAN
# El localhost se deja (por ejemplo conexiones locales a mysql)
/sbin/iptables -A INPUT -i lo -j ACCEPT

# Al firewall tenemos acceso desde la red local
iptables -A INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT

# Ahora hacemos enmascaramiento de la red local
# y activamos el BIT DE FORWARDING (imprescindible!!!!!)
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

# Con esto permitimos hacer forward de paquetes en el firewall, o sea
# que otras máquinas puedan salir a traves del firewall.
echo 1 > /proc/sys/net/ipv4/ip_forward

## Y ahora cerramos los accesos indeseados del exterior:
# Nota: 0.0.0.0/0 significa: cualquier red

# Cerramos el rango de puerto bien conocido
# Para logear, bastará quitar el coment "#"
# iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 1:1024 -j LOG --log-level info
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 1:1024 -j DROP
# iptables -A INPUT -s 0.0.0.0/0 -p udp --dport 1:1024 -j LOG --log-level info
iptables -A INPUT -s 0.0.0.0/0 -p udp --dport 1:1024 -j DROP

# Cerramos un puerto de gestión: webmin
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 10000 -j DROP

# Y el resto, lo cerramos
# Para logear, bastará también quitar "#"
# iptables -A INPUT -p tcp --dport 20:21 -j LOG --log-prefix "UDP: " --log-level info
iptables -A INPUT -p tcp --dport 20:21 -j DROP
# iptables -A INPUT -p tcp --dport 3306 -j LOG --log-prefix "MYSQL: " --log-level info
iptables -A INPUT -p tcp --dport 3306 -j DROP
# iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix "SSH: " --log-level info
iptables -A INPUT -p tcp --dport 22 -j DROP
# iptables -A INPUT -p tcp --dport 10000 -j LOG --log-prefix "WEBMIN: " --log-level info
iptables -A INPUT -p tcp --dport 10000 -j DROP
echo " OK "
echo ". Verifique que lo que se aplica con: iptables -L -n"


# Fin del script
# ------------------------------------------------------
# Para llamar al script, editamos el fichero /etc/rc.d/rc.local 
# y lo dejamos como aparece a continuación, en el mismo se hace una 
# llamada a /etc/rc.d/cortafuegos.sh, que es nuestro script.
# ------------------------------------------------------

Este es el fichero:  /etc/rc.d/rc.local

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

##########################################
##### JAVIER CONFIGURACION ###########
##########################################
/usr/local/bin/echoc /4 "Arrancamos nuestro cortafuegos... de /etc/rc.d/cortafuegos.sh"
/etc/rc.d/cortafuegos.sh
/usr/sbin/pppd &
tail -f /var/log/messages > /dev/tty9 &

tail -f /var/log/mi-log > /dev/tty10 &
# Mensaje a pantalla
/usr/local/bin/echoc "* Si enciende el módem, generaremos la demanda para conectarnos a internet. *"
/usr/local/bin/echoc " ¡¡¡ Cuidado ( de no encender ), si no es la hora de conexión apropiada !!!"
/bin/sleep 5
# Mensaje al log ( /var/log/messages )
/bin/echo "* Si enciende el módem, generaremos la demanda para conectarnos a internet. *" >> /var/log/messages &
/bin/echo " ¡¡¡ Cuidado ( de no encender ), si no es la hora de conexión apropiada !!!" >> /var/log/messages &
/bin/ping www.terra.es &
/usr/bin/playwave /etc/rc.d/UhhhYeah.wav >> /var/log/messages &
/sbin/ifconfig eth0:1 192.168.1.16
/sbin/ifconfig eth0:2 192.168.1.17
/sbin/ifconfig eth0:3 192.168.1.18
/sbin/ifconfig eth0:4 192.168.1.19
/sbin/ifconfig eth0:5 192.168.1.14

Algunos programas, como echoc (que resalta en color) ha sido extraído de TutorialLinux

Comentarios

# Guest 29-11-2005 02:41
En la parte de JAVIER CONFIGURACIÓN, se deduce que es para una conexión
bajo modem, hay que indicar a los usuarios que tengan otro tipo de
conexión, por ejemplo ADSL, esta configuración no sería necesaria.


No estás registrado para postear comentarios



Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías