Każdy admin w końcu dochodzi do tego puntu życia: fajnie by się nauczyć pisać reguły w SA. Mam nadzieje, że ten poradnik pomoże zacząć tworzyć samodzielnie własne reguły. Jeśli ktoś już to robi tez może mu się przyda.
Jak zacząć?
Aby rozpocząć tworzenie własnych reguł należy:
- Pamiętać o tym, że nie wszystko złoto co się świeci:)
- Znać przynajmniej podstawy wyrażeń regularnych w Perlu
- Znać możliwości i składnie Spamassassina
- Umieć logicznie myśleć i być spostrzegawczym
Reguła 0: nie wszystko złoto co się świeci.
Dziwna nazwa może ale oddaje najważniejszą rzecz. Nie można się skupić tylko na tym co charakteryzuje spam ale trzeba ale również czy te cech mają dobre maile. Niech przykładem będzie reguła wychwytująca kolor niebieski. Dużo spamu łapie się na ta regułę. Niestety ona jest mało użyteczna bo również dużo dobrej poczty się na nią łapie. Czym dana cecha częściej występuje w spamie ma małe znaczenie liczy się czy mało występuje w prawidłowych mailach. Czym bardziej ogólna reguła tym większe szanse, że tak może być. Szczegółowe reguły pod jeden rodzaj spamu nie mają tego problemu.Według mnie zawsze trzeba pamiętać po odkryciu ‚super reguły’ aby sprawdzić z dobrymi mailami. Oczywiście takie nawet reguły można nisko punktować np 0.001 i jeśli znajdziemy kilka takich w jednym mailu, dać dodadtowe punkty (wzmocnić).
Dziś piątek więc mniejsza ilość wiedzy, od poniedziałku będzie ostrzej i zapraszam do czytania.
A ja poza innymi mam kłopot z wyłapaniem (mam wysyp) maili z tematem invoice (i dalej cyferki lub inne ciągi, kropka doc). W mailu jest załącznik o podobnej lun identycznej nazwie. Ale nie mogę wyłapać ani jednego ani drugiego. Temat zakodowany utf-8.
A z kolei samego załącznika nie umiem wykryć ani przez „body” ani przez badanie jakiegoś nagłówka.
Proszę o pomoc. Poniżej kawałek przykładowego maila:
From: Brock Jordan
To: ******
Subject: =?UTF-8?B?SW52b2ljZQ==?=
X-Id_client: 82360672
X-Mailer: MIME::Lite 3.027 (F2.77; T1.30; A2.06; B3.08; Q3.08)
X-AV-Checked: clean on av10
Message-Id:
This is a multi-part message in MIME format.
–_———-=_886555474227044138864
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=”UTF-8″
Dear Sir/Madam,
I trust this email finds you well,
Please see attached file regarding clients recent bill. Should you need further assistances lease feel free to email us.
Best Regards,
Brock Jordan
The Priceline Group Inc. http://www.pricelinegroup.com
–_———-=_886555474227044138864
Content-Disposition: attachment; filename=”Invoice04863023.doc”
Content-Transfer-Encoding: base64
Content-Type: application/msword; name=”Invoice04863023.doc”
IA0KICANCiAgICAgICAgICAgICAgICAgICANCgkgDQoJICANCgkgICANCgkgICANCgkgICAg
DQoJCSANCgkJICANCgkgDQogICAgICAgICAgICAgICAgICAgICANCiANCiAgICAgICAgICAg
IA0KICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICANCiAgICAgICAgICAgICAg
ICAgICAgICAgIA0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICANCiAgICAgICAg
z 1 go to nie wymyslimy 🙂
moze nie skupiaj sie na zalaczniku – ale za posiadanie zalacznika „invoice*.doc” jakies punkty naliczac, ale na istniejacych URI i/lub tresci
ponadto mozliwe punkty za roznice w czasie ? – tego akurat nie zacytowales
Gdyby wszystkie byly z tego zrodla to w body wyszukac pricelinegroup.com i gotowe, ale to pewnie rozne sa ?
a przegladnalem swoje logi i mam troche maili z invoice,,,,,,.doc, jednak sa wylapywane troche punktow do nich jest BAYES_99 oraz z URIBL
ten osotatni u mnie jest z parametru w init.pre
loadplugin Mail::SpamAssassin::Plugin::URIDNSBL
masz to w configu ?
No to temat jest invocie i to bedzie pierwsze. Drugei widze X-Mailer : MIME:Lite a trzecie bedzie bedzie w body Invoice…..doc.Z tym, ze aby znalezc zalacznik trzeba będzie rpzeszukiwac chyba rawbody wiec wydajnosc niska może być. Całość będzie jakość tak
header __EXP_ADAMTT_1_1 X-Mailer=~/MIME::Lite /
header __EXP_ADAMTT_1_2 Subject=~/invoice[a-z]+\.doc/
meta EXP_ADAMTT_1 __EXP_ADAMTT_1_1 && __EXP_ADAMTT_1_2
describe EXP_ADAMTT_1 Na regule z invoice
score EXP_ADAMTT_1 0.01
niska punktacja bo trzeba sprawdzic czy dziala. Czy invoice w temacie z wielkiej czy małej litery? Czy te znaczni sa malymi lterami czy wielkimi? Trzeba uszczegółowić
No pewnie, że zmieniają i samą nazwę załącznika i nadawcę.
Na razie spróbuję w body wyłapać taką linię:
Content-Disposition: attachment; filename=”Invoice04863023.doc”
z pomocą np. /filename.{2}invoice\d{8}\.doc/i
Regułka dobra, tylko czy ten fragment tojest akurat body czy nagłówek to nie wiem 🙂
Druga rzecz to spróbuję w temacie wyłapać SW52b2lj albo aW52b2lj, bo te znaczki odpowiadają zakodowanym w UTF-8 słówkom Invoice i invoice
BAYESY 99 i 999 punktują te maile i jeszcze kilka innych „zaszytych” reguł.
Ale URIBL akurat chyba nie mam. Jeśli pytasz o config /etc/spamassassin/local.cf to nie widzęwnim takich wpisów jak podałeś. A do innych konfigów nie mam dostępu 🙂
URIBL jest http://uribl.com/ i ja mam punktacje az 7. Ładnie wiele rzeczy ucina
Za reg na invoice dziekuje – wstawilem do testu, a poniwaz dzisiaj dostalem 3 invoice w tym dwa ! wprost do mnie no to sie wnerwilem :-)) bo przeszly z ujemna punktacja
a przy okazji czy zapis
/invoice[a-z]+\.doc/
nie jest bledny ? a-z obejmuje cyfry ?
Bledny nie jest, jest niedzialajacy:)
/invoice[a-z]+\.doc/ jesli tam tylko male litery
/invoice[a-z0-9]+\.doc/ jesli male litery i cyfry
/invoice[a-z0-9A-Z]+\.doc/ jesli znaki male litery duze i cyfry albo prosciej
/invoice\w+\.doc/ czyli alfanumeryczne i _
wybierz co tam pasuje
tak patrze czemu to nie dziala
no bo szuka w subject a powinien w body
header __EXP_ADAMTT_1_2 Subject=~/invoice[a-z]+\.doc/
a nie wiem czemu zrozumialem ze temat jest taki bo tam zakodowane.
Nie no jasne ze w body. A dziala juz i punktuje?
robilem
header __EXP_ADAMTT_1_2 /invoice[a-z0-9A-Z]+\.doc/
body __EXP_ADAMTT_1_2 /invoice[a-z0-9A-Z]+\.doc/
rawbody __EXP_ADAMTT_1_2 /invoice[a-z0-9A-Z]+\.doc/
a nawet uri 🙂
zadna z powyzszych nie wylapala obecnisci zalaczonego pliku invoice842842784.doc
Też mi nie działa.
Na czas testów olej te cyferki i literki i wyłap po prostu
/invoice.*\.doc/i
taki zapis wg mnie powinien pasować do invoice.doc czy invoicedowolnyciąg.doc
a „i” na końcu znaczy ignoruj duże/małe literki
Ale mi nie działało. Aczkolwiek nie spróbowałem rawbody.
A teraz już jakbym nie dostawał tych „rachunków” i będzie trudniej testować.
probowalem na rozne sposoby, az przeczytalem gdzies ze w spamassassinie sie nie da wypalac nazwy zalacznika do badania
zapis jak podales invoice.*\.doc mozna dac do procmaila, oczywiscie bez punktacji – tylko blokada co niezbyt mi odpowiada
zobacz to i sprawdz
http://jrs-s.net/2013/06/14/block-common-trojans-in-spamassassin/
Ha! To działa, ten plugin teoretycznie powinienem mieć defaultowo zainstalowany i okazało się, że praktycznie też, bo testowo wystarczyło dopisać taką regułkę:
mimeheader ZIPRAR Content-Type =~ /(faktura.*(\.zip|\.rar))/i
bo takie badziewia mi przenikają ostatnio
No chyba za ostro:) w firmach handlowych plik faktura.zip bylby slabo podejrzany:) Wrecz oczekiwany. Oczywiscie powinno byc z PDFem ale zip tez mozliwy.
Trudno. Najwyżej komuś nie zapłacę. 🙂
Poza tym w końcu tylko podbijam punktację, a nie eliminuję. Ale może i masz rację – powinienem zrobić meta – wysoko punktuje z maili spoza .pl. Niestety, te faktury i invoice często z 02.pl, oneta czy innych badziewi przychodzą.
Ale za to chyba amavis działa – „skanuje” archiwa zip i rar i sieka równo z trawą gdy wewnątrz są rozszerzenia .exe i .lnk i jakieś tam jeszcze
Tak skanuje jeśli oczywiscie nei jest myk z zaszyfrowanym plikiem a haslo w mailu:)