Postfix 服务器阻止传出的虚假域名,仅允许一个域名

Postfix 服务器阻止传出的虚假域名,仅允许一个域名

我们在 centos webserver 中安装了 postfix 邮件服务器。在该服务器中,用户可以从虚假的电子邮件 ID 发送邮件,例如[电子邮件保护]和所有。

但是我在该服务器中只有一个域,因此我需要阻止虚假 ID 并仅为我的 example.com 域授予权限。

如果我编辑 /etc/postfix/header_checks 或在传输中我们会被阻止吗?

所有外发邮件将仅通过我的 example.com 发送。请大家帮帮我。

答案1

强制用户使用电子邮件地址,例如[电子邮件保护]对于从服务器内部发送的邮件,您可以使用此配置

smtpd_restriction_classes =
   inside

inside =
  check_sender_access hash:/etc/postfix/allowed_senders
  reject

smtpd_recipient_restrictions =
   reject_unauth_destination
   check_client_access hash:/etc/postfix/inside_network
   ... your favourite anti spam stuff here ...
   permit

在/etc/postfix/inside_network中

127.0.0.1               inside
hostname.example.lan    inside

在/etc/postfix/allowed_senders中:

example.lan     OK

来源: http://www.arschkrebs.de/postfix/postfix_restriction_classes3_en.shtml http://www.arschkrebs.de/postfix/postfix_restriction_classes2_en.shtml

答案2

在我遇到同样的问题后,我快速搜索了一下,找到了以下内容(被盗版了http://www.bentasker.co.uk/documentation/linux/161-configuring-postfix-to-block-outgoing-mail-to-all-but-one-domain

我想在这里分享


使用传输映射 使用这种方法,我们可以告诉 Postfix 拒绝邮件或忽略它。后者通常是首选方法,因为我们希望发送应用程序相信邮件已发送。

首先我们需要编辑 postfix 配置文件

nano /etc/postfix/main.cf

现在搜索 transport_maps (Ctrl-W, transport_maps -> Enter)。你应该找不到任何东西(如果找到了,请跳过下一步,但要记下列出的文件)

添加一行阅读

transport_maps = hash:/etc/postfix/transport

注意:根据您运行的 Postfix 版本,您可以使用 texthash,这样就无需在文件上运行 postmap。读者可以自行决定他们喜欢哪种路由,但如果您的 postfix 版本低于 2.8,则不能使用 texthash。

保存并关闭(Ctrl-X,Y -> Enter)

现在我们需要更新传输图(如果不需要添加行,请在此处替换相关文件路径)

nano /etc/postfix/transport

现在我们需要添加一行来指定允许发送到哪个域(我将允许发送到 bentasker.co.uk)。为此,请插入以下行

example.com :
* discard:

这将丢弃发往不属于 bentasker.co.uk 域名的任何电子邮件地址的邮件。如果您想拒绝并显示错误,您可以使用(设置错误文本以满足您的需求)

example.com:
* error: Only allowing one domain

注意:只需在 bentasker.co.uk: 后面的行上添加其他域名即可,每个域名一行。

保存并关闭(Ctrl-X,Y -> Enter)

现在我们需要创建文件的哈希值(除非你在 main.cf 中使用了 texthash)

postmap /etc/postfix/transport

最后,我们需要 Postfix 重新加载它的规则

/etc/init.d/postfix reload

大功告成!现在您应该会发现发送到未指定域的电子邮件会被默默丢弃,而发送到白名单域的电子邮件则会正常通过。不过,请务必检查更改是否有效,mailq 和 maillog 是您的好朋友!

对于非白名单域,您应该看到消息在邮件日志中被删除,但之前没有进行任何连接,并且中继显示为无(可能没有连接的迹象,但如果中继!=无,则很有可能邮件已发送)。

来源:http://www.bentasker.co.uk/documentation/linux/161-configuring-postfix-to-block-outgoing-mail-to-all-but-one-domain

相关内容