我需要从我的 web 应用发送通知,并且我在服务器上将 postfix 设置为空客户端。因此,/etc/postfix/master.cf
我在文件中注释掉了以下行
#smtp inet n - - - - smtpd
#local unix - n n - - local
因此,在我这样做之后,当我尝试使用 telnet 时,它会阻止我。
$ telnet localhost 25
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
当我使用 sendmail 时,我可以发送电子邮件,这正是我想要的。到目前为止一切顺利。
现在,我担心垃圾邮件发送者不会将我的 SMTP 服务器用作开放中继。为此,我是否需要在 postfix 中启用 TLS 和 SMTP Auth 支持,或者仅禁用对 postfix 的网络访问(通过注释掉 master.cf 中的这两行)就足够了?
换句话说,在我的当前设置中 - 关闭 TLS 并禁用对 Postfix 的网络访问 - 我的 SMTP 服务器是否有可能被入侵?
答案1
TLS 用于与您的服务器进行安全通信。大多数垃圾邮件发送者和合法邮件服务器很少使用 TLS 向您的服务器发送邮件。更常见的情况是,当您从电子邮件程序(例如 Outlook、Thunderbird 等)发送邮件时,您会使用 TLS。
如果禁用网络访问,您将无法从电子邮件客户端发送邮件,但是垃圾邮件发送者和合法邮件也将无法传递到您的服务器。
根据您的情况,禁用 smtp 应该可以解决问题。
答案2
我建议使用 TLS 和 SMTP 身份验证设置 Postfix。
此链接应该解释正确保护邮件服务器的大部分过程。