Come configurare amavisd-new per la scansione solo su mittenti / server particolari?


10

Mi piacerebbe sapere come configurare amavisd-new per scansionare lo spam solo su determinati client (IP, CIDR o nomi host) o in alternativa dominio di posta elettronica del mittente.

So che è possibile farlo sull'indirizzo di posta di un destinatario ma non su come farlo per l'indirizzo di posta del mittente. È anche possibile farlo sull'indirizzo IP di un destinatario con le banche politiche. Ma il mio approccio dovrebbe essere quello di essere indipendente dal destinatario e inoltrare solo il mittente.

Quello che voglio realizzare è scansionare solo le e-mail provenienti da Yahoo, Google, Hotmail e gli altri grandi mittenti. Quindi è più facile configurare quali mittenti dovrebbero essere osservati rispetto a quelli che non dovrebbero.

Sapevo che è più facile da ottenere dal lato MTA, ma questo non fa parte della domanda perché ho già una soluzione dal lato MTA. Voglio farlo su amavisd-new. E non aiuta a sapere come mettere i mittenti in una lista bianca, poiché ciò significa che la posta passa attraverso tutta la scansione ma ottiene quindi un punteggio elevato negativo. La posta non dovrebbe essere scansionata affatto a meno che non venga inviata dai grandi giocatori.

Quindi quali parametri in amavisd-new sono quelli giusti per abilitare la scansione di mittenti particolari e solo per questi?


Hai visto questi esempi ? In tal caso, cosa c'è di sbagliato in loro?
the-wabbit il

@ syneticon-dj li conosco. Questa è la soluzione che ho già (quarto paragrafo sopra). Ma sono dopo i filtri di coda e ho bisogno che gli amavis funzionino come un filtro di coda prima e quindi questo non funziona. E questo per bypassare mittenti particolari; Voglio il contrario per scansionare solo mittenti particolari e bypassare il resto.
mailq

Non riesco a capire perché non funzioni prima della coda. E invertire la logica per scansionare solo determinati mittenti e non scansionare nient'altro significa semplicemente invertire le impostazioni di configurazione per le vostre banche politiche - imposta le variabili bypass _ * _ checks_maps come configurazione predefinita e assicurati che le mappe siano vuote per la tua banca politica yahoo.com.
the-wabbit il

Perché la whitelisting non funziona per non chiamare SpamAssassin? Da amavisd.conf-sample: "Se TUTTI i destinatari del messaggio sono in lista bianca o nera il mittente, la scansione spam (chiamando SpamAssassin) viene ignorata, risparmiando in tempo." "TUTTI" i destinatari dovrebbero essere interessati quando si utilizza @whitelist_sender_maps non dovrebbe?
sebokopter,

Risposte:


1

Lista bianca Amavisd tutto tranne un determinato dominio

Ciò di cui hai bisogno è whitelist_sender_map ( qui ) con looker regex ( qui )

Lista bianca tutto tranne Domain.X

@whitelist_sender_maps = (new_RE (
    qr'@(?!(gmail\.com$|hotmail\.com$|aol\.com$))'i
));

Lista bianca tutto tranne Dominio e Sottodominio di X

@whitelist_sender_maps = (new_RE (
    qr '[@.] ((gmail \ .it $ |?! hotmail \ .it $ | aol \ .it $))' i
));

Modifica

Ad esempio, aggiungendo msn.com all'eccezione della whitelist

@whitelist_sender_maps = (new_RE (
    qr '[@.] ((gmail \ .it $ |?! hotmail \ .it $ | aol \ .it $ | msn \ .it $))' i
));

NON infrangere questa regola in più regole, non è quello che vuoi

Infrangere le regole in 2 o più righe ELETTRIRÀ TUTTO !!

(Metterò questa sezione in rosso se possibile)

In termini semplici, la whitelist è un controllo sequenziale, una riga / regola alla volta.

Diamo un'occhiata al seguente esempio SBAGLIATO

# NON COPIARE QUESTO
@whitelist_sender_maps = (new_RE (
    qr'@(?!(gmail\.com$|hotmail\.com$))'i,
    qr'@(?!(aol\.com$|msn\.com$))'i
));
# NON COPIARE QUESTO
  1. Passerà qualsiasi cosa da msn.com, perché la prima riga restituisce VERO e il check stop.
  2. Passerà qualsiasi cosa da gamil.com, perché dopo aver fallito la prima riga, amavisd si sposta sulla seconda riga, che restituirà VERO .
  3. Che dire del dominio non nell'elenco? Passeranno. Questa è l'intenzione della regola!

Finisci per autorizzare tutti i mittenti !!

Programma di test Perl

#! / Usr / bin / perl

usare rigoroso;

# Rifiuta dominio e sottodominio
#my $ REGinfo = '== Rifiuta dominio e sottodominio =='
#my $ REG = qr '[@.] (?! (gmail \ .com $ | hotmail \ .com $ | aol \ .com $))' i;

# Solo dominio esatto
my $ REGinfo = '== Solo dominio esatto ==';
my $REG=qr'@(?!(gmail\.com$|hotmail\.com$|aol\.com$))'i;

stampa $ REGinfo. "\ n";
stampa '$ REG ='. $ REG. "\ n \ n";

my @strTest = (
    'Test@hotmail.com',
    'Test@gmail.com',
    'Test@aol.com',
    'Test@msn.com',
    'Test@yahoo.com',
    'Test@yahoo.aol.com',
    'Aol.com@somethingelse.com'
);

per il mio $ i (0 .. $ # strTest) {
    if ($ strTest [$ i] = ~ $ REG) {
        print ("Passa $ strTest [$ i] \ n");
    }
    altro {
        print ("Fail $ strTest [$ i] \ n");
    }
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.