Kilka uwag o podszywaniu się w mailach.

[Aktualizacja 2017-05-14] Poprawioan reguła. paczka.paczkomaty.pl nie ma SPFa

Zwrócono mi uwagę w komentarzach do wpisu o Spfie i DKIM ,że reguła może nie działać (poniżej reguła)

header  __ZABOJCASPAMU_SPF_REQ_1  From:addr=~/(dhl\.com|dhl\.pl|poczta\-polska\.pl|inpost\.pl|paczkomaty\.pl)/
meta      ZABOJCASPAMU_SPF_REQ    __ZABOJCASPAMU_SPF_REQ_1 && ! SPF_PASS
describe  ZABOJCASPAMU_SPF_REQ Wymagane SPF dla domen
score     ZABOJCASPAMU_SPF_REQ  5

gdzie twki błąd? Ano w tym miejscu, że reguła sprawdza czy pole From zawiera dhl.com (zawiera) a potem sprawdza czy przeszedł test SPF. Tylko nie sprawdza jakiej domeny! Jeśli wysyłająca domena również ma SPFa to wtedy test przejdzie. W przypadku reguły o DKIM nie ma tego problemu ponieważ sprawdzane są dokładniej domeny.

Jakie jest rozwiązanie. Należy sprawdzać jakich domen dotyczy SPF. Czyli cała reguła wygląda następująco:

header  __ZABOJCASPAMU_SPF_REQ_2_1  From:addr=~/(dhl\.com|dhl\.pl|poczta\-polska\.pl|inpost\.pl|\@paczkomaty\.pl)/
header __ZABOJCASPAMU_SPF_REQ_2_2   ALL=~/(spf|SPF)(=|:)(p|P)ass.+\@(dhl\.com|dhl\.pl|poczta\-polska\.pl|inpost\.pl|paczkomaty\.pl) /
meta      ZABOJCASPAMU_SPF_REQ_2    __ZABOJCASPAMU_SPF_REQ_2_1 &&!  __ZABOJCASPAMU_SPF_REQ_2_2
describe  ZABOJCASPAMU_SPF_REQ_2  Wymagane SPF dla domen
score     ZABOJCASPAMU_SPF_REQ_2 5

No i teraz jest dobrze…. Nie do końca:) Reguła ma dalej mały błąd/niedociągnięcie i można ja obejść. W komentarzach piszczcie o co chodzi. Nagrodą jest wieczna chwała:).

W pliku z regułami jest poprawna reguła.

[Aktulizacja] I w komentarzach WujStefan napisał jaki był bład i otrzymuje Wieczną Chwałę. Reguła poprawione

21 thoughts on “Kilka uwag o podszywaniu się w mailach.

  1. Błąd zasadniczy to niemożliwość spełnienia warunków dla ZABOJCASPAMU_SPF_REQ_2 (brak __ZABOJCASPAMU_SPF_REQ_2_1 – na jednej pozycji brakuje _1). Ale nawet zmiana tego czy zastosowanie reguły z pliku (też do poprawienia) nie działa.
    Mogę się mylić, ale wydaje mi się że poniższy wpis nie łapie się na __ZABOJCASPAMU_SPF_REQ_2_2.

    Received-SPF: pass (domenaNadawcy.pl: xx.xx.xx.xx is authorized to use ‚SRS0+kGOT=NU=inpost.pl=test@domenaNadawcy.pl’ in ‚mfrom’ identity (mechanism ‚ip4:xx.xx.xx.xx’ matched)) receiver=smtp.domenaDocelowa.pl; identity=mailfrom; envelope-from=”SRS0+kGOT=NU=inpost.pl=test@domenaNadawcy.pl”; helo=domenaNadawcy.pl; client-ip=xx.xx.xx.xx

    1. 1. jasne . To lierówka i nie wiem jak to sie stało. dzieki za info, poprawione.
      2. Dokladnie o to chodizlo:) Tam powinna by cspacja na końcu bo można zrobić tak jak Ty napisałes. Wygrales wieczna chwałe:)

      1. Bardziej mi chodziło o to że mój mail nie miał w „Authentication-Results” ciągu „spf=pass” (został nadpisany przez „dmarc”?). Posiadał za to „Received-SPF” (1 komentarz), ale był on oszukany przez Sender Rewriting Scheme.

      2. Chyba jestem za cienki w tych regułkach, albo za bardzo kombinuję :-/
        Próbuję napisać dla „header __ZABOJCASPAMU_SPF_REQ_2_2″ odpowiednią regułkę, ale nie działa … tzn nie daje tych 5 punktów. U mnie to wygląda tak dla prawidłowego maila:

        Received-SPF: pass (paczkomaty.pl: 178.217.138.5 is authorized to use ‚info@paczkomaty.pl’ in ‚mfrom’ identity (mechanism ‚ip4:178.217.138.5’ matched)) receiver=smtp.xxxxxx.pl; identity=mailfrom; envelope-from=”info@paczkomaty.pl”; helo=paczka.paczkomaty.pl; client-ip=178.217.138.5

        1. tak na szybko to bedzie cos w ten desen:
          eader __ZABOJCASPAMU_SPF_REQ_2_2 Received-SPF=~/pass \(paczkomaty.pl\:/

          1. No właśnie w ten deseń to robiłem i nie działało. Dopiero potem mnie oświeciło.
            Przecież my mamy sprawdzać:
            – czy adres FROM zawiera domeny kurierów (__ZABOJCASPAMU_SPF_REQ_2_1)
            – czy spf NIE zwraca wyniku „pass” domen kurierskich (__ZABOJCASPAMU_SPF_REQ_2_2)
            Czyli dla „meta” drugi warunek powinien być z negacją.
            W moim przypadku cała regułka wygląda tak:

            header __ZABOJCASPAMU_SPF_REQ_2_1 From:addr=~/(dhl\.com|dhl\.pl|poczta\-polska\.pl|inpost\.pl|paczkomaty\.pl)/
            header __ZABOJCASPAMU_SPF_REQ_2_2 Received-SPF=~/pass \((dhl\.com\:|dhl\.pl\:|poczta\-polska\.pl\:|inpost\.pl\:|paczkomaty\.pl\:)/
            meta ZABOJCASPAMU_SPF_REQ_2 __ZABOJCASPAMU_SPF_REQ_2_1 && ! __ZABOJCASPAMU_SPF_REQ_2_2
            describe ZABOJCASPAMU_SPF_REQ_2 Wymagane SPF dla domen
            score ZABOJCASPAMU_SPF_REQ_2 5

          2. Tak właśnie jest jak człowiek nie sprawdzi… Nie sprawdziłem tego i taka wtopa. oczywiscie masz rację. Moja wina wielka jest. Poprawiłem wszędzie.

  2. W Spamassasin regóły jest błąd, bo jest:

    describe ZABOJCASPAMU_SPF_REQ_2Wymagane SPF dla domen
    score ZABOJCASPAMU_SPF_REQ _2 5

    a powinno być chyba:
    describe ZABOJCASPAMU_SPF_REQ_2 Wymagane SPF dla domen
    score ZABOJCASPAMU_SPF_REQ_2 5

    czyli spacja przed Wymagane, a brak spacji poniżej przed _2 5

  3. co do podszywania sie – to widze u siebie, ze masa maili dochodzi z tematem
    Twoja zielona faktura plus nr:
    zazwyczaj z konta gmail – ale to bez znaczenia, bo nie z konta plus.pl
    moze na to jakies rozwiazanie ?

    1. Plus ma spf wiec mozna tak. Sprawdzic temat i spfa. albo prosciej
      jesli temat jest „Twoja zielona faktura plus nr” i from nie z plus.pl to spam.
      idzie to z adresu e@fakturaplus.pl.xxx Można zrobic wpis z taka reguła ale wyslij mi kilka przykladowych maili z naglówkami przez kontakt

      1. sa to maile z subj:
        „Twoja zielona faktura plus nr” ,,,,,,,
        zazwyczaj u mnie z adresu walek554@wp.pl|gmail.com – obserwacja z 2 dni
        obecnie wszystko co ma walek554 w adresie blokuje – wiec wiecej nie wiem „-) bo zniklo w /dev/null

  4. a i taka prosba – jesli mozna,
    bo ostatnio o allegro troche w prasie, moze by te regule o ktorej tutaj mowa – rozszerzyc wlasnie o allegro lub zrobic osobna
    Z gory dzieki

  5. u mnie te reguła wrzuca maile w spam mimo iż SPF poprawny. Podejrzewam że problemem jest:
    header __ZABOJCASPAMU_SPF_REQ_2_2 ALL=~/spf=pass.+\@(dhl\.com|dhl\.pl|poczta\-polska\.pl|inpost\.pl|paczkomaty\.pl) /
    reguła oczekuje ‚spf=pass’ natomiast w nagłówku mam ‚Received-SPF: pass’. Rozwiązaniem było by dodanie tam warunku (=|: ) lub dopuszczenia ciągu znaków {1,3}

    niżej nagłówek spf:
    Received-SPF: pass (poczta-polska.pl: Sender is authorized to use ‚imie.nazwisko@poczta-polska.pl’ in ‚mfrom’ identity (mechanism ‚include:spf.protection.outlook.com’ matched)) receiver=domena.pl; identity=mailfrom; envelope-from=”imie.nazwisko@poczta-polska.pl”; helo=emea01-am1-obe.outbound.protection.outlook.com; client-ip=xxx.xxx.xxx.xxx

  6. Czy wielkość liter w regule? Pewnie tak, bo u mnie wyłapał email z paczkomaty.pl (pożądany) jako brak SPF
    W logach widzę:
    policyd-spf[19692]: Pass; identity=mailfrom; […]
    postfix 2.11.3, spamassassin 3.4.0

    1. Nie zastanawialem sie na tym, ale mozliwe. Ale dziwne by to bylo. Sprawdz czy adres IP jest dopuszczony przez SPFy ich

  7. U mnie poprawny mail zawiera taki nagłówek:
    Received-SPF: Pass; receiver=; client-ip=91.216.25.69; envelope-from=
    a mimo to reguła nie znajduje poprawnego SPF’a i dolicza 5.0. Zapewne przez „Pass” pisane wielką literą.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *