Suas regras originais:
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
Algumas críticas:
- Eu vejo um erro de digitação: sua meta regra depende de
__KFRAUD_BODY
em vez de__FRAUD_BODY
- Eles são realmente caros. Tente não usar olhar ao redor, a menos que você tenha que
- Eu recomendo nomear suas regras para você lembrar que elas são suas
- Você realmente quer essas aspas duplas no corpo regex? Esse pode ser o problema
- Isso realmente deveria ser um regex corporal? Você está tentando combinar metadados encaminhados in-line?
- Uma pontuação de 100 é perigosamente alta, pois seu limite deve estar entre 5-10
Que tal:
header __DW_NONFRAUD_HEADER From:addr =~ /\bexample\.org$/i
body __DW_FRAUD_BODY /"[^"]{0,99}\@example\.org\b[^"]{0,99}"(?!.{0,99}\@example\.org\b)/i
meta DW_COMPANY_FRAUD (!__DW_NONFRAUD_HEADER && __DW_FRAUD_BODY)
describe DW_COMPANY_FRAUD Fake Sender - Phishing Attempt
score DW_COMPANY_FRAUD 3
Neguei sua primeira verificação e limitou-a apenas ao endereço no cabeçalho De (consulte a revisão da regra meta
). Eu também coloco marcadores de limite de palavra copiosos ( \b
) para garantir que você não capture "myexample.org" ou "example.org.in" ou outras esquisitices. Intervalos ilimitados são muito caros, então reduzi-os a 0-99 caracteres e assegurei que você não olha muito para frente, impedindo-os de combinar aspas duplas. Eu também removi seu $
porque o SpamAssassin recolhe todo o espaço em branco (os finais de linha podem não estar onde você pensa que estão; é muito melhor usar \b
e similares).
Eu considero uma pontuação de 3 muito alta. Qualquer outra coisa e você pode querer considerar os recursos de lista negra da SA.
Realmente, você deve garantir que instalou e configurou corretamente os plug-ins do SpamAssassin para DKIM , SPF e DMARC (que são anti- spoofing tecnologias que implementam muito do que você está tentando fazer). suas DNSBL e URI DNSBL está configurado corretamente e que você está usando (e treinando!) Bayes . Pesquisas difusas de terceiros, como Razor e também pode ajudar a detectar spams perdidos.
Eu digo essas coisas porque essa regra é trabalhosa, cara e não escala (você precisa criar uma por domínio), mas principalmente porque não parece eficaz (a "assinatura" alvo não é terrivelmente e você obterá falsos positivos).