Para poder tener cierta seguridad en nuestro server deberemos valernos de un Firewall apropiado. Este podremos montarlo utilizando IPTABLES.
El orden de aplicación de las reglas sera el siguiente.
1ro Permito todas las excepciones, una por una.
2do, Deniego todo.
si lo hacemos al revés, por mas que las excepciones estén permitidas no las respetara y quedara todo cerrado.
Para iniciar el iptables podremos crear un archivo de texto de la siguiente manera.
# vim /etc/init.d/reglasiptables
A modo de ejemplo y como script básico podremos utilizar el siguiente ejemplo.
#!/bin/sh
### BEGIN INIT INFO
# Provides: IPTABLES
# Required-Start: $local_fs $network $syslog $named
# Required-Stop: $local_fs $network $syslog $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Interactive: true
# Short-Description: Inicio/parada de las reglas IPTABLES
### END INIT INFO
#Script para la carga de reglas IPTALBES
IPTABLES=/sbin/iptables
echo “Iniciando IPTALBES”
#Limpio el IPTABLES
$IPTABLES -F
$IPTABLES -X
$IPTABLES -Z
$IPTABLES -t nat -F
#********Agrego las excepciones***********
#Excepciones basicas
$IPTABLES -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -i eth0 -m state –state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A OUTPUT -m state –state NEW,RELATED,ESTABLISHED -j ACCEPT
# Permito SSH
$IPTABLES -A INPUT -d 192.168.1.2 -p tcp –dport 22 -j ACCEPT
# Permito WEB
$IPTABLES -A INPUT -d 192.168.1.2 -p tcp –dport 80 -j ACCEPT
$IPTABLES -A INPUT -d 192.168.1.2-p tcp –dport 443 -j ACCEPT
# Permito VPN
$IPTABLES -A INPUT -p tcp –dport 1723 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp –sport 1723 -j ACCEPT
$IPTABLES -A INPUT -p gre -j ACCEPT
$IPTABLES -A OUTPUT -p gre -j ACCEPT
# Permito WebAdmin
$IPTABLES -A INPUT -d 192.168.1.2 -p tcp –dport 10000 -j ACCEPT
# Permito el enrutamiento desde la VNP hacia afuera
$IPTABLES -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE
# Permito el ICMP
$IPTABLES -A INPUT -d 192.168.1.2 -p icmp -j ACCEPT
# DENIEGO ALL
$IPTABLES -A INPUT -i ppp0 -p tcp –dport 1:1024 -j REJECT
$IPTABLES -A INPUT -i ppp0 -p udp –dport 1:1024 -j REJECT
$IPTABLES -A INPUT -i ppp0 -p tcp –syn –dport 1025:65535 -j REJECT
:wq!
Luego debemos asignarle permisos de lectura y ejecución a nuestro script de la siguiente manera :
# chomod 775 /etc/init.d/reglasiptables
Ya podemos probar el funcionamiento del mismo corriéndolo a mano y verificando que se apliquen los cambios
para ejecutarlo: # ./etc/init.d/reglasiptables
para verificar tan solo debemos ver las reglas aplicadas: # iptables –L
Si hasta aqui todo ha ido bien solo deberemos de asegurarnos de que se ejecute durante cada inicio.
# update-rc.d reglasiptables defaults
Eso es todo, luego para permitir nuevas excepciones solo bastará con modificar el script y ejecutarlo para que las reglas se apliquen inmediatamente.
Saludos!
Pingback: Firewall con IPTablesEpelByte | EpelByte