我想在 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