Primero perdón por no responder desde el mensaje original. Hace tiempo que había desactivado los mensajes de la lista, hoy los he vuelto a activar y he visto este mensaje en el archivo de la lista.
AraDaen aradaen en gmail.com Jue Jun 21 19:17:45 EDT 2012
Hola, He instalado un servidor con Centos 6.2 para alojar varias webs que tengo, para lo que, entre otras cosas tengo bind configurado como servidor DNS y postfix con dovecot para el servicio de correo (pop3, pop3s, imap, imaps, smtp+tls). El sistema funciona perfectamente,sin habilitar iptables, pero cuando lo habilito, los correos que envío a dominios que no están alojados en mi servidor (gmail por ejemplo). Deduzco que se trata de la reglas para DNS cuando pregunta a otro servidor DNS, o de otra cosa que se me escapa.
Este es el log de mail: Jun 21 13:48:45 server postfix/smtp[13917]: connect to mx3.hotmail.com[65.54.188.94]:25: Connection timed out Jun 21 13:48:45 server postfix/smtp[13918]: connect to mx1.hotmail.com[65.55.37.72]:25: Connection timed out Jun 21 13:49:15 server postfix/smtp[13917]: connect to mx2.hotmail.com[65.54.188.72]:25: Connection timed out Jun 21 13:49:15 server postfix/smtp[13918]: connect to mx2.hotmail.com[65.54.188.110]:25: Connection timed out Jun 21 13:49:45 server postfix/smtp[13917]: connect to mx3.hotmail.com[65.54.188.110]:25: Connection timed out Jun 21 13:49:45 server postfix/smtp[13918]: connect to mx2.hotmail.com[65.54.188.126]:25: Connection timed out Jun 21 13:50:15 server postfix/smtp[13917]: connect to mx2.hotmail.com[65.55.37.104]:25: Connection timed out Jun 21 13:50:15 server postfix/smtp[13917]: 8E2F954286D5: to=<aradaen en hotmail.com>, relay=none, delay=62560, delays=62410/0.11/150/0, dsn=4.4.1, status=deferred (connect to mx2.hotmail.com[65.55.37.104]:25: Connection timed out)
Cualquier ayuda, será bienvenida. La política por defecto en iptables es DROP, y este es el script de iptables:
#!/bin/sh
iptables -F iptables -X iptables -Z iptables -t nat -F
echo "Política por defecto DROP" iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP
#Conexiones Locales echo "Habilitando acceso:" echo "- Conexiones locales" iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
#DNS echo "- DNS (53)" iptables -A OUTPUT -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p tcp -d 0.0.0.0/0 --destination-port 53 -m state --state NEW -j ACCEPT iptables -A OUTPUT -p udp -d 0.0.0.0/0 --destination-port 53 -j ACCEPT
iptables -A INPUT -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp -s 0.0.0.0/0 --destination-port 53 -m state --state NEW -j ACCEPT iptables -A INPUT -p udp -s 0.0.0.0/0 --destination-port 53 -j ACCEPT
#YUM echo "- YUM" # iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp -m state --state NEW --dport 80 -j
ACCEPT
iptables -A OUTPUT -p tcp -m tcp -m state --state NEW --dport 443 -j
ACCEPT
#WEB echo "- WEB (80)" iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT
#SSH echo "- SSH (2233)" iptables -A INPUT -p tcp --dport 2233 -j ACCEPT iptables -A OUTPUT -p tcp --sport 2233 -j ACCEPT
# CORREO echo "- MAIL"; echo " - POP3,POP3S (110,995)" iptables -A INPUT -p tcp --dport 110 -j ACCEPT iptables -A OUTPUT -p tcp --sport 110 -j ACCEPT iptables -A INPUT -p tcp --dport 995 -j ACCEPT iptables -A OUTPUT -p tcp --sport 995 -j ACCEPT
echo " - IMAP,IMAPS (143,993)" iptables -A INPUT -p tcp --dport 143 -j ACCEPT iptables -A OUTPUT -p tcp --sport 143 -j ACCEPT iptables -A INPUT -p tcp --dport 993 -j ACCEPT iptables -A OUTPUT -p tcp --sport 993 -j ACCEPT
echo " - SMTP,SMPTS (25,465)" iptables -A INPUT -p tcp --dport 25 -j ACCEPT iptables -A OUTPUT -p tcp --sport 25 -j ACCEPT iptables -A INPUT -p tcp --dport 465 -j ACCEPT iptables -A OUTPUT -p tcp --sport 465 -j ACCEPT
El problema esta aquí. Las reglas INPUT son correctas pero las OUTPUT no. Las conexiones SMTP que tu servidor realiza no salen por el puerto 25 sino que van dirigidas al puerto 25. La regla correcta seria:
iptables -A OUTPUT -p tcp dport 25 -j ACCEPT iptables -A OUTPUT -p tcp dport 465 -j ACCEPT
echo " - Submission (587)" iptables -A INPUT -p tcp --dport 587 -j ACCEPT iptables -A OUTPUT -p tcp --sport 587 -j ACCEPT
Y acabo de darme cuenta que has cometido el mismo error en otras reglas: POP3, IMAP, SMTP...
Ademas, para WEB, POP3, IMAP y SMTP no te hacen falta las reglas OUTPUT gracias a primera regla "iptables -A OUTPUT -p ALL -m state --state ESTABLISHED,RELATED" que permite toda conexión de salida que que previamente haya sido establecida por el cliente.
Espero haberme explicado.
Muchas gracias Francesc!
Ya funciona perfectamente con el cambio del puerto en las reglas (destino/origen).
Pero he comprado que si omito las reglas de salida dando por hecho que con la primera regla de las conexiones establecidas, se permitirá la salida, las conexiones se siguen bloqueando y obtengo un bonito Connection timed out:
Jun 22 15:08:32 server postfix/smtp[20057]: 13751542940F: to=aradaen@hotmail.com, relay=none, delay=151, delays=0.39/0.05/150/0, dsn=4.4.1, status=deferred (connect to mx3.hotmail.com[65.55.92.184]:25: Connection timed out) Jun 22 15:08:32 server postfix/smtp[20056]: connect to alt4.gmail-smtp-in.l.google.com[173.194.79.27]:25: Connection timed out Jun 22 15:08:32 server postfix/smtp[20056]: 13751542940F: to=aradaen@gmail.com, relay=none, delay=151, delays=0.39/0.04/150/0, dsn=4.4.1, status=deferred (connect to alt4.gmail-smtp-in.l.google.com[173.194.79.27]:25: Connection timed out)
Las he agregado de nuevo y funciona correctamente.
On 06/22/2012 12:48 PM, Guitart Francesc wrote:
Primero perdón por no responder desde el mensaje original. Hace tiempo que había desactivado los mensajes de la lista, hoy los he vuelto a activar y he visto este mensaje en el archivo de la lista.
AraDaen aradaen en gmail.com Jue Jun 21 19:17:45 EDT 2012
Hola, He instalado un servidor con Centos 6.2 para alojar varias webs que tengo, para lo que, entre otras cosas tengo bind configurado como servidor DNS y postfix con dovecot para el servicio de correo (pop3, pop3s, imap, imaps, smtp+tls). El sistema funciona perfectamente,sin habilitar iptables, pero cuando lo habilito, los correos que envío a dominios que no están alojados en mi servidor (gmail por ejemplo). Deduzco que se trata de la reglas para DNS cuando pregunta a otro servidor DNS, o de otra cosa que se me escapa.
Este es el log de mail: Jun 21 13:48:45 server postfix/smtp[13917]: connect to mx3.hotmail.com[65.54.188.94]:25: Connection timed out Jun 21 13:48:45 server postfix/smtp[13918]: connect to mx1.hotmail.com[65.55.37.72]:25: Connection timed out Jun 21 13:49:15 server postfix/smtp[13917]: connect to mx2.hotmail.com[65.54.188.72]:25: Connection timed out Jun 21 13:49:15 server postfix/smtp[13918]: connect to mx2.hotmail.com[65.54.188.110]:25: Connection timed out Jun 21 13:49:45 server postfix/smtp[13917]: connect to mx3.hotmail.com[65.54.188.110]:25: Connection timed out Jun 21 13:49:45 server postfix/smtp[13918]: connect to mx2.hotmail.com[65.54.188.126]:25: Connection timed out Jun 21 13:50:15 server postfix/smtp[13917]: connect to mx2.hotmail.com[65.55.37.104]:25: Connection timed out Jun 21 13:50:15 server postfix/smtp[13917]: 8E2F954286D5: to=<aradaen en hotmail.com>, relay=none, delay=62560, delays=62410/0.11/150/0, dsn=4.4.1, status=deferred (connect to mx2.hotmail.com[65.55.37.104]:25: Connection timed out)
Cualquier ayuda, será bienvenida. La política por defecto en iptables es DROP, y este es el script de iptables:
#!/bin/sh
iptables -F iptables -X iptables -Z iptables -t nat -F
echo "Política por defecto DROP" iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP
#Conexiones Locales echo "Habilitando acceso:" echo "- Conexiones locales" iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
#DNS echo "- DNS (53)" iptables -A OUTPUT -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p tcp -d 0.0.0.0/0 --destination-port 53 -m state --state NEW -j ACCEPT iptables -A OUTPUT -p udp -d 0.0.0.0/0 --destination-port 53 -j ACCEPT
iptables -A INPUT -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp -s 0.0.0.0/0 --destination-port 53 -m state --state NEW -j ACCEPT iptables -A INPUT -p udp -s 0.0.0.0/0 --destination-port 53 -j ACCEPT
#YUM echo "- YUM" # iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp -m state --state NEW --dport 80 -j
ACCEPT
iptables -A OUTPUT -p tcp -m tcp -m state --state NEW --dport 443 -j
ACCEPT
#WEB echo "- WEB (80)" iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT
#SSH echo "- SSH (2233)" iptables -A INPUT -p tcp --dport 2233 -j ACCEPT iptables -A OUTPUT -p tcp --sport 2233 -j ACCEPT
# CORREO echo "- MAIL"; echo " - POP3,POP3S (110,995)" iptables -A INPUT -p tcp --dport 110 -j ACCEPT iptables -A OUTPUT -p tcp --sport 110 -j ACCEPT iptables -A INPUT -p tcp --dport 995 -j ACCEPT iptables -A OUTPUT -p tcp --sport 995 -j ACCEPT
echo " - IMAP,IMAPS (143,993)" iptables -A INPUT -p tcp --dport 143 -j ACCEPT iptables -A OUTPUT -p tcp --sport 143 -j ACCEPT iptables -A INPUT -p tcp --dport 993 -j ACCEPT iptables -A OUTPUT -p tcp --sport 993 -j ACCEPT
echo " - SMTP,SMPTS (25,465)" iptables -A INPUT -p tcp --dport 25 -j ACCEPT iptables -A OUTPUT -p tcp --sport 25 -j ACCEPT iptables -A INPUT -p tcp --dport 465 -j ACCEPT iptables -A OUTPUT -p tcp --sport 465 -j ACCEPT
El problema esta aquí. Las reglas INPUT son correctas pero las OUTPUT no. Las conexiones SMTP que tu servidor realiza no salen por el puerto 25 sino que van dirigidas al puerto 25. La regla correcta seria:
iptables -A OUTPUT -p tcp dport 25 -j ACCEPT iptables -A OUTPUT -p tcp dport 465 -j ACCEPT
echo " - Submission (587)" iptables -A INPUT -p tcp --dport 587 -j ACCEPT iptables -A OUTPUT -p tcp --sport 587 -j ACCEPT
Y acabo de darme cuenta que has cometido el mismo error en otras reglas: POP3, IMAP, SMTP...
Ademas, para WEB, POP3, IMAP y SMTP no te hacen falta las reglas OUTPUT gracias a primera regla "iptables -A OUTPUT -p ALL -m state --state ESTABLISHED,RELATED" que permite toda conexión de salida que que previamente haya sido establecida por el cliente.
Espero haberme explicado.
Le 22/06/2012 13:21, AraDaen a écrit :
Muchas gracias Francesc!
Ya funciona perfectamente con el cambio del puerto en las reglas (destino/origen).
Pero he comprado que si omito las reglas de salida dando por hecho que con la primera regla de las conexiones establecidas, se permitirá la salida, las conexiones se siguen bloqueando y obtengo un bonito Connection timed out:
Jun 22 15:08:32 server postfix/smtp[20057]: 13751542940F: to=aradaen@hotmail.com, relay=none, delay=151, delays=0.39/0.05/150/0, dsn=4.4.1, status=deferred (connect to mx3.hotmail.com[65.55.92.184]:25: Connection timed out) Jun 22 15:08:32 server postfix/smtp[20056]: connect to alt4.gmail-smtp-in.l.google.com[173.194.79.27]:25: Connection timed out Jun 22 15:08:32 server postfix/smtp[20056]: 13751542940F: to=aradaen@gmail.com, relay=none, delay=151, delays=0.39/0.04/150/0, dsn=4.4.1, status=deferred (connect to alt4.gmail-smtp-in.l.google.com[173.194.79.27]:25: Connection timed out)
Las he agregado de nuevo y funciona correctamente.
Perdón por la equivocación.
Las reglas OUTPUT que puedes obviar son las de los apartados WEB, POP3 e IMAP. Tu servidor debe poder iniciar conexiones al puerto 25 de otros servidores de correo o sea que efectivamente no basta con una regla que permita las conexiones anteriormente establecidas por un cliente, ya que en este caso el cliente es tu servidor.
En cambio, tu servidor nunca iniciará una conexión WEB, POP3 o IMAP hacia un cliente. Es siempre el cliente quien hace la primera solicitud y a partir de ese momento esta autorizado el camino de regreso (del servidor al cliente) gracias a la regla ESTABLISHED y RELATED.
Espero haberme explicado.
On 06/22/2012 02:24 PM, Guitart Francesc wrote:
Le 22/06/2012 13:21, AraDaen a écrit :
Muchas gracias Francesc!
Ya funciona perfectamente con el cambio del puerto en las reglas (destino/origen).
Pero he comprado que si omito las reglas de salida dando por hecho que con la primera regla de las conexiones establecidas, se permitirá la salida, las conexiones se siguen bloqueando y obtengo un bonito Connection timed out:
Jun 22 15:08:32 server postfix/smtp[20057]: 13751542940F: to=aradaen@hotmail.com, relay=none, delay=151, delays=0.39/0.05/150/0, dsn=4.4.1, status=deferred (connect to mx3.hotmail.com[65.55.92.184]:25: Connection timed out) Jun 22 15:08:32 server postfix/smtp[20056]: connect to alt4.gmail-smtp-in.l.google.com[173.194.79.27]:25: Connection timed out Jun 22 15:08:32 server postfix/smtp[20056]: 13751542940F: to=aradaen@gmail.com, relay=none, delay=151, delays=0.39/0.04/150/0, dsn=4.4.1, status=deferred (connect to alt4.gmail-smtp-in.l.google.com[173.194.79.27]:25: Connection timed out)
Las he agregado de nuevo y funciona correctamente.
Perdón por la equivocación.
Las reglas OUTPUT que puedes obviar son las de los apartados WEB, POP3 e IMAP. Tu servidor debe poder iniciar conexiones al puerto 25 de otros servidores de correo o sea que efectivamente no basta con una regla que permita las conexiones anteriormente establecidas por un cliente, ya que en este caso el cliente es tu servidor.
En cambio, tu servidor nunca iniciará una conexión WEB, POP3 o IMAP hacia un cliente. Es siempre el cliente quien hace la primera solicitud y a partir de ese momento esta autorizado el camino de regreso (del servidor al cliente) gracias a la regla ESTABLISHED y RELATED.
Espero haberme explicado.
Perfectamente. Muchas gracias!!