我们正在尝试使用 Spamassasin 中的简单规则将网络钓鱼邮件标记为垃圾邮件。但不幸的是,我们无法对其进行有效检查。
基本上,我们想要实现的是,如果邮件的发件人不是来自我们的域@example.org,而是使用伪造的显示名称进行写作。
这是一个例子:
From: "Firstname Lastname <[email protected]>" <[email protected]>
所以我们制定了以下 SA 规则,但它不起作用
header __FRAUD_HEADER From =~ /.*@(?!example\.org)/i
body __FRAUD_BODY /".*\@example\.org.*"(?!.*\@example\.org.*$)/i
meta COMPANY_FRAUD (__FRAUD_HEADER && __KFRAUD_BODY)
describe COMPANY_FRAUD Fake Sender - Phishing Attempt
score COMPANY_FRAUD 100
关于为什么这没有成功的任何想法?
regex101.com 告诉我们正则表达式是正确的。Spamassasin 也没有抱怨错误。
编辑:我想我弄错了他们如何伪造发件人。这是我认为他们如何伪造/伪装发件人地址的摘录
# telnet mail.example.org 25
Trying 10.20.30.40...
Connected to mail.example.org.
Escape character is '^]'.
220 mail.example.org ESMTP
EHLO a.mailserver.com
250-mail.example.org
250-PIPELINING
250-SIZE
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
MAIL FROM:[email protected]
250 2.1.0 Ok
RCPT TO: [email protected]
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
TO: [email protected]
FROM: "Firstname Lastname" [email protected]
SUBJECT: Something
Spam/Phishing message text goes here
.
250 2.0.0 Ok: queued as 123456789
quit
221 2.0.0 Bye
Connection closed by foreign host.
建议的解决方案奏效了!