防止来自外部本地主机的 SMTP 连接

Ale*_*ner 4 ubuntu smtp postfix iptables web-server

我有一个需要发送电子邮件以确认订单并提醒订阅用户某些事件的网站。我并不需要通过服务器发送电子邮件任何其他原因,所以我想,以防止甚至连接到端口25用于SMTP本地主机的外部的任何人。我试过这样做:

sudo iptables -A INPUT -p tcp -s 0.0.0.0 --dport 25 -j DROP
Run Code Online (Sandbox Code Playgroud)

但我仍然可以 telnet 到端口 25 并从另一台计算机键入 SMTP 命令。我究竟做错了什么?另外,有没有更好的方法来实现我想要的?澄清一下:我想要的是一台可以发送电子邮件(通过 SMTP)的机器,但只能发送来自机器上运行的脚本的电子邮件。并且任何配置都必须通过重新启动来“存活”。

我在 Ubuntu (Hardy) 上使用 Postfix。

mat*_*mat 10

我认为一个更好的解决方案,如果你不想能够接收来自外部的电子邮件,是在master.cf文件替换中准确地告诉 postfix :

smtp      inet  n       -       n       -       -       smtpd
Run Code Online (Sandbox Code Playgroud)

这通常是第一个非注释行,但您的里程可能会有所不同,具体取决于您的后缀是否由您的供应商修改,包括:

127.0.0.1:smtp      inet  n       -       n       -       -       smtpd
Run Code Online (Sandbox Code Playgroud)