使用默认 Sendmail 配置打开 SMTP 端口是否安全?

使用默认 Sendmail 配置打开 SMTP 端口是否安全?

我的自托管 Web 应用程序 (Ubuntu VPS) 需要在出现问题时向用户发送 noreply@ 通知。我实际上不需要接收电子邮件的功能,但我希望遵守互联网标准并启用诸如 postmaster@、abuse@ 等收件箱(我最担心的是,否则会触发反垃圾邮件保护,因为我的通知是在需要用户立即干预时发送的)。

为了实现上述目标,我安装了 Sendmail,配置了一些 DNS 记录,并打开 Sendmail 以公开监听端口 25 和 587(我认为这是接收外部电子邮件所必需的)。我现在可以完美地发送和接收电子邮件,但是,我担心安全性。

由于我的 SMTP 服务器对公众开放,而且我没有配置任何身份验证,这是否意味着某些恶意行为者可以代表我的服务自由发送电子邮件?是否有选项允许仅从本地主机发送电子邮件,这甚至是一种安全检查吗(外部发件人 IP 地址不能被欺骗为本地主机吗)?

答案1

是的,您很可能正在运行一个开放的邮件服务器,如果您还不是垃圾邮件来源,那么您很快就会成为垃圾邮件来源。您无需能够接收电子邮件即可发送。对于您的情况,我建议关闭端口 25 和 587,并且不必担心从那里检索 postmaster@ 或 abuse@ 电子邮件。

anx 在上面的评论中暗示的是,您的发送邮件服务器不必是您的接收邮件服务器。如果您觉得应该检索管理电子邮件,您可以设置 Google 重定向并使用它来检索管理邮件。如果您希望这些邮件进入您的新服务器,您应该在打开端口之前设置身份验证。

答案2

发送 SMTP 没有问题。接收可能有问题。

确保您的 sendmail 配置不是开放中继。

您可以运行此命令来阻止开放中继

sudo sh -c 'echo "FEATURE(`relay_hosts_only')dnl" >> /etc/mail/sendmail.mc'
sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
sudo systemctl restart sendmail

我还建议将 sendmail 与 spamassian 集成

#!/bin/bash

# Update system packages
sudo apt update
sudo apt upgrade -y

# Install necessary packages
sudo apt install -y  spamassassin spamc

# Start SpamAssassin
sudo systemctl start spamassassin
sudo systemctl enable spamassassin

# Configure Sendmail for SpamAssassin
sudo sh -c 'echo "dnl # Uncomment the line below to enable the SpamAssassin Milter" >> /etc/mail/sendmail.mc'
sudo sh -c 'echo "INPUT_MAIL_FILTER(\`spamassassin', \`S=local:/var/run/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m')dnl" >> /etc/mail/sendmail.mc'
sudo sh -c 'echo "dnl # Define Milter macros" >> /etc/mail/sendmail.mc'
sudo sh -c 'echo "define(\`confMILTER_MACROS_CONNECT', \`j, _, {daemon_name}, {if_name}, {if_addr}')dnl" >> /etc/mail/sendmail.mc'
sudo sh -c 'echo "define(\`confMILTER_MACROS_HELO', \`{verify}, {cert_subject}')dnl" >> /etc/mail/sendmail.mc'

# Rebuild Sendmail configuration
sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
sudo systemctl restart sendmail



echo "Script execution complete."

答案3

您的 SMTP 服务器不会完全开放,除非 Ubuntu 维护人员干预了配置。

您可以在 /etc/mail/access 中对此进行微调

# Allow a local NAS to send mail
192.168.1.200  RELAY
# Deny a Bad Server
192.0.2.33 ERROR:550 We don't accept mail from you

IP 地址欺骗 使用 TCP 欺骗 IP 地址非常困难。我还没有看到任何垃圾邮件发送者使用这种方法。

请注意,您不信任反向 DNS 允许中继。

作为参考,在“sendmail-doc”包中包含一个名为op.ps和/或op.txt的操作手册。

相关内容