Jest to rodzaj ogólnego pytania na temat szkolenia spamassassina. Mam nowo skonfigurowany serwer poczty, który filtruje pocztę przychodzącą przez spamassassin. Niedawno dostałem rezerwację lotu oznaczoną jako spam (wynik 5) i chciałbym powiedzieć spamassassin, że to nie jest spam. (Być może zrobienie tego spowoduje również ponowne wysłanie wiadomości bez zmodyfikowanych nagłówków spamassassin?)
Próbowałem szukać i znajduję tylko informacje na temat uzyskiwania spamassassin do oflagowania wiadomości jako spam (a nie naprawiania fałszywych alarmów) lub dla osób piszących e-maile - jak nie zostać oznaczonym jako spam.
Jeśli chodzi o przekazywanie spamassassinowi informacji zwrotnych na temat niewłaściwych połączeń:
Czy można to zrobić z poziomu klienta poczty e-mail (na przykład: Thunderbird)
Czy można to zrobić za pomocą wiersza polecenia na serwerze pocztowym?
Chciałbym, aby proces był jak najbardziej płynny, ale cokolwiek wykona zadanie.
Szczegóły od SpamAssassin dotyczące wiadomości e-mail:
0.0 FSL_HELO_NON_FQDN_1 No description available.
0.6 HK_RANDOM_ENVFROM Envelope sender username looks random
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [82.150.225.129 listed in list.dnswl.org]
-0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [82.150.225.129 listed in wl.mailspike.net]
0.0 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different
1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail)
1.6 SUBJ_ALL_CAPS Subject is all capitals
1.1 MIME_HTML_ONLY BODY: Message only has text/html MIME parts
0.7 HTML_IMAGE_ONLY_20 BODY: HTML: images with 1600-2000 bytes of words
0.0 HTML_MESSAGE BODY: HTML included in message
-0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
0.0 UNPARSEABLE_RELAY Informational: message has unparseable relay lines
0.0 T_REMOTE_IMAGE Message contains an external image
Najwyraźniej głównymi winowajcami są linie tematyczne SUBJ_ALL_CAPS i MIME_HTML_ONLY (chyba nie ma alternatywy tekstowej).
Wiadomość e-mail dotyczyła potwierdzenia rezerwacji lotu, a temat wyglądał następująco:
Subject: JENNINGS/NICHOLAS KOSSOW MR 24 JAN MOF DPS
Nagłówki:
X-Envelope-From: <[email protected]>
X-Envelope-To: <[email protected]>
Received: from mail1.amadeus.net (unknown)
by 147-49-15-51.rev.cloud.scaleway.com(Postfix 3.1.0/8.13.0) with SMTP id unknown
Fri, 20 Jan 2017 07:55:10 +0000
(envelope-from <[email protected]>
Received: from obeap115 (nat-dns-mnp.amadeus.net [82.150.225.129])
by mail1.amadeus.net (Postfix) with ESMTP id 3F7A9200042
for <[email protected]>; Fri, 20 Jan 2017 07:55:10 +0000 (GMT)
From: [email protected]
TO: [email protected]
Message-ID: <CTS/GA/C50D54421A07/[email protected]>
FND-Request-ID: <CTS/GA/C50D54421A07/[email protected]>
Job-ID: 1
Subject: JENNINGS/NICHOLAS KOSSOW MR 24 JAN MOF DPS
Date: Fri, 20 Jan 2017 07:55:09 +0000
Content-Type: multipart/mixed;
boundary="----=_Part_191904_1900935199.1484898909762"
MIME-Version: 1.0
źródło
Odpowiedzi:
W tym przypadku przydatne mogą być zarówno szczegółowe, jak i ogólne porady.
Konkretny
Podstawowym problemem jest to, że linie lotnicze Garuda, błogosławią swoje małe bawełniane skarpetki, wysyłają e-maile z potwierdzeniem, które zawierają wiele znaków rozpoznawczych spamu. Wiersz tematu jest BARDZO SHOUTY, wysyłają wiadomości e-mail zawierające tylko HTML, które zawierają sporo obrazów i bardzo mało tekstu, koperta-nadawca (
[email protected]
) jest dość wyraźnie maszynową jednostką, a dostawca poczty e-mail dla ich (zewnętrznego) systemu potwierdzania (amadeus.com) ma bezużyteczny rekord SPF (pomimo wszystkich naszych przeciwnych wskazówek , niektórzy ludzie błędnie sądzą, że w rejestrze znajduje się wartość, która zawiera listę niektórych systemów wysyłania i celów~all
).Większość z tego nie można zrobić. Jeśli chcesz mieć pewność, że się przedostaną, przejdź do linii w komunikacie
~/.spamassassin/user_prefs
,whitelist_from *@amadeus.com
która dostarczy Ci te wiadomości. Posuwanie się dalej i manipulowanie wagami uruchomionych reguł jest prawdopodobnie złym pomysłem. Zestaw reguł SpamAssassin (SA) jest tworzony przez filtrowanie ogromnej masy spamu i sprawdzanie, jakie cechy dotyczą większości z nich; prawdopodobnie otworzysz swoją skrzynkę odbiorczą na wiele więcej niż tylko e-maile z potwierdzeniem Garudy, wyłączając te reguły.Generał
Właśnie w takiej sytuacji dobrze radzi sobie silnik Bayesa. Został zaprojektowany w celu odfiltrowywania wiadomości e-mail, które nie uruchamiają innych reguł, ale zawierają rzeczy, których nie chcesz czytać, a jednocześnie pomagają za pośrednictwem wiadomości e-mail, które wyzwalają te reguły, ale zawierają rzeczy, które chcesz przeczytać.
IIRC, silnik nic nie zrobi, jeśli go nie trenujesz. Najłatwiejszym sposobem trenowania jest utrzymanie dwóch folderów, zwanych (powiedzmy)
spam
iham
. Włożyszspam
kopie wiadomości e-mail, które trafiły do skrzynki odbiorczej, ale nie chciałeś;ham
umieść w tobie kopie wiadomości e-mail, które nie zgadzają się z SA, ale tego chciałeś, na przykład ten e-mail z potwierdzeniem.Następnie co noc (lub tak) masz zadanie crona, które mówi
odpowiednio modyfikując ścieżki. Z czasem nauczy to silnika, co robisz, a nie lubisz czytać. Ponieważ wysoki wynik bayesowski może dodać +4,0 punktów do wyniku SA e-maila, podczas gdy niski może odjąć 1,9, dobrze wyszkolony silnik może naprawdę pomóc SA odróżnić to , co chcesz przeczytać od tego, czego nie chcesz - ale musisz włóż wysiłek, aby go uczyć .
źródło
sa-learn --ham ...
polecenie, napisano, że znaleziono 0 wiadomości e-mail do nauki:Learned tokens from 0 message(s) (0 message(s) examined)
... Próbowałem wyłapać.eml
załącznik, w którym SpamAsssasin umieścił oryginalną wiadomość e-mail, w folderze Ham bezpośrednio na serwerze, ale nadal twierdzi, że znajduje 0 wiadomości do przetworzenia ...report_safe 1
ustawieniem.sa-learn
. Jeśli to za duży ból, wyłączreport_safe
. Dobrym pomysłem jest trenowanie ucznia szynki w zakresie innych rzeczy oprócz rzeczy, które zostały błędnie zidentyfikowane jako spam, ponieważ założenia filtru bayesowskiego są inne niż SA jako całość. Podaję moje wszystkie osobiste wiadomości, które otrzymuję, ponieważ to jest to, co najbardziej chcę przeczytać.Wygląda na to, że używasz gołębnika. Spędziłem kilka tygodni, próbując znaleźć płynną integrację, która pozwala użytkownikom łatwo szkolić filtry antyspamowe po stronie serwera bez konieczności kopiowania wiadomości e-mail.
Kluczową częścią jest wtyczka Antispam Dovecot. Antyspamowy plugin wyzwalaczy na move operacji między trzema grupami folderu:
trash
,unsure
ispam
. W szczególności, po wykryciu przejścia z czegokolwiek (alespam
) dospam
, uruchamiana jest akcja uczenia się spamu, a po wykryciu przejścia zspam
dounsure
, uruchamiana jest akcja uczenia się szynki.Obsługuje różne zaplecza treningowe. Prostym jest
mailtrain
, który po prostu wykonuje polecenie i umieszcza pocztę na standardowym wejściu. Konfiguracja tego może wyglądać następująco:Wraz z
/usr/local/bin/sa-learn-stdin.sh
:Konfiguracja mówi „Aby uczyć się jako spam, biegnij
/usr/local/bin/sa-learn-stdin.sh -L spam
i uczyć się jak szynka, biegnij/usr/local/bin/sa-learn-stdin.sh -L ham
”. Argumenty są skonfigurowaneantispam_mail_spam
,antispam_mail_notspam
aantispam_mail_sendmail_args
.To już jest całkiem miłe. Jeśli możesz skonfigurować klienta do przenoszenia wiadomości oznaczonych jako spam do folderu ze spamem, jest to już dość automatyczna integracja między klientem a serwerem. Podobnie, jeśli skonfigurujesz serwer do przechowywania wiadomości zaklasyfikowanych jako spam w folderze spamu podczas dostarczania (na przykład za pomocą Sieve), wiadomość zostanie wyuczona jako szynka, gdy użytkownik przeniesie ją z folderu Spam.
Aby poprawić integrację z Thunderbird i KMail, napisałem łatkę do antyspamu , która niestety nie otrzymała żadnych informacji zwrotnych; używać na własne ryzyko .
Dodaje opcję konfiguracji do antyspamu, którą można po prostu dodać do
plugin
sekcji w konfiguracji dovecot:(Cytaty są ważne, aby uniemożliwić
$
robienie czegokolwiek śmiesznego).Dzięki poprawce antyspam wyzwoli również akcję uczenia się, jeśli wiadomość otrzyma flagę spamu lub straci wszystkie flagi spamu. Flagi są funkcją IMAP i są używane przez klientów do przechowywania części informacji po stronie serwera. Okazuje się, że Thunderbird i KMail używają tych flag do przechowywania wiadomości typu śmieci / spam.
Junk
Flaga jest ustawiona przez Thunderbird, jeśli oznaczyć wiadomość jako śmieci. Podobnie dla$JUNK
flagi jest Kmail. Tak więc, dzięki tej konfiguracji, możesz uruchomić uczenie po stronie serwera, oznaczając pocztę jako Śmieci / Non-śmieci w Thunderbird w Kmail.Inni klienci, tacy jak K9-Mail, nadal dobrze się bawią, ponieważ domyślnie jest tam przenoszenie śmieci do folderu Spam, który zostanie również włączony.
Myślę, że możesz wdrożyć tę samą funkcjonalność w IMAPSieve . To jest moje TODO, ale niestety obecnie nie mam środowiska gotowego do testowania z wystarczająco niedawną gołębicą.
źródło