我几乎在CentOS8上安装了完美的后缀(v3.3.1)。我的目标是:
我成功地完成了上面的工作,但有一个副作用,我想不出如何预防。我迄今所做的一些工作:
myhostname = server.foobar.com
mydomain = foobar.com
myorigin = $myhostname
mydestination = $myhostname, localhost
mail_spool_directory = /var/spool/mail
virtual_transport = virtual
virtual_mailbox_domains = foobar.com
virtual_mailbox_base = /var/spool/email/这个位告诉后缀,服务发送给用户的任何邮件都会被添加到$myhostname (user@server.foobar.com)中,并被传递到/var/spool/mail中的标准系统电子邮件中。
当user@foobar.com被视为虚拟域时,发送给该域中的linux用户的任何电子邮件都会查找虚拟用户,如果没有拒绝该电子邮件的邮件。
如果我添加一个虚拟用户(如网站管理员),发送给该用户(webmaster@foobar.com)的任何电子邮件都将被接受并传递到/var/spool/email/...,将公共邮件与系统电子邮件分开。
THE问题…
如果有人明智地从互联网上向主机名(user@server.foobar.com)发送电子邮件,那么它就会被接受并发送到/var/spool/mail中。我不知道该怎么阻止这件事。
我尝试过设置default_transport = error:Domain doesn't accept email.,但这并没有改变行为。docs不支持这个功能,但我在论坛上看到了它,所以我尝试了一下。
将linux用户保留为user@$myhostname对我来说并不重要,这是我唯一能找到的方法,让linux用户与同一域名上的虚拟用户保持分离,以防止垃圾邮件发送者攻击root@foobar.com、postmaster@foobar.com等。
其他配置设置(如果重要):
html_directory = no
local_recipient_maps =
luser_relay = postmaster
mail_spool_directory = /var/spool/mail
meta_directory = /etc/postfix
mydestination = $myhostname, localhost
mydomain = foobar.com
myhostname = server.foobar.com
mynetworks_style = host
myorigin = $myhostname
relay_domains =
relayhost =
virtual_mailbox_base = /var/spool/email/
virtual_mailbox_domains = foobar.com
virtual_transport = virtual有什么办法吗?
发布于 2020-04-21 22:12:16
I找到了一个解决方案。
保持将本地用户与虚拟用户分离的myorigin = $myhostname方式,就像我在问题中所述的一样。
在smtpd_recipient_restrictions部分的main.cf中,在permit_mynetworks添加指向列表的check_recipient_access之后。我使用了hash:,它看起来像:
# Don't include the "...", its just to show this is among other settings
smtpd_recipient_restrictions =
...
permit_mynetworks
check_recipient_access hash:/etc/postfix/block_mydomain
...然后创建列表/哈希文件/etc/postfix/block_mydomain
hostname.domain.com 513 Invalid domain.保存文件并运行postmap block_mydomain以创建*.db版本。
然后重新启动后缀systemctl restart postfix,这样就可以了。
我测试了它,我可以使用sendmail命令本地发送邮件给任何linux用户。Crontab可以向本地linux用户发送电子邮件。但是如果你从互联网上发送一封电子邮件到user@hostname.domain.com,它就会被反弹。如果你想知道,double@hostname.domain.com仍然会被接受和丢弃。
https://unix.stackexchange.com/questions/580114
复制相似问题