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.