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

Dudas con iptables



Hola!!
  Estoy configurando un firewall con iptables pero tengo algunas dudas.
La politica por defecto que establezco es DROP. Aunque tengo acceso
desde mi red y desde el firewall a internet, creo que no está bien. La
configuracion que hice fue la siguiente.

#!/bin/sh
## SCRIPT DE IPTABLES
## GRACIELA


#Borrar la tabla anterior
iptables -t filter --flush
iptables -t nat --flush
iptables -t mangle --flush
iptables -t filter --delete-chain
iptables -t nat --delete-chain
iptables -t mangle --delete-chain
/etc/init.d/iptables clear

echo -n Aplicando reglas de firewall ...

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

## Establecemos politica por defecto
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

#A nuestro firewall tenemos acceso total desde nuestra ip
iptables -A INPUT -j ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -A INPUT -s 192.168.0.2 -j ACCEPT
iptables -A OUTPUT -s 192.168.0.2 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

#Permitimos conexion de loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# Aceptamos que vayan a puertos 80
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

# Aceptamos que vayan a puertos https
iptables -A INPUT -p tcp --dport 443 -j ACCEPT && echo " regla-7 OK"
iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT && echo " regla-8 OK"

#Aceptamos que consulten las DNS
iptables -A FORWARD -i eth0 -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -i eth0 -p udp --dport 53 -j ACCEPT

# SALIDA FTP - Para conectar con FTPs
iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT && echo " regla-19 OK"
iptables -A OUTPUT -p tcp --sport 20:21 -j ACCEPT && echo " regla-20 OK"

# Ahora hacemos enmascaramiento de la red local
# y activamos el BIT de FORWARDING (esto es imprescindible)
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE
&& echo " regla-22 OK"

# Con esto permitimos hacer forward de paquetes en el firewall, o sea
# que otras maquinas puedan salir a traves del firewall
echo 1 > /proc/sys/net/ipv4/ip_forward && echo " regla-23 OK"

#Permitimos acceso del exterior por ssh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

#Para el resto no hay acceso al firewall
iptables -A INPUT -s 0.0.0.0/0 -j DROP

# Cerramos el rango de puerto bien conocido
iptables -A INPUT -p tcp --dport 1:1024 -j DROP && echo " regla-24 OK"
iptables -A INPUT -p udp --dport 1:1024 -j DROP && echo " regla-25 OK"

echo " OK. Verifique que lo que se aplica con: iptables -L -n"

#Norma general
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE

#Habilitar el forwarding para que funcionen todas las reglas FORWARD,
#POSTROUTING Y PREROUTING
echo 1 > /proc/sys/net/ipv4/ip_forward

#Lo grabo en un fichero
/etc/init.d/iptables save active4

# Fin del script


El problema es que necesito tener acceso desde el exterior por ssh a mi
red y si me conecto por ssh a la direccion de mi router no tengo acceso
y no se como hacerlo, tengo que especificar en la regla del ssh la
direccion del router a la que se tiene que conectar la gente desde el
exterior o como hago?, porque tal y como está ahora parece que a donde
se tienen que conectar desde el exterior es al firewall y eso no estaria
bien.
Por otro lado aunque lo que te muestro a continuacion me permite
conectarme a internet yo creo que no esta bien porque despues de
establecer la politica por defecto a DROP las primeras reglas que
muestro son:
 iptables -A INPUT -j ACCEPT
 iptables -A OUTPUT -j ACCEPT
si las coloco en otro lugar ya no me funciona el firewall y por lo que
entiendo yo tal y como está es como si la politica por defecto ya no
fuera DROP porque como ya acepto INPUT y OUTPUT al principio.

Saludos.
   



Reply to: