Zasady tworzenia, uzupełniania i korzystania z blacklist

W dzisiejszym wpisie poruszę zasady tworzenia, uzupełniania i wykorzystywania  blacklist. Myślę, że temat dość ciekawy dla każdego admina lecz niestety pomijany w materiałach. Dla porządku WL oznacza WhiteList (zawsze przepuszczone adresy lub domeny) a BL BlackList(zawsze zablokowane)

Zacznijmy od początku

Czym są blacklisty? Najprościej mówiąc są to, że są to wypisane listy zablokowanych adresów mailowych lub całych domen.  Oczywiście trzeba uważać szczególnie z domenami. Nie chcemy zablokować na żadnym serwerze całości @gmail.com czy @yahoo.com. Nieraz nie ma niestety innego wyjścia niż takie działania. Duża część spamu ma generowane jednorazowe loginy. Dopisywanie takiego adresu pozbawione jest sensu ponieważ więcej się on nie powtórzy. Zostaje tylko wywalenie całej domeny. Można się zastanawiać po co tworzyć takie statyczne listy, Otóż ja uważam, że przynajmniej z dwóch powodów:

  • Jest to naprawdę bardzo skuteczna metoda. Wydaję się prymitywna w porównaniu z niektórymi regułami ale działa. Jeśli uzupełnia się automatycznie i ręcznie (nieraz trzeba to zrobić). W pewnym momencie większość maili jest blokowane przez BL.
  • odciąża serwer. W logach amavisa (jeśli zepniemy SA z nim) można zauważyć SHORTCIRCUIT=0.0001 oznacza to, że w momencie znalezienie adresu w BL (USER_IN_BLACKLIST) dalsze sprawdzenie jest przerywane. Serwer nie analizuje takiego maila co przy dużej ilości spamu pomaga odpocząć serwerowi.

Dla porządku wyjaśnię, że pierszeństwo mają WhiteListy. Jeśli adres jest a WL wtedy przechodzi pomimo tego, że może być w BL. To tak dla uspokojenia:) I dla pewnego ważnego wyjaśnienia, BL służą do odciążenia serwera ale w większym stopniu do ubijania adresów które omijają inne filtry.

Jak tworzyć WL

Zacznijmy od przepuszczanych maili czyli WL. Najlepiej dynamicznie tworzyć i dopisywać kiedy użytkownik wyśle maila. Jeśli ktoś używa SQL to można dodawać automatycznie adresy do bazy (fail2ban np). Ale i tu pojawia się problem.Co z autoresponderami. Jeśli mail przyszedł z jednorazowo generowanym loginem to pół biedy.Gorzej ja w ten sposób dopiszemy do WL spamera ze stałym adresem. Wtedy niestety nic zostaje nic innego jak ręczne sprawdzanie. Jeśli działamy na plikach to można dopisywać 1 lub 2 raz dziennie do WL adresy. Częściej ciężko restartować amavisa. Nieraz dobrze też dopisywać domeny zamiast trzymać z danej domeny kilkunastu adresów. Oczywiście nie mówię o @gmail.com ale o firmach z którymi się koresponduje. Wszystkie informacje można wyciągnąć z logów.

Tworzenie blacklist

Listy BL można podzielić umownie na 3 kategorie: statyczne domeny, statyczne adresy, adresy spamtrap, dynamiczne adresy.Jest to umowny całkowicie mój podział, który w uporządkowany sposób zarządzać tymi blacklistami. Zostanie teraz omówione jak budować te bazy.

BL – Statyczne domeny.

Lista domen które są blokowane, Całych nieodwołalnie. Trafiają tu wyjątkowo upierdliwe domeny które wysyłają z wielu adresów spam. Oczywiście tez takie co generują swoje loginy. Dopisywać można je tylko ręcznie!!! Inaczej możemy pół internetu wyciąć:) Typowymi przykładami domen są

blacklist_from *@sensdelivery.com
blacklist_from *@freshmail.pl

Wielkiej filozofii nie ma tutaj, Po prostu domeny drażniące nas, które generują duża ilość spamu. Po zbudowaniu takiej listy ilość spamu zacznie wyraźnie spadać. Admin jak umieści tu domenę szanse, że się ja usunie są bliskie zero.

BL- Statyczne adresy

Tu ręcznie wpisujemy adresy mailowe. Nieraz sami zobaczymy adresy które są upierdliwe i można dopisać. Znajdziemy ostrzeżenie na sieci, że taki adres jest spamerski. Ta lista wbrew pozorom jest dość istotna. Tu dopisujemy maile zgłoszone przez użytkowników i te które sami wychwyciliśmy. Po dopisaniu adresu oczywiście należy znaleźć ciekawą cechę która pozwoli napisać regułe do SA. Ale to już inna opowieść.

Oczywiście jeśli dopiszemy domenę do BL- statyczne domeny (czyli poprzedniej) znikają te @ z tej listy. Fizycznie ja mam te adresy na jednej liście. Łatwo je rozróżnić bo w poprzedniej liście znajduję się znak * przed małpą.

BL – Lista spamtrap.

Trzecia co siły lista adresów. I tutaj jedna uwaga: adres który tam wpada nie ma prawa wyjść, kara dożywotnia, ban permanetny nieskończony itd. Zasady tworzenia Spamtrapa zostało opisane tutaj Dla mnie wzorcowa strona z informacją o spamtrapie Centrum Informatyczny UE w Katowicach. Nie ma zmiłuj się. Czas budowania trwa chwile ale warto to zrobić. I tu uwaga.  Z tej listy trzeba usuwać maile z domen które znajdują w pierwszej liście. Inaczej może się lista rozrosnąć o adresy np @fresmaila generowane.  Czyli jeśli domena znajduje się w BL – Statyczne domeny adresy z tej domeny nie są zapisywane w spamtrap. I to jest jeden wyjątek.  W innych przypadkach adres zawsze zostaje tutaj koniec. Może być być powtórzony w innych miejscach ale w spamtrapie zawsze zostaje. Można usuwać je z innych miejsc ale tu zawsze ma zostać.I jedna bardzo istotna cecha: maile  mogą uniknąć reguł i przechodzić na inne konta ale sam fakt dostania się do spamtrapa je ubije. Oznacza to, że pomimo słabości reguł jednak ten adres zostania zablokowany a normalnie by przechodził dopóki by nie została stworzona reguła dla niego.To jest ta wartość dodana BL.

BL – Lista dynamiczna adresów

Moim zdaniem najważniejsza i mająca największa siłę rażenia lista. Używam czegoś takiego od dłuższego czasu i powiem, że jestem zaskoczony skutecznością tej metody.na czym polega dynamiczne tworzenie tej BL? Otóż dopisujemy adresy który w określonym czasie (np 30 dni) został oznaczony jako spam gdzie odbiorcą. Przykładowo jeśli w ciągu 30 dni adres zostanie oznaczony jako spam co najmniej do 5 adresatów, dopisz go do tej listy. Oczywiście ilość dni i ilość maili można dobrać. Okazuję się, ze po kilku dniach liczba blokad z których powodem jest obecność w BL drastycznie wzrośnie. Po pewnym czasie reguły zaczynają tylko  wzbudzać  dopisywanie do tej listy. Wystarczy tworzyć taka listę od nowa 1 raz na dzień. Jeśli adres przestaje spamować wypada z tej listy po pewnym czasie wypadnie z tej listy. rozwiązanie jest nie trywialne ale bardzo skuteczne.Można też blokować jeśli nadawca dostaje dużo punktów. Odciąży to system. Najważniejsze jest jednak dopisywanie adresów zaznaczonych jako spam, te adresy tak naprawdę się prześlizgują przez reguły.

 

Jak tworzyć takie listy

Tu bardziej kilka wskazówek będzie niż kompletny system do zarządzania. Niektórzy zapewne używają bo BL SQL inni mają dane w plikach. Ale zobaczmy co da się zrobić.

Jeśli wszystko trzymamy w plikach najprościej jest do pliku /etc/spammassassin/loca.cf dodać następujące linie

 include /etc/spamassassin/local.cf.BL.STATIC
 include /etc/spamassassin/local.cf.BL.DYNAMIC
 include /etc/spamassassin/local.cf.BL.SPAMTRAP

Tu zakladamy, że local.cf.BL.STATIC zawiera zarówno cale domeny jak i adresy. Jak pisałem tą listę uzupełniamy ręcznie.

Sytuacja ze Spamtrapem jest jest oczywista. Dodajemy wpisy które idą na niego. W przypadku SQL możemy ‚online’ dopisywać do bazy (fail2ban lub własny demon). Jeśli obsługujemy listę plikami wystarczy (nie ma innego wyjścia) 1 lub 2 razy dziennie tworzyć tą listę. Oczywiście można bez problemu na bieżąco aktualizować plik i restartować amavisd lecz to rozwiązania jest dla hard corów:)

Prosty sposób zbierania adresów wysyłających na spamtrap to jedna linia w perlu. Jeśli w pętli przejdziemy po wszystkich plikach zbierzemy wszystkie adresy.

[perl]perl -ne ‚if($_=~/<(.+)> -> <adres@spamtrap>;/){print „blacklist from $1\n”}’ /var/lib/amavis/log/amavis.log|sort|uniq[/perl]

Demon zbierający online adresy np do bazy to:
[perl]#!/usr/bin/perl -w
use strict;
use File::Tail;
my $filelog=”/var/lib/named/var/log/zapytania.log”;
my $file=File::Tail->new(name=>$filelog,maxinterval=>30);
while (defined(my $line=$file->read)) {
if($line=~/<(.+)> <adres@spamtrap>/){
zapisz_do_bazy($1);
}
}[/perl]
Oczywiście trzeba dodać funkcję zapisywania do bazy:) Potem usunąć należy adresy i domeny które są w statycznym pliku BL.

Bardziej skomplikowana jest sytuacja z dynamiczną listą. Tutaj każdy może stworzyć własną idee. Ale sensowne na podstawie własnych doświadczeń wydaje się dopisywanie adresy wtedy gdy:

  • wiadomość dostała dużo punktów (np powyżej 30)
  • jeśli została oznaczona jako spam ale przeszła do użytkownika ale została wychwycona na kilka adresów (np 5 lub więcej)

Oczywiście problemem jak zawsze są jednorazowo generowane adresy które się nie powtórzą. Co jakiś czas można zrobić raport adresów oznaczonych jako spam i zobaczyć z jakich domen idą. Być może da się wychwycić domenę która spamuje.

Należy tez pamiętać, że dopisanie adresu lub domeny do whitelisty ma wyższy priorytet niż BL.

Mam nadzieję, że w tym poście przybliżyłem (nie)prostą lecz skuteczną metoda działania blacklist. Każdy może zacząć konstruować je wg własnego uznania. Satysfakcja gwarantowana:)

