在OpenBSD上使用OpenSMTPD避免不必要的反弹

我在OpenBSD上运行OpenSMTPD,同时使用spamd,spampd和spamassassin,DKIMproxy和dovecot。 我的设置是处理服务器上的本地电子邮件和我的域的(外部)电子邮件。 我的设置似乎正在工作(仍处于testing阶段)。 我很高兴能够通过包含注释和空格的17行的opensmtpd.conf文件来实现我的设置。 然而有一些我不满意的事情。 我希望有人可以build议如何解决这些问题:

当build立我最初没有spampd / spamassessin的设置。 在那个configuration中,只有一个“接受”命令可以接收电子邮件并传送给鸽友。 OpenSMTPD服务器检查收件人地址是否存在,如果不存在则返回错误550,并且不允许提交电子邮件。 这很好。

在将spampd和spamassassin结合到接收命令后,将传入的电子邮件转发到spampd(运行spamassassin)。 在spampd / spamassasin处理之后,由另一个交付给dovecot的OpenSMTP接受命令拾取消息。 虽然这样做有一些不必要的副作用,如果不是固定的,会导致漏洞:

1)spampd / spamassassin将处理我的域的所有传入消息,也处理那些域中不存在的收件人。 Spampd / Spamassassion并不完全是“轻松”的任务。 这一起使得DOS攻击的机会更高。

2)我的域名的所有传入消息首先被接受。 如果收件人未知,只有在spampd / spamassassin处理后才能检测到。 一旦检测到未知的收件人,邮递员deamon会向发件人发送递送状态电子邮件,说明收件人未知。 这使得攻击者可以使用我的服务器向任何有效的收件人发送类似垃圾邮件,通过发送电子邮件给我的服务器作为发件人任何有效的电子邮件地址和收件人在我的域名上的任何无效收件人。

问题:

  • 有没有什么办法可以configurationOpenSMTPD,即使在spampd / spamassassin被合并后,它立即拒绝未知的收件人(即作为首次提交给OpenSMTPD的一部分)?
  • 有没有什么办法可以让服务器不发送拒收邮件给不存在的收件人

亲切的问候,