[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Problema con IPTABLES y FILTRADO



Hola a todos!!

Adjunto mi grano de arena con un script de firewall que construyo un
amigo con iptables, solo agradezco seriedad a la hora de conservar los
nombres de los autores, usenlo como quieran pero por favor no eliminen
los nombres de los autores ni las referencias.

El problema es el siguiente: Este script funciona perfecto en en el
filtrado entre el servidor y el firewall, pero los computadores de la
red interna no pueden ver los dominios web del servidor. Es decir,
desde internet si pueden ver las paginas web pero desde la intranet
no. Desde adentro solo ven el DNS, pero no pueden ver ninguna
www.dominio.com o *.dominio.com, solo pueden ver dominio.com (sin nada
antes).

Aclaro que si hago ping a estas dir (*.dominio.com), si llega, pero si
trato de acceder desde un navegador no se puede.

Espero haberme explicado.

Adjunto mi granito de arena en el mundo DEBIAN (aunq se que pueden
haber cosas mejores), y espero su ayuda.

Un saludo y gracias!


---------------------------------------------------------------------
( o < -! Debian Sarge
/ /\
V_/_

 ! ..::'''AleXerTecH'''::.. ! !
#!/bin/sh
#
# Firewall Script para Linux 2.6.x e iptables
#
# Autores: Alex Barrios (AleXerTecH) & Hector Lira
#
# alexertech@gmail.com
# 
# Nota: Pueden hacer modificaciones y usar este script siempre y cuando 
#	se mencionen y se de credito a sus autores originales...
#


#########################################################################
#               Configuracion de red local.                             #
#########################################################################

LAN_IP="192.168.1.1"
LAN_IP_RANGE="192.168.1.0/24"
LAN_BCAST_ADRESS="192.168.1.255"
LAN_IFACE="eth1"

#########################################################################
#               Configuraci�³n del Localhost.                            #
#########################################################################

LO_IFACE="lo"
LO_IP="127.0.0.1"

#########################################################################
#               Configuracion de Internet                               #
#########################################################################

INET_IP="200.8X.2XX.2XX"
INET_IFACE="eth0"

#########################################################################
#               Localizaci�³n de iptables.                               #
#########################################################################

IPTABLES="/sbin/iptables"


#########################################################################.
#         Activación del mecanismo de protección del kernel de linux    #.
#########################################################################.

for x in /proc/sys/net/ipv4/conf/*; do
echo "1" > $x/rp_filter
done


########################################################################.
#        Desactivar los Source Routed Packets                          #.
########################################################################.

echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route


#########################################################################
#               Borra las reglas anteriores.                            #
#########################################################################

$IPTABLES -F
$IPTABLES -X
$IPTABLES -Z
$IPTABLES -t nat -F

#########################################################################
#       Politicas Predeterminadas de INPUT, FORWARD y OUTPUT .          #
#########################################################################

$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP

#########################################################################
#       Reglas de NAT enmascarado la ip puede ser Dinamica.             #
#########################################################################

$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE

#########################################################################
#       Activa forwarding de paquetes Linux no lo hace en el boot.      #
#########################################################################

echo "1" > /proc/sys/net/ipv4/ip_forward

#########################################################################
#       Regla tcp_bad packets, paquetes tcp no deseados.                #
#########################################################################

$IPTABLES -N bad_tcp_packets
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-pr
efix "New not syn:"
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP

#########################################################################
#       Chequeo de posibles IP Spoofeadas.                              #
#########################################################################

$IPTABLES -A bad_tcp_packets -i $INET_IFACE -s 192.168.0.0/16 -j DROP
$IPTABLES -A bad_tcp_packets -i $INET_IFACE -s 192.168.1.0/16 -j DROP
$IPTABLES -A bad_tcp_packets -i $INET_IFACE -s 10.0.0.0/8 -j DROP
$IPTABLES -A bad_tcp_packets -i $INET_IFACE -s 172.16.0.0/12 -j DROP

#########################################################################
#       Bloquea el renvio de tcp no deseados.                           #
#########################################################################

$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets

#########################################################################
#       Reglas del renvio de paquetes.                                  #
#########################################################################

#$IPTABLES -A FORWARD -i $LAN_IFACE -o $INET_IFACE -j ACCEPT
$IPTABLES -A FORWARD -i $INET_IFACE -j ACCEPT
$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-leve
l DEBUG --log-prefix "IPT FORWARD packet died: "
$IPTABLES -A FORWARD -i $INET_IFACE -m state --state NEW,INVALID -j DROP

#########################################################################
#Redireccionamiento de paquetes DNAT. FTP,SSH,WEB,SMTP, Pop3 y Tomcat 8080#
#########################################################################

$IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 80 -j DNAT --to 192.16
8.1.2:80
$IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 8080 -j DNAT --to 192.
168.1.2:8080
$IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 21 -j DNAT --to 192.16
8.1.2:21
$IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 25 -j DNAT --to 192.16
8.1.2:25
$IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 110 -j DNAT --to 192.1
68.1.2:110

#########################################################################
#       Reglas para paquetes ICMP, TCP y UDP                            #
#########################################################################

#$IPTABLES -N icmp_packets
$IPTABLES -N tcp_packets
$IPTABLES -N udpincoming_packets

#########################################################################
#       Reglas para aceptar conexiones TCP                              #
#########################################################################

$IPTABLES -N allowed
$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP

#########################################################################
#       Reglas para conexiones ICMP                                     #
#########################################################################

#$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
#$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT

#########################################################################
#       Reglas para conexiones SSH con el firewall                      #
#########################################################################

$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed

#########################################################################
#       Reglas para puertos UDP DNS y NTP                               #
#########################################################################

#$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 53 -j ACCEPT
#$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 123 -j ACCEPT
#$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 2074 -j ACCEPT
#$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 4000 -j ACCEPT

#########################################################################
#       Reglas INPUT para TCP no deseados y Provenientes de Internet    #
#########################################################################

$IPTABLES -A INPUT -p tcp -j bad_tcp_packets
#$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udpincoming_packets

#########################################################################
#       Reglas INPUT para la LAN la Loopback y la Interfaz del ISP      #
#########################################################################

$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -d $LAN_BCAST_ADRESS -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT
$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED  -j A
CCEPT
$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level
DEBUG --log-prefix "IPT INPUT packet died: "

#########################################################################
#                       Reglas OUTPUT TCP no deseados                   #
#########################################################################

$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets

#########################################################################
#       Reglas OUTPUT para decidir las IP que se aceptan                #
#########################################################################

$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT

#########################################################################
#       Logs de paquetes que no pertenecen a las reglas anteriores      #
#########################################################################

$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level
 DEBUG --log-prefix "IPT OUTPUT packet died: "

#########################################################################
#       Imprime que arranco el script                                   #
#########################################################################

echo "Starting Firewall Linux AleXerTecH (Iptables)...done"



Reply to: