J'ai installé iptables sur mon serveur, qui bloque l'accès à tous les ports sauf ceux que j'autorise. L'un de ces ports doit être SMTP sur le port 25, et j'ai mis en place la règle suivante pour cela :
-A INPUT -p tcp --dport 25 -j ACCEPT
La sortie de iptables -L
est ci-dessous :
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere 127.0.0.0/8 reject-with icmp-port-unreachable
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:mysql
ACCEPT tcp -- anywhere anywhere tcp dpt:smtp
ACCEPT tcp -- anywhere anywhere tcp dpt:pop3
ACCEPT tcp -- anywhere anywhere tcp dpt:imap2
ACCEPT tcp -- anywhere anywhere tcp dpt:ssmtp
ACCEPT tcp -- anywhere anywhere tcp dpt:submission
ACCEPT tcp -- anywhere anywhere tcp dpt:imaps
ACCEPT tcp -- anywhere anywhere tcp dpt:pop3s
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
ACCEPT icmp -- anywhere anywhere
LOG all -- anywhere anywhere limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
DROP all -- anywhere anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
DROP all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
Cependant, lorsque j'essaie de faire telnet <myip> 25
à partir d'une console Windows, je reçois cette erreur en retour :
Connecting To <my ip>...Could not open connection to the host, on port 25:
Connect failed
Faire la même chose sur d'autres ports ouverts (80, 993 etc.) fonctionne bien. Il doit donc s'agir d'un problème lié à iptables.
Quelle est la bonne façon d'autoriser l'accès au SMTP sur le port 25 en utilisant iptables ?
1 votes
Avez-vous vérifié si un service écoute sur ce port ? (
netstat -an | grep LISTEN
oss -n | grep :25
)0 votes
Ah mince, on dirait que le SMTP n'est pas en train de fonctionner haha. J'ai suivi un guide pour configurer un serveur de messagerie ( library.linode.com/email/postfix/ ) et j'ai simplement supposé que Dovecot exécuterait SMTP.
0 votes
Si vous ajoutez le
-v
option pouriptables -L
vous obtiendrez également le décompte du nombre de fois où chaque règle a été frappée. Cela permet de déboguer les règles iptables beaucoup plus facile.0 votes
@Chris Ce devrait être postfix qui écoute sur le port 25. Dovecot est un serveur POP/IMAP et devrait écouter sur au moins un des ports suivants : 110 (pop3), 995 (pop3s), 143 (imap) et 993 (imaps). Il est possible que Postfix écoute sur le port 25, mais uniquement sur l'interface localhost, ou qu'il ne fonctionne que sur demande.