LINUX

Come permettere SMTP in uscita con iptables (CentOS)

Schermata 2014-11-17 alle 17.52.39

Su un server CentOS di un cliente sul quale è montata una applicazione Web java based sotto Tomcat, ho avuto il seguente problema (riscontrato in catalina.out).

java.net.UnknownHostException: smtp.gmail.com

Dopo essermi concentrato non poco tempo sulla questione “quali regole impostare su iptables e quali porte aprire per consentire al server di utilizzare un SMTP esterno” in funzione del server di posta del cliente e del tipo di autenticazione, ho capito che il problema era nell’irraggiungibilità del DNS. Meglio tardi che mai :-).

Sotto le regole impostate mediante la sequenza di comandi seguenti:

# x l'SMTP
iptables -A OUTPUT -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 587 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 465 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 587 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 465 -m state --state ESTABLISHED -j ACCEPT
# x il DNS
iptables -A OUPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -m state ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT
# x salvare le regole
service iptables save
service iptables restart