4 thoughts on “Zasady tworzenia, uzupełniania i korzystania z blacklist

  1. Hej
    Sprawdziłem pod kątem zdublowanych wpisów udostępnione pliki
    grep -f local.cf.BL.SPAMTRAP local.cf.BL.ZABOJCASPAMU
    i dostałem taki wynik;
    (może by wywalić te wpisy z jednej z list przed kolejnym generowaniem)

    blacklist_from agent@naszeubezpieczenia.com.pl
    blacklist_from anna.wilk@wyjazdydlafirm.com.pl
    blacklist_from a.swiatelska@openschool.pl
    blacklist_from bar.antoniomorales@yahoo.com.hk
    blacklist_from biuro@cwpp.pl
    blacklist_from biuro@ekspresowefinansowanie.pl
    blacklist_from biuro@finanse-msp.pl
    blacklist_from biuro@marker-poligraf.pl
    blacklist_from biuro@max-bonard.pl
    blacklist_from biurosf@szkolenief.info.pl
    blacklist_from biuro@socialmediapoznan.pl
    blacklist_from bm@dotdsgn.pl
    blacklist_from bounces@operatorzy.dla-najlepszych.pl
    blacklist_from bounces@portal.dla-najlepszych.pl
    blacklist_from bounces@streaming.dla-najlepszych.pl
    blacklist_from dobrawrozka@wrozbyweb.pl
    blacklist_from fundacja@stacyjkamaltusia.pl
    blacklist_from info@czysto01.pl
    blacklist_from info@dmgrouppoland.pl
    blacklist_from info@kursybhp24.pl
    blacklist_from info@vbsgift.pl
    blacklist_from jakub@nafirme.com.pl
    blacklist_from jan.melanowski@diamentis.eu
    blacklist_from jolanta.kasza@wyjazdydlafirm.com.pl
    blacklist_from k.malec@enermix.pl
    blacklist_from kontakt@agro-michalscy.pl
    blacklist_from kontakt@finanse-msp.pl
    blacklist_from kontakt@finansowanie-rozwoju.pl
    blacklist_from lp@konpol.net.pl
    blacklist_from mailing@ppcefekt.pl
    blacklist_from malina@malina.net.pl
    blacklist_from mam_39@wp.pl
    blacklist_from marcin@tlumaczweb.pl
    blacklist_from marketing@simkolo.com.pl
    blacklist_from marketing@smtp6.mailing-systemy.pl
    blacklist_from miroslaw.ochojski@windykacjadkow.pl
    blacklist_from mopy@info1.infoczystoonline.pl
    blacklist_from news1@brr.nazwa.pl
    blacklist_from newsletter@poczta.mail.pl
    blacklist_from no-replay@wiarygodnafirma.pl
    blacklist_from no-repley@zbieramyrazem.eu
    blacklist_from no-reply@domfialki.com
    blacklist_from no-reply@fr.pl
    blacklist_from odbicia@dlabiznesu.com.pl
    blacklist_from odbicia@zw.edm.okazik.pl
    blacklist_from office@anjalaszuk.pl
    blacklist_from otwarte@gadzetyznadrukiem.com.pl
    blacklist_from otwarte@szkoleniarozwojowe.biz.pl
    blacklist_from otwarte@szkoleniarozwojowe.edu.pl
    blacklist_from otwarte@szkoleniarozwojowe.info.pl
    blacklist_from otwarte@szkoleniarozwojowe.net.pl
    blacklist_from otwarte@szkoleniarozwojowe.org.pl
    blacklist_from otwarte@treningirozwojowe.biz.pl
    blacklist_from otwarte@treningirozwojowe.com.pl
    blacklist_from otwarte@treningirozwojowe.info.pl
    blacklist_from otwarte@treningirozwojowe.org.pl
    blacklist_from piotr.gawrysiak@kusloncu.com.pl
    blacklist_from pl@polkon.com.pl
    blacklist_from promocje@incub24.pl
    blacklist_from service7@mx2.powersqve.com
    blacklist_from to-szkolenie@tszkolenie.warszawa.pl
    blacklist_from traced@mail.click365.pl
    blacklist_from ukraine_economy@subf.org.ua
    blacklist_from vbs@vbsproduct.pl
    blacklist_from vip@salonvip.pl
    blacklist_from w.murawski@hotel.bialowieza.pl
    blacklist_from zwroty@biznes2b.pl
    blacklist_from zwroty@dzialam-online.pl
    blacklist_from zwroty@emaileo.info
    blacklist_from zwroty@emasterproject.pl
    blacklist_from zwroty@konferencjeksi.com.pl
    blacklist_from zwroty@m1.tlumaczymy24.pl

    Pozdrawiam

    1. Problem polega na tym, że ktos moze chciec uzywac jednaj albo drugiej listy. I wtedy straci częśc adresów. Ale dzieki za czujnosc:)

  2. Jest jednak pewien problem. Zarówno na spamtrapie jak i BL znajduje się adres thinkopen.pl, jest to publiczne narzędzie do rozsyłania biuletynów i mailingów swoim klientom. Jak to z publicznymi narzędziami jednak bywa, zawsze zdarzy się „mądry” co oleje regulamin takiego narzędzia i pośle spamik.

    Piszę o tym, bo ostatnio miałem sytuację że mi próbne newslettery, wysyłane za pomocą niego przestały dochodzić :), bo dostawały 100pkt. Winnym okazał się adres znajdujący się zarówno na liście BL jak i Spamtrap właśnie.

    Piszę tym, bo czasem warto jednak sprawdzać co się w nich znajduje jeśli korzystamy z takich publicznych list jak chociażby zabójcaspamu, a mamy jakieś problemy z dostarczaniem poczty.

    Tu znów o sobie daje znać zasada, że co jest dobre dla kogoś nie zawsze będzie dobre dla mnie. Nie do końca jestem także przekonany, czy umieszczanie adresów publicznych narzędzi do mailingów na czarnych listach jest dobrym pomysłem, szczególnie, gdy sami nie wysyłamy mailingów klientom ale mogą to robić inni użyszkodnicy korzystający z naszej poczty lub też pracujemy w firmie, w której jesteśmy jedyną osoba czającą bezę w tym temacie i nie chcemy być potem ściągani z urlopów, bo osoba odpowiedzialna za wysyłanie biuletynów (osobom co wyrazili na to zgodę oczywiście) ma z tym problem ;]. tu chyba lepiej stosować standardowe reguły wychwytujące nam spam.

    1. Zgadzam sie, jest to problem. I co zrobić jak z jednego adresu przychodzi 95 % dobrych a %% spam. Jesli wpadł do spamtrapa no to sorki ale stad nie ruszam. Życie.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *