我正在尝试限制我的服务器在 CSF 中的开放端口。IPv4 端口设置包括:
# Allow incoming TCP ports
TCP_IN = "22,25,53,80,110,143,443,587,3654,53343”
# Allow outgoing TCP ports
TCP_OUT = "22,53,80,113,443,465,995,3654"
# Allow incoming UDP ports
UDP_IN = "53"
# Allow outgoing UDP ports
# To allow outgoing traceroute add 33434:33523 to this list
UDP_OUT = "53,113,123"
如您所见,我在 TCP_IN 中打开了端口 25,但已将其从 TCP_OUT 中删除。原因是我想通过 smtps 传输邮件,因此我在 TCP_OUT 中打开了端口 465。由于我在 Directpanel 中使用 Rouncube,因此我还在 Rouncube 的 config.inc.php 中设置了以下内容:
$config['default_host'] = 'ssl://mail.mydomain.com';
$config['smtp_server'] = 'ssl://mail.mydomain.com';
$config['smtp_port'] = 465;
但是,当我从 TCP_OUT 中删除端口 25 时,我不再能够发送邮件,比如说,发送到 gmail,尽管我可以向自己发送邮件。但我可以接收所有邮件。
如果我需要做任何进一步的更改,请告诉我。我是否需要禁用端口 25,以便通过 ssl 发送邮件。
谢谢
答案1
简短回答:
如果您的 MTA 在同一个盒子上,您需要能够连接到 TCP 25。
长答案:
互联网上站点之间的 SMTP,使用 TCP 25
加密是随机的(即使用 STARTTLS)。想想看,并不是每个你发送电子邮件的人都会支持 TLS。
因此,要向 gmail 发送邮件,您需要能够通过 TCP 25 到达 gmail 的 MX。要进行加密,双方都必须支持 STARTTLS。STARTTLS 发生投机取巧地而不是使用其他端口。恰巧,gmail 支持 STARTTLS,因此连接将自动升级为加密连接
无论如何,提交不会使用 TCP 25。
TCP 587(SMTP 提交)用于来自用户的经过身份验证和可选加密(使用 STARTTLS)的连接。
如果您想要求用户使用加密,则需要在 MTA 上进行配置。您还可以使用 TCP 465 进行来自用户的经过身份验证的连接,但 465 使用 TLS 而不是 STARTTLS。
。