Qué onda raza pues aquà comenzando a postear nuevamente y para dar inicio voy ponerles un script que utilizo para establecer un Firewall usando IPTABLES.
Estas reglas estan establecidas para usar la implementación de: PolÃtica por defecto DENEGAR, es decir, todo esta negado, y solo se permitirá pasar por el firewall aquellos que se permita explÃcitamente.
[code='Bash']
#!/bin/bash
############################################################
# Los acentos en este texto han sido eliminados a proposito.
# Firewall con politicas de DROP por defecto
# Construido por Ivan Rico | 7th Sign
# ivan@rico.org.mx
# http://ivan.rico.org.mx
############################################################
############################################################
# VARIABLES DEL SCRIPT
############################################################
#Ruta del binario de iptables
IPTABLES=/sbin/iptables
#Interfaz conectada a internet
INTERNET="eth0"
#Interfaz conectada a nuestra LAN
LAN="eth1"
#Declarar la clase de la red local
CLASS=192.168.0.1/24
#Declarar el resto de la red
UNIVERSE=0.0.0.0/0
############################################################
# ELIMINACION DE REGLAS EXISTENTES
############################################################
$IPTABLES -F
$IPTABLES -X
$IPTABLES -Z
$IPTABLES -t nat -F
############################################################
# ESTABLECEMOS POLITICAS POR DEFECTO (CERRADO)
############################################################
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
############################################################
# COMIENZAN REGLAS DE FILTRADO
############################################################
#El localhost se deja acceso total
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
#*************************************************************#
#*************************************************************#
# REGLAS DE INPUT #
#*************************************************************#
#*************************************************************#
#PERMITIR PETICIONES ICMP QUE VENGAN DE LAS IPS DE LA RED
$IPTABLES -A INPUT -p ICMP -s $CLASS -j ACCEPT
#PERMITIR PINGS DESDE INTERNET
$IPTABLES -A INPUT -p icmp -i $INTERNET --icmp-type echo-reply -j ACCEPT
#PERMITIR EL USO DEL SERVIDOR DNS
$IPTABLES -A INPUT -p udp -s $CLASS --dport 53 -j ACCEPT
$IPTABLES -A INPUT -p tcp -s $CLASS --dport 53 -j ACCEPT
$IPTABLES -A INPUT -p udp -d $CLASS --sport 53 -j ACCEPT
$IPTABLES -A INPUT -p tcp -d $CLASS --sport 53 -j ACCEPT
#ACCESO A SSH DESDE LA RED LOCAL
$IPTABLES -A INPUT -i $LAN -p tcp --dport 22 -j ACCEPT
#ACCESSO A SMB DESDE LA RED LOCAL
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 137 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 138 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 139 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 445 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 137 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 138 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 139 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 445 -j ACCEPT
#PERMITIR ACCESO A LAS CONEXIONES ESTABLECIDAS
$IPTABLES -A INPUT -i $INTERNET -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#*************************************************************#
#*************************************************************#
# REGLAS DE OUTPUT #
#*************************************************************#
#*************************************************************#
#PERMITIR CONTESTAR LAS PETICIONES ICMP DE LAS IPS DE LA RED
$IPTABLES -A OUTPUT -p ICMP -d $CLASS -j ACCEPT
#PERMITIR PNGS DESDE INTERNET
$IPTABLES -A OUTPUT -p icmp -o $INTERNET --icmp-type echo-request -j ACCEPT
#DNS
$IPTABLES -A OUTPUT -p udp -d $CLASS --sport 53 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -d $CLASS --sport 53 -j ACCEPT
#ACCESO A SSH DESDE LA RED LOCAL
$IPTABLES -A OUTPUT -o $LAN -p tcp --sport 22 -j ACCEPT
#ACCESSO A SMB DESDE LA RED LOCAL
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 137 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 138 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 139 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 445 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 137 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 138 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 139 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 445 -j ACCEPT
#PERMITIR EL ACCESO A LAS CONEXCIONES ESTABLECIDAS
$IPTABLES -A OUTPUT -o $INTERNET -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#*************************************************************#
#*************************************************************#
# REGLAS DE FORWARD #
#*************************************************************#
#*************************************************************#
#HABILITAR CONSULTA DNS
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p udp --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 53 -j ACCEPT
#HABILITAR EL POP3
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 110 -j ACCEPT
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 995 -j ACCEPT
#HABILITAR EL SMTP
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 25 -j ACCEPT
#HABILITAR TRAFICO WEB
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 80 -j ACCEPT
#HABILITAR PING
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p icmp -j ACCEPT
#PERMITIR EL USO DE MSN MESSENGER
$IPTABLES -A FORWARD -p TCP --dport 1863 -j ACCEPT
#PERMITIR EL USO DEL PUERTO DEL CPANEL
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p TCP --dport 2083 -j ACCEPT
#PERMITIR EL USO DEL SSL
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p TCP --dport 443 -j ACCEPT
#PERMITIR CONEXIONES SSH HACIA EL EXTERIOR
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p TCP --dport 22 -j ACCEPT
#HABILITAR LAS CONEXIONES ESTABLECIDAS
$IPTABLES -A FORWARD -i $INTERNET -o $LAN -m state --state ESTABLISHED,RELATED -j ACCEPT
#*************************************************************#
#*************************************************************#
# REGLAS De NAT #
#*************************************************************#
#*************************************************************#
#ACTIVANDO EL NAT USANDO MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
$IPTABLES -t nat -A POSTROUTING -s $CLASS -d $UNIVERSE -o $INTERNET -j MASQUERADE
[/code]
Cabe mencionar que estas reglas son las mas sencillas para poner un buen firewall ya que como pueden ver no establece ninguna zona Desmilitarizada ni nada por el estilo.
Pero bueno funciona para mis propositos y lo hace bien
, espero que a alguién mas le sean útil estas reglas y si llega a existir alguna duda, pues que me avise y con gusto se la amplio, digo… se la aclaro
Nos vemos en el siguiente post.