最近,我们公司收到了很多冒充客户和供应商的显示名称欺骗电子邮件。由于我的同事们不幸不太注意安全警告等,我不能指望他们意识到这种威胁。我在 Google 上搜索了几个小时,没有找到令人满意的解决方案。至少不是一个简单的解决方案,不涉及付费的第三方工具等。
因此,我偶然发现了一个既优雅又简单的解决方案,即在 header_checks 文件中将以下行添加:
/^From: (.*@.*) (.*@.*)$/ REPLACE From: "PHISHING!!!" $2
/^Reply-To: (.*@.*) (.*@.*)$/ REPLACE Reply-To: "PHISHING!!!" $2
这两行代码的作用基本上是检查发件人标头中是否存在 2 个电子邮件地址。如果是,我们假设第一个是伪造的。然后它只是简单地重写发件人标头,用网络钓鱼替换伪造的发件人并保留真实的发件人地址。
之后,只需将修改后的 header_checks 文件映射到 Postfix:
postmap -r header_checks
重新加载配置:
postfix reload
并运行测试以确认 header_check 是否正确应用:
postmap -q "From: Fake Sender <[email protected]> <[email protected]>" regexp:/etc/postfix/header_checks
该命令应该返回类似以下内容:
REPLACE From: "PHISHING!!!" <[email protected]>
如果有正命中,则为正命中。如果为负命中,则无输出。
我希望这能帮助遇到同样问题的人。
问候
答案1
我在我们公司的邮件服务器上遇到了这个问题,因为我们验证了自己的电子邮件域,只有登录用户才能发送,因此,我稍微修改了你的语法
/^From: (.*@.*) <(.*@.*)>$/ REPLACE From: "[POSSIBLE PHISHING] $2" <$2>
/^Reply-To: (.*@.*) <(.*@.*)>$/ REPLACE Reply-To: "[POSSIBLE PHISHING] $2" <$2>
这样,电子邮件接收者就可以知道发件人是谁。如果一些懒惰的公司用户将发件人姓名设置为他们的电子邮件名称,您的代码可能会导致误报。希望这能有所帮助
*还有一种是将域名欺骗为显示名称,可以使用以下代码来纠正
/^From: (.*)\.(.*) <(.*@.*)>$/ REPLACE From: $3 <$3>
/^Reply-To: (.*)\.(.*) <(.*@.*)>$/ REPLACE Reply-To: $3 <$3>