Puncte:1

body_checks: Cum se filtrează conținutul codificat în base64?

drapel cn

Răspunsul idiomatic este probabil „nu - folosiți mai întâi un filtru care decodifică mesajul”, dar după cum se poate vedea în al doilea răspuns la această întrebare, acesta ar trebui să de asemenea, să fie posibil cu verificări_corp care este, de asemenea, ceea ce BUILTIN_FILTER_README @ postfix.org spune – și asta aș vrea să fac.

Iată una care mă deranjează de ceva vreme:

--================6489786132958404869==
Tip de conținut: text/plan simplu; charset="utf-8"
Conținut-Transfer-Codificare: base64

SmFnIGhhciByZWRhbiBza3Jpdml0IHRpbGwgZGlnLCBtZW4gZHUgc3ZhcmFyIG1pZyBpbnRlLiBM
w6V0IG1pZyB2ZXRhLCBqYWcgaGFyIG7DpWdyYSBzYWtlciBhdHQgYmVyw6R0dGEuIEtvbnRha3Rh
IG1pZyBpIG1pbiBwcml2YXRhIGUtcG9zdDogaXJlbmUub3NiZXJnNzNAZ21haWwuY29tCg==

--================6489786132958404869==--

Pentru aceasta, am adăugat verificări_corp regulă:

/SmFnIGhhciByZWRhbiBza3Jpdml0IHRpbGwgZGlnLCBtZW4gZHUgc3ZhcmFyIG1pZyBpbnRl/ RESPINGERE SPAM

dar pur și simplu nu o va prinde când este într-un astfel de bloc. S-a prins unu încercare de livrare când același șir a fost încorporat într-un corp: <div dir="ltr"><pre class="gmail-moz-quote-pre"><pre>SmFnIHZpbGwgcHJhdGEgbWVkIGRpZywgbWVuIGRldCBmaW5ucyBmw7ZyIG3DpW5nYSBtZWRkZWxh</pre> dar a fost singura dată când regula a prins acest lucru cu succes. Am adăugat destul de multe dintre acestea baza64 reguli codificate, dar niciuna dintre ele nu prinde nimic atunci când este încorporată ca mai sus.

The baza64 codificarea în acest caz particular este întotdeauna exact aceeași, așa că nu trebuie să fac a baza64 tripple to catch variants, ceea ce am făcut pentru alte cazuri:

/aHR0cHM6Ly9jbGNrLnJ1|dHRwczovL2NsY2sucnUv|dHBzOi8vY2xjay5y/ RESPINGERE Vă rugăm să eliminați linkul către clck.ru

Nici cele de mai sus nu prinde nimic atunci când sunt încorporate într-un bloc ca mai sus.

Am încercat să adaug principal.cf setare

disable_mime_input_processing = da

care pare să fi îmbunătățit lucrurile. Le prinde pe unii dintre ei acum, dar nu pe toate pe care le pot verifica manual ar trebui să prinde mesaje care se strecoară prin crăpături.

Ai idee de ce nu funcționează și ce pot face în privința asta? eu folosesc 3.6.4-1.fc35.

Ted Lyngmo avatar
drapel cn
@anx De fapt, da (sau a făcut - tocmai le-am eliminat). Avea câteva `DUNNO`s răspândite pe care nu-mi amintesc de ce le-am pus acolo. Le-am eliminat acum și voi vedea dacă asta face o diferență.
Ted Lyngmo avatar
drapel cn
@anx De când am eliminat `DUNNO`s, nu a existat nicio încercare de a livra e-mailuri care au ocolit anterior filtrul meu `body_checks` - dar încă am o impresie bună despre asta.Atacurile de livrare au loc de obicei în rafale de câteva ori pe zi, așa că sunt încrezător că vă voi putea verifica bănuiala înainte de expirarea recompensă, dacă doriți să scrieți un răspuns la întrebarea mea.
Puncte:1
drapel fr
anx

Este un caracteristică încorporată pentru diagnosticarea căutărilor de hărți postfix, în special pentru verificări_corp de asemenea. Transmiteți aceeași configurație a hărții pe care ați configurat-o pentru serviciul dvs. de curățare smtpd la hartă poștală utilitate și adăugați unul sau mai multe -v pentru rezultate detaliate:

# postconf body_checks
body_checks=pcre:/etc/postfix/body.pcre
# cat known_bad.eml | postmap -v -b -q - pcre:/etc/postfix/body.pcre
...
postmap: dict_pcre_lookup: body.pcre: linia de testare 1
postmap: dict_pcre_lookup: body.pcre: linia de testare 2
postmap: dict_pcre_lookup: body.pcre: linia de testare 3
linia de testare 3 NU

Acest lucru vă va spune, pentru fiecare linie de corp, care intrare (dacă există) din harta dvs. se potrivește cu linia dvs.

Un posibil motiv pentru care harta dvs. ar putea să nu se comporte așa cum vă așteptați ar fi o potrivire prea largă Nu știu rezultatul preconizat RESPINGĂ spam-ul rezultat, instruirea curăță server pentru a continua cu următoarea linie în loc să încerce alte expresii.

Puncte:0
drapel ru

Am căzut o dată în aceeași capcană, blocând toate e-mailurile care încep cu „<!DOCTYPE html” :)

Dacă este conținut dinamic, veți fi greu să găsiți ceva mai târziu în e-mail, dar dacă este static, o decodificare de testare a unui astfel de mesaj și re-codificarea părților semnificative ar putea ajuta la găsirea unui șir de potrivire bun. Principalii dvs. adversari atunci când faceți acest lucru sunt întreruperile de linie, care pot apărea aproape oriunde, în funcție de poziția textului potrivit.

De obicei, fac doar potrivirea baze64 în anteturi (subiectul în principal, anteturile UTF-8 tind să-și codifice subiectele în base64), deoarece împărțirea unui antet pe mai multe linii este destul de neobișnuită (dar totuși posibilă).

S-ar putea să găsiți ajutor mai bun în utilități externe precum amavis sau dspam (care folosesc ambele spamassassin), cu bayes activat. Acest lucru ar ajuta, de asemenea, cu partea de decodare, deoarece decodoarele sunt încorporate în aceste produse.

Ted Lyngmo avatar
drapel cn
Mulțumiri! Rețineți că nu este că regex-urile mele nu se potrivesc cu conținutul din corpul mesajului. Dacă copiez sursa mesajului unui mesaj care a trecut într-un fișier și rulez manual regex:es-urile `body_checks`, o prind de fiecare dată. Am actualizat putin intrebarea.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.