Problemas con iptables + thunderbird [solucionado]

Iniciado por dato000, 7 Agosto 2012, 17:56 PM

0 Miembros y 1 Visitante están viendo este tema.

dato000

Por más que he modificado y mirado de todo, no encuentro la solución, no puedo enviar correos, uso cuentas de hotmail, gmail, un servidor de correo propio con sendmail, no doy más, busque en todos lados y no se como hacerlo, recurro a todos los expertos.

No puedo enviar ni recibir correos en thunderbird, se que es un problema con iptables, y le he hecho de todo, y no me funciona nada, por favor ayuda!!!!

jejeje de verdad me esta gustando el iptables, y quisiera saber que estoy haciendo mal:

Citar
#!/bin/sh
## SCRIPT de IPTABLES - ejemplo del manual de iptables
## Ejemplo de script para proteger la propia máquina con DROP por defecto
## Pello Xabier Altadill Izura
## www.pello.info - pello@pello.info
## MODIFICADO POR dato000

echo -n Aplicando Reglas de Firewall...

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

## Establecemos politica por defecto: DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

## Empezamos a filtrar? no! empezamos a abrir! porque ahora esta TODO denegado.
## Debemos decir de manera explicita qué es lo que queremos abrir

# Operar en localhost sin limitaciones
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT

# A nuestra IP le dejamos todo
iptables -A INPUT -s 195.168.0.5 -j ACCEPT
iptables -A OUTPUT -d 195.168.0.5 -j ACCEPT

# Este es el servicio que DA la maquina a internet, por tanto todo paquete entrante se acepta para
# ese puerto y los salientes vinculados se aceptan.
/sbin/iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -m tcp --sport 80 -m state --state RELATED,ESTABLISHED -j ACCEPT

# Permitimos que la maquina pueda salir a la web
/sbin/iptables -A INPUT -p tcp -m tcp --sport 80 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT

# Ya tambien a webs seguras
/sbin/iptables -A INPUT -p tcp -m tcp --sport 443 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT

# Reglas necesarias para FTP pasivo y activo. Se permiten conexiones entrantes YA establecidas
/sbin/iptables -A INPUT -p tcp -m tcp --sport 20:21 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -m tcp --dport 20:21 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -m tcp --dport 1024:65535 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

# Permitimos la consulta a un primer DNS
/sbin/iptables -A INPUT -s 200.75.51.132 -p udp -m udp --sport 53 -j ACCEPT
/sbin/iptables -A OUTPUT -d 200.75.51.132 -p udp -m udp --dport 53 -j ACCEPT

# Permitimos la consulta a un segundo DNS
/sbin/iptables -A INPUT -s 200.75.51.133 -p udp -m udp --sport 53 -j ACCEPT
/sbin/iptables -A OUTPUT -d 200.75.51.133 -p udp -m udp --dport 53 -j ACCEPT

#Permitimos que nos hagan ping y responder a este:
/sbin/iptables -A INPUT -p ICMP --icmp-type 8 -m limit --limit 1/s -j ACCEPT
/sbin/iptables -A OUTPUT -p ICMP --icmp-type 0 -m limit --limit 1/s -j ACCEPT

#Permitimos hacer ping a otras maquinas
/sbin/iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j ACCEPT
/sbin/iptables -A OUTPUT -o eth0 -p icmp -m icmp --icmp-type 8 -j ACCEPT
/sbin/iptables -A INPUT -i wlan0 -p icmp -m icmp --icmp-type 8 -j ACCEPT
/sbin/iptables -A OUTPUT -o wlan0 -p icmp -m icmp --icmp-type 8 -j ACCEPT

/sbin/iptables -A OUTPUT -o wlan0 -p ICMP --icmp-type 0 -j ACCEPT
/sbin/iptables -A OUTPUT -o eth0 -p ICMP --icmp-type 8 -j ACCEPT
/sbin/iptables -A INPUT -i wlan0 -p ICMP --icmp-type 0 -m limit --limit 10/s -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p ICMP --icmp-type 8 -m limit --limit 1/s -j ACCEPT

##Permitir SSH
#para eth0, conexión cableada
/sbin/iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
/sbin/iptables -t nat -A PREROUTING -p tcp -d 195.168.0.5 --dport 422 -j DNAT --to 195.168.0.5:22
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 422 -m state --state NEW,ESTABLISHED -j ACCEPT
/sbin/iptables -A OUTPUT -o eth0 -p tcp --sport 422 -m state --state ESTABLISHED -j ACCEPT

#para wlan0, conexión inalambrica
/sbin/iptables -A OUTPUT -o wlan0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
/sbin/iptables -A INPUT -i wlan0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
/sbin/iptables -t nat -A PREROUTING -p tcp -d 195.168.0.5 --dport 422 -j DNAT --to 195.168.0.5:22
/sbin/iptables -A INPUT -i wlan0 -p tcp --dport 422 -m state --state NEW,ESTABLISHED -j ACCEPT
/sbin/iptables -A OUTPUT -o wlan0 -p tcp --sport 422 -m state --state ESTABLISHED -j ACCEPT

##Configuración para thunderbird

## Ahora con regla FORWARD filtramos el acceso de la red local

#The following rules allow mail traffic. It may be sendmail or postfix.
#Las siguientes reglas permiten el trafico de correo. Puede ser sendmail or postfix.
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 25 -j ACCEPT
/sbin/iptables -A OUTPUT -o eth0 -p tcp --sport 25 -j ACCEPT
/sbin/iptables -A INPUT -i wlan0 -p tcp --dport 25 -j ACCEPT
/sbin/iptables -A OUTPUT -o wlan0 -p tcp --sport 25 -j ACCEPT

#The following rules allow IMAP/IMAP2 traffic.
#Las siguientes reglas permiten el trafico IMAP/IMAP2
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 143 -j ACCEPT
/sbin/iptables -A OUTPUT -o eth0 -p tcp --sport 143 -j ACCEPT
/sbin/iptables -A INPUT -i wlan0 -p tcp --dport 143 -j ACCEPT
/sbin/iptables -A OUTPUT -o wlan0 -p tcp --sport 143 -j ACCEPT

#The following rules allow IMAPS traffic.
#Las siguientes reglas permiten el trafico IMAPS
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 993 -j ACCEPT
/sbin/iptables -A OUTPUT -o eth0 -p tcp --sport 993 -j ACCEPT
/sbin/iptables -A INPUT -i wlan0 -p tcp --dport 993 -j ACCEPT
/sbin/iptables -A OUTPUT -o wlan0 -p tcp --sport 993 -j ACCEPT

#The following rules allow POP3 access.
#Las siguientes reglas permiten el acceso POP3
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 110 -j ACCEPT
/sbin/iptables -A OUTPUT -o eth0 -p tcp --sport 110 -j ACCEPT
/sbin/iptables -A INPUT -i wlan0 -p tcp --dport 110 -j ACCEPT
/sbin/iptables -A OUTPUT -o wlan0 -p tcp --sport 110 -j ACCEPT

#The following rules allow POP3S access.
#Las siguientes reglas permiten el acceso POP3S
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 995 -j ACCEPT
/sbin/iptables -A OUTPUT -o eth0 -p tcp --sport 995 -j ACCEPT
/sbin/iptables -A INPUT -i wlan0 -p tcp --dport 995 -j ACCEPT
/sbin/iptables -A OUTPUT -o wlan0 -p tcp --sport 995 -j ACCEPT


/sbin/iptables -A INPUT -p tcp --dport 587 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --sport 587 -j ACCEPT
/sbin/iptables -I OUTPUT -d 65.55.96.11 -p tcp -m tcp --dport 587 -j ACCEPT
/sbin/iptables -I OUTPUT -d 65.55.162.200 -p tcp -m tcp --dport 587 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 465 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --sport 465 -j ACCEPT
/sbin/iptables -I OUTPUT -d 65.55.96.11 -p tcp -m tcp --dport 465 -j ACCEPT
/sbin/iptables -I OUTPUT -d 65.55.162.200 -p tcp -m tcp --dport 465 -j ACCEPT



##DDoS
#The following iptables rule will help you prevent the Denial of Service (DoS) attack on your webserver.
#La siguiente regla  de iptables ayudara a prevenir el ataque de denegación de servicio en tu servidor.
iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

# Barrera de backup por si cambiamos a modo ACCEPT temporalmente
# Con esto protegemos los puertos reservados y otros well-known
#/sbin/iptables -A INPUT -p tcp -m tcp --dport 1:1024 -j DROP
#/sbin/iptables -A INPUT -p udp -m udp --dport 1:1024 -j DROP
/sbin/iptables -A INPUT -p tcp -m tcp --dport 1723 -j DROP
/sbin/iptables -A INPUT -p tcp -m tcp --dport 3306 -j DROP
/sbin/iptables -A INPUT -p tcp -m tcp --dport 5432 -j DROP

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

# Fin del script

Abri de todo, habilite todos los puertos que me encontre en muchas guias y nada, porque sera???



Songoku

Desde ya te digo que no es el iptables. Ni para enviar ni para recibir correos en el thunderbird ni en ningun gestor de correo es necesario tocar al iptables ya que no es necesario establecer ninguna regla que permita establecer conexiones entrantes por ningun puerto. Por tanto eso PUEDES OLVIDARLO ya que ese no es el problema. Otra cosa es que tengas un servidor de correo smtp, en ese caso si que necesitas abrir el puerto 25 (por defecto) o el que tengas configurado para usar en dicho servidor. Ten en cuenta que si ya as abierto dicho puerto en el iptables tambien tienes que abrirlo en el router sino de nada servira y no podras enviar correos claro esta.
Saludos...

Songoku

dato000

Cita de: Songoku en  7 Agosto 2012, 18:15 PM
Desde ya te digo que no es el iptables. Ni para enviar ni para recibir correos en el thunderbird ni en ningun gestor de correo es necesario tocar al iptables ya que no es necesario establecer ninguna regla que permita establecer conexiones entrantes por ningun puerto. Por tanto eso PUEDES OLVIDARLO ya que ese no es el problema. Otra cosa es que tengas un servidor de correo smtp, en ese caso si que necesitas abrir el puerto 25 (por defecto) o el que tengas configurado para usar en dicho servidor. Ten en cuenta que si ya as abierto dicho puerto en el iptables tambien tienes que abrirlo en el router sino de nada servira y no podras enviar correos claro esta.
Saludos...

Songoku


es el iptables amigo mio, he estado haciendo pruebas toda la mañana y una vez que cambie las reglas (dandole ACCEPT  a todo) pues efectivamente, quedo perfecto. Es por probar cosas diferentes para aprender de seguridad, y no es que sea una falla, es que no se cual es el parametro correcto para que thunderbird funcione bien con las reglas que he tratado de implementar.

El router funciona bien, como dije, esto me esta pasando por hacer pruebas con el iptables, lo que me deja en muchas dudas que estoy tratando de resolver. De momento lo deje todo como estaba antes hasta que encuentre un script o arregle los parametros, ya que tengo que darle uso a thunderbird (ejjeje estoy muy acostumbrado a consultar 4 correos de una sola vez, odio consultarlos desde navegadores).

El problema es la salida (smtp) y la entrada (pop3 o sendmail o imap, pues uso cuentas en hotmail, gmail y una de sendmail) y pues me tiene muy desconcertado (a falta de una mejor palabra) ya que si no puedo solucionar esto, cuando trate de implementar un servidor me volvere loco.

tengo el script guardado, seguire investigando, pero una ayuda de más no esta nada mal. Gracias de todas maneras compa.

Claro, sigo siendo novato con iptables, es mi primera vez  :¬¬ :¬¬



Songoku

Te repito que el thunderbird NI NINGUN GESTOR DE CORREO necesitan ninguna regla en el iptables para funcionar (dimelo a mi que lo uso hace años) por tanto lo creas o no ese no es el problema. A no ser que tu hayas creado algun tipo de regla en la que se denieguen por defecto todas las conexiones incluidas las salientes, pero si eso no es asi y dado que los gestores de correo solo necesitan conexiones salientes el iptables nada tiene que ver para que dichos programas funcionen o no. Y como ya te dije antes eso muy diferente a si tienes algun tipo de servidor de correo en tu pc en cuyo caso claro esta si que necesitan estos tener reglas configuradas que les permitan establecer conexiones entrantes por algun puerto.

Yo para estas cosas paso de comandos de iptables y uso el gufw que es una simplisima interfaz grafica para crear las reglas que necesite en el iptables (en mi caso para los p2p, y servidores de juegos).
Saludos...

Songoku

dato000

Jejej entiendo lo que quieres decir, pero como dije, con el iptables desactivado, osease, con la politica abierta:

Citar
dato000@datohost:~/Documentos/c++/calculadora/calculadora$ sudo iptables -L -n
[sudo] password for dato000:
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Thunderbird funciona correctamente, de hecho, recibi la notificación de que respondiste en este foro y me llego a mi correo en hotmail, jejeje, agradezco tu comentario, pero se que definitivamente es algún parametro que no he podido mirar bien, no pude adelantar nada por estar durmiendo (a veces se necesita el descanso no??) pero se que el problema radica en el script, estoy seguro, pero no he podido dar con el tiro.

Gracias viejo, al menos te tomaste la molestia de contestar, honestamente, aprecio eso, sobre todo porque voy a crear una nueva página para la universidad en la que estoy estudiando (es parte de una practica jeje) para una celebración bla bla bla 50 años bla bla bla, y me interesa mucho ver como funciona esto de la seguridad  :laugh: :laugh:



Songoku

Yo tengo el iptables activado denegando por defecto todas las conexiones entrantes y permitiendo las salientes y no tengo ninguna regla configurada para el thunderbird, mas que nada porque NO SON NECESARIAS. Y no es algo que haga ahora si no que llevo años haciendolo en distintas distros de linux, por tanto lo creas o no el iptables si como ya te dije antes no as creado algun regla 'rara' no te esta interceptando para nada al thunderbird (cosa muy distinta seria el caso de un servidor de correo como tambien ya te dicho). Pero eso es un hecho objetivo que cualquiera con un minimo de conocimientos en linux te va a decir, vamos que no es algo discutible u opinable sino una realidad lo creas o no.
Saludos...

Songoku

dato000

ummm y que regla rara ves ahi que puede interferir el funcionamiento de thunderbird??

Citar

##Configuración para thunderbird

## Ahora con regla FORWARD filtramos el acceso de la red local

#The following rules allow mail traffic. It may be sendmail or postfix.
#Las siguientes reglas permiten el trafico de correo. Puede ser sendmail or postfix.
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 25 -j ACCEPT
/sbin/iptables -A OUTPUT -o eth0 -p tcp --sport 25 -j ACCEPT
/sbin/iptables -A INPUT -i wlan0 -p tcp --dport 25 -j ACCEPT
/sbin/iptables -A OUTPUT -o wlan0 -p tcp --sport 25 -j ACCEPT

#The following rules allow IMAP/IMAP2 traffic.
#Las siguientes reglas permiten el trafico IMAP/IMAP2
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 143 -j ACCEPT
/sbin/iptables -A OUTPUT -o eth0 -p tcp --sport 143 -j ACCEPT
/sbin/iptables -A INPUT -i wlan0 -p tcp --dport 143 -j ACCEPT
/sbin/iptables -A OUTPUT -o wlan0 -p tcp --sport 143 -j ACCEPT

#The following rules allow IMAPS traffic.
#Las siguientes reglas permiten el trafico IMAPS
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 993 -j ACCEPT
/sbin/iptables -A OUTPUT -o eth0 -p tcp --sport 993 -j ACCEPT
/sbin/iptables -A INPUT -i wlan0 -p tcp --dport 993 -j ACCEPT
/sbin/iptables -A OUTPUT -o wlan0 -p tcp --sport 993 -j ACCEPT

#The following rules allow POP3 access.
#Las siguientes reglas permiten el acceso POP3
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 110 -j ACCEPT
/sbin/iptables -A OUTPUT -o eth0 -p tcp --sport 110 -j ACCEPT
/sbin/iptables -A INPUT -i wlan0 -p tcp --dport 110 -j ACCEPT
/sbin/iptables -A OUTPUT -o wlan0 -p tcp --sport 110 -j ACCEPT

#The following rules allow POP3S access.
#Las siguientes reglas permiten el acceso POP3S
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 995 -j ACCEPT
/sbin/iptables -A OUTPUT -o eth0 -p tcp --sport 995 -j ACCEPT
/sbin/iptables -A INPUT -i wlan0 -p tcp --dport 995 -j ACCEPT
/sbin/iptables -A OUTPUT -o wlan0 -p tcp --sport 995 -j ACCEPT


/sbin/iptables -A INPUT -p tcp --dport 587 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --sport 587 -j ACCEPT
/sbin/iptables -I OUTPUT -d 65.55.96.11 -p tcp -m tcp --dport 587 -j ACCEPT
/sbin/iptables -I OUTPUT -d 65.55.162.200 -p tcp -m tcp --dport 587 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 465 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --sport 465 -j ACCEPT
/sbin/iptables -I OUTPUT -d 65.55.96.11 -p tcp -m tcp --dport 465 -j ACCEPT
/sbin/iptables -I OUTPUT -d 65.55.162.200 -p tcp -m tcp --dport 465 -j ACCEPT


Todo eso lo inclui para abrir los puertos y darle libertad a thunderbird, pero no sirvio, ves algo que deba cambiarse??



Songoku

Ya te dicho mil veces que ni para el thunderbird ni para ningun gestor de correo es necesaria ninguna regla en el iptables (si asi fuera entonces mi thunderbird no funcionaria ya que yo no tengo ninguna regla creada para el). A ver si entiendes de una vez que las reglas son solo necesarias cuando se necesitan establecer conexiones entrantes porque las salientes por defecto el iptables las permite TODAS. Entonces simplemente limitate a dejar el iptables tal cual con su configuracion por defecto y listo. Y luego si usas servidores (en este caso de correo) pues ese caso si necesitas abrir los puertos que usen dichos servidores, pero necesitas no solo abrirlos en el iptables sino tambien en el router porque sino estan en ambos de nada sirven que esten en el iptables.

En esas reglas en concreto no veo nada pero como ya digo SON INNECESARIAS y lo que seguramente te sucedera es que tienes configurado el iptables para que tambien te bloquee las conexiones salientes. Mi consejo es que uses el gufw y con el configures al iptables para que permita TODAS las conexiones salientes y deniegue TODAS las entrates y luego alli mismo tambien crea las reglas necesarias que abran los puertos que usen los servidores que uses. Y no olvides que esos mismos puertos debes abrirlos tambien en el router O NO SERVIRÁ DE NADA.
Saludos...

Songoku

dato000

Solo estoy practicando el uso de iptables. Se que no restringe el uso de thunderbird, como dices

Citar
A ver si entiendes de una vez que las reglas son solo necesarias cuando se necesitan establecer conexiones entrantes porque las salientes por defecto el iptables las permite TODAS.

Eso es lo que estoy mirando precisamente, quiero personalizarlo, que se permitan solo unos determinados, por eso deje el script. No me gusta usar entornos graficos para estas cosas (son GUI??), quiero hacerlo desde terminal ejjeje.


Citar
Y no olvides que esos mismos puertos debes abrirlos tambien en el router O NO SERVIRÁ DE NADA.

Ese, es precisamente el problema. Y no he tenido tiempo de arreglarlo, pero lo hare si que si.

Ummm se que eso pues no es "practico" para un pc corriente, pero es para la practica, y no llegar perdido al uso de servidores. Maldito server 2008, debo aprender como se usa. A todas estas, en que se diferencia un debian para servidores a uno casero?? bueno, se algunas diferencias, pero quiero escuchar opiniones de exp.

aunque no me guste el gufw, lo voy a averiguar. Gracias men.



Jenag

Cita de: dato000 en  8 Agosto 2012, 18:34 PM
Solo estoy practicando el uso de iptables. Se que no restringe el uso de thunderbird, como dices

Eso es lo que estoy mirando precisamente, quiero personalizarlo, que se permitan solo unos determinados, por eso deje el script. No me gusta usar entornos graficos para estas cosas (son GUI??), quiero hacerlo desde terminal ejjeje.


Ese, es precisamente el problema. Y no he tenido tiempo de arreglarlo, pero lo hare si que si.

Ummm se que eso pues no es "practico" para un pc corriente, pero es para la practica, y no llegar perdido al uso de servidores. Maldito server 2008, debo aprender como se usa. A todas estas, en que se diferencia un debian para servidores a uno casero?? bueno, se algunas diferencias, pero quiero escuchar opiniones de exp.

aunque no me guste el gufw, lo voy a averiguar. Gracias men.
Podrías si quieres dejar los puertos de tú programa de correo con
Citar-t filter
filtrando y así probando ha dejarlo algo más restrictivo pero sin pasarse.Y por supuesto en muchas cosas que mencionas dato000 , tienes toda la razón. :-*

Pd : A mí personalmente gufw , no me gusta. :-*
Para comentarme algo : Evamr1991@openmailbox.org : Válido para Bots y Robots..