允许 Postfix 虚拟域仅向特定域发送邮件

允许 Postfix 虚拟域仅向特定域发送邮件

我想在 postfix 上添加一个带有多个邮箱的虚拟主机/域,其中用户只能将邮件发送到同一 postfix 实例上托管的特定域的地址。

这里的场景是我有一堆内部服务器和应用程序,它们都在“appname.local.domain.tld”下运行。我想允许这些应用程序仅从以下地址发送邮件[电子邮件受保护]至邮箱[电子邮件受保护]。来自 *@local.domain.tld 的邮件不允许使用除 *@domain.tld 之外的其他目的地。这是为了防止因配置错误的应用程序(或受到攻击的应用程序)而泄露数据,并确保来自这些系统的所有邮件都保留在组织内。

*@domain.tld 和 *.local.domain.tld 的邮件均由同一 postfix 实例处理。来自 *@domain.tld 的邮件显然不应受到上述定义的限制的影响。

如何配置 postfix 来实现上述场景?

答案1

至于限制谁可以发送到什么内容,我相信这就是您正在寻找的:

In the general case you need two lookup tables: 
one table that lists destinations that need to be protected, 
and one table that lists domains that are allowed to send to the protected destinations.

/etc/postfix/main.cf:
    smtpd_recipient_restrictions =
        ...
        check_recipient_access hash:/etc/postfix/protected_destinations
        ...the usual stuff...

    smtpd_restriction_classes = insiders_only
    insiders_only = check_sender_access hash:/etc/postfix/insiders, reject

/etc/postfix/protected_destinations:
    [email protected]   insiders_only
    [email protected] insiders_only

/etc/postfix/insiders:
    my.domain       OK  matches my.domain and subdomains
    another.domain  OK  matches another.domain and subdomains

http://www.postfix.org/RESTRICTION_CLASS_README.html

相关内容