[CentOS-es] IPTables, DNS y postfix

AraDaen aradaen en gmail.com
Vie Jun 22 07:21:50 EDT 2012


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 en 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 en 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.
>
>


-- 
www.aradaen.com - AraDaen sysadmin notes



Más información sobre la lista de distribución CentOS-es