我试图限制我的服务器在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"
正如你所看到的,我有端口25在TCP_IN中打开,但已经从TCP_OUT中删除。 原因是我想通过smtps传输我的邮件,所以我打开了端口465而不是TCP_OUT。 由于我在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,尽pipe我可以发邮件给自己。 但是我可以收到所有的邮件。
请让我知道如果我需要进一步的变化。 我是否需要禁用端口25,才能通过ssl发送我的邮件。
谢谢
encryption是机会主义的(即使用STARTTLS)。 想想看,不是每个发送邮件的人都会支持TLS。
因此,要将邮件发送到gmail,您需要能够通过TCP 25联系gmail的MX。为了encryption,双方都必须支持STARTTLS。 STARTTLS发生机会而不是使用不同的端口。 gmail确实支持STARTTLS,所以连接会自动升级到encryption的
TCP 587(SMTP提交)用于从您的用户进行身份validation和可选encryption(使用STARTTLS)连接。
如果你想要求你的用户使用encryption,那么你需要在你的MTA上进行configuration。 您也可以使用TCP 465进行来自用户的身份validation连接,但是465使用TLS而不是STARTTLS。
。