adicionando um filtro de expressão regular para bloquear um subdomínio e um TLD no sendmail

2

Executando o Sendmail versão 8.15.2 no Fedora 24 e muito spam está vindo de (subdomínio). (manydomains) .us. Gostaria de adicionar um filtro como o que está disponível no arquivo de acesso para bloquear e os TLDs .us que têm um subdomínio. Por exemplo: mail.us --- > Está bem anything.mail.us --- > REJEITAR

Uma expressão regular pode parecer uma destas:

[a-zA-Z_0-9.-]+@[a-zA-Z_0-9-]+?\.+[a-zA-Z_0-9.-]+?\.(us)$

ou

|(.*\d.*\.us$)

Existe um lugar para isso no arquivo sendmail.mc? Eu não acho que o regexps funcione no arquivo de acesso. SpamAssassin e o Spamhaus da RBL devem começar a pegá-los, mas aqui está uma amostra de um falso negativo:

Return-Path: <[email protected]>
X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on
        ourdomain
X-Spam-Level: ***
X-Spam-Status: No, score=3.1 required=5.0 tests=BAYES_00,FROM_WORDY,
        HTML_FONT_LOW_CONTRAST,HTML_MESSAGE,RDNS_NONE,SPF_HELO_PASS,SPF_PASS,
        T_HTML_TAG_BALANCE_CENTER,T_REMOTE_IMAGE,URIBL_BLACK autolearn=no
        autolearn_force=no version=3.4.1
    
por RobbieTheK 29.11.2016 / 22:09

1 resposta

0

Eu entendi! Note que parece que o recuo antes do regex e espaço de linha extra antes de LOCAL_CONFIG no arquivo sendmail.mc é necessário. Dica do chapéu para este post do blog XIITEC para algumas dicas como bem como o livro de receitas do sendmail .

LOCAL_CONFIG
# this will block subdomain.domain.us or subdomain.domain.info but not domain.us or domain.info
Kcheckaddress regex -a@MATCH
   [a-zA-Z_0-9.-]+<@[a-zA-Z_0-9-]+?\.+[a-zA-Z_0-9.-]+?\.(us|info)

HMessage-Id: $>CheckMessageId

SCheckMessageId
R< $+ @ $+ >            $@ OK
R$*             $#error $: "553 Header error"

LOCAL_RULESETS
SLocal_check_mail

R$*             $: $>Parse0 $>3 $1
R$+             $: $(checkaddress $1 $)
R@MATCH             $#error $: "553 Your Domain is Blocked for Unsolicited Mail"

Aqui está a prova de que funciona:

sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> Local_check_mail [email protected]
Local_check_mail   input: 123 @ aol . com
canonify           input: 123 @ aol . com
Canonify2          input: 123 < @ aol . com >
Canonify2        returns: 123 < @ aol . com . >
canonify         returns: 123 < @ aol . com . >
Parse0             input: 123 < @ aol . com . >
Parse0           returns: 123 < @ aol . com . >
Local_check_mail returns: 123 < @ aol . com . >
> Local_check_mail [email protected]
Local_check_mail   input: 123 @ aol . com . us
canonify           input: 123 @ aol . com . us
Canonify2          input: 123 < @ aol . com . us >
Canonify2        returns: 123 < @ aol . com . us >
canonify         returns: 123 < @ aol . com . us >
Parse0             input: 123 < @ aol . com . us >
Parse0           returns: 123 < @ aol . com . us >
Local_check_mail returns: $# error $: "553 Your Domain is Blocked for Unsolicited Mail"
    
por 05.12.2016 / 18:14