Postfix 默认“Internet 站点”设置的安全问题

Postfix 默认“Internet 站点”设置的安全问题

我想安装 Postfix 来从本地主机发送电子邮件或/和将电子邮件转发到外部邮件网关(例如 sendgrid)。但是,我不想收到邮件使用这台机器,并且我不想接受来自其他机器的连接。

安装 Postfix 时,默认为“Internet 站点”,此配置确实非常适合我的目的。但我的理解是,有了这个设置,我的 Postfix 也可以接收邮件。

那么,我应该怎么做才能禁用不需要的功能?对于我的目的而言,Postfix 配置有没有什么最佳实践?

答案1

关于安全性,由于您需要为内部客户端中继,因此您必须允许 Postfix 接收邮件。您可以设置:

mynetworks_style = subnet

子网内main.cf没有主机可以使用 Postfix 作为传输器,因此您不会收到任何来自外部的邮件。Mynetworks_style 还有一个class选项,您可以在其中定义子网类,形式如下

mynetworks = x.x.x.x/y  p.p.p.p/q 

为允许的主机。

从技术上来说,可以通过 Gmail 等发送邮件,但我认为免费电子邮件服务不允许这样做。以下是我为 Gmail 所做的:

另外main.cf

relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtpd_tls_auth_only = no
smtp_sasl_auth_enable = yes
smtpd_sasl_local_domain     = $mydomain
broken_sasl_auth_clients = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd

就我的情况而言,$mydomain这是因为我的 LAN 域与我的 Google Apps 域相同。gmail.com如果您的情况并非如此,您可能需要添加或直接输入 Google Apps 域名。

您还需要为用户创建一个哈希:

[smtp.gmail.com]:587 [email protected]:s3cr3+pA55

[email protected]您的 FQ 用户名在哪里,以及s3cr3+pA55您的实际密码(明文形式)。您输入该字符串/etc/postfix/sasl/passwd并通过执行以下操作生成哈希:

$ sudo postmap /etc/postfix/sasl/passwd

最后,请注意,尽管我只向自己域内的用户发送了邮件,但一段时间后 Google 屏蔽了我的发件人用户名,并拒绝对此采取任何措施。看起来,通过他们的服务器自动发送邮件(在我的情况下是服务器通知)是被禁止的,尽管从他们的条款中很难解读这一点。

答案2

听起来您想将 Postfix 设置为“卫星系统”而不是“互联网站点”。

sudo dpkg-reconfigure postfix

卫星系统:所有邮件都被发送到另一台称为‘智能主机’的机器进行投递。”

dpkg-reconfigure 将引导您完成配置并相应地更新 /etc/postfix/main.cf。

智能主机将是您的​​外部邮件网关。您需要确保将其设置为接受来自此卫星系统的邮件。(对于 Postfix 外部邮件网关,这意味着将卫星系统添加到智能主机上的 mynetworks。)

相关内容