Spamassassin позначив щось як спам, який не є спамом. Як мені це сказати?


14

Це свого роду загальне питання щодо підготовки спамасина. У мене є нещодавно створений поштовий сервер, який фільтрує вхідну пошту через спам-массив. Нещодавно я отримав бронювання авіарейсів, позначений як спам (оцінка 5), і хотів би сказати спамассасіну, що це не спам. (Можливо, це також повторно відправить пошту без змінених заголовків спам-масіна?)

Я намагався шукати навколо, і я знаходжу лише інформацію про те, як отримати спам-массив для позначення повідомлень як спаму (а не про виправлення помилкових позитивів), або про людей, які пишуть електронні листи - як не позначити їх як спам.

Отже, що стосується надання відгуку спам-масінам про неправильні дзвінки:

  1. Чи можна це зробити з клієнта електронної пошти (наприклад: Thunderbird)

  2. Чи можна це зробити за допомогою командного рядка на поштовому сервері?

Я хотів би зробити процес максимально текучим, але все, що завдає роботу.

Деталі від SpamAssassin щодо електронної пошти:

 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

Очевидно, що основними винуватцями є тематична лінія "SUBJ_ALL_CAPS" з усіма обмеженнями та MIME_HTML_ONLY (я думаю, альтернатива тексту не існує).

Електронний лист отримав підтвердження бронювання авіаквитків, і тема виглядала так:

 Subject: JENNINGS/NICHOLAS KOSSOW MR 24 JAN MOF DPS

Заголовки:

X-Envelope-From: <tdsfndprd@amadeus.com>
X-Envelope-To: <nick@xxx.xxx>
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 <tdsfndprd@amadeus.com>
Received: from obeap115 (nat-dns-mnp.amadeus.net [82.150.225.129])
    by mail1.amadeus.net (Postfix) with ESMTP id 3F7A9200042
    for <nick@xxx.xxx>; Fri, 20 Jan 2017 07:55:10 +0000 (GMT)
From: eticket@garuda-indonesia.com
TO: NICK@XXX.XXXX
Message-ID: <CTS/GA/C50D54421A07/1@tds.amadeus.com>
FND-Request-ID: <CTS/GA/C50D54421A07/1@tds.amadeus.com>
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

Першим кроком має бути запитання, чому це було позначено як спам. Без цього ми можемо зробити загальні пропозиції, показати вам, як підправити байєсівський двигун для шинки, але ми не можемо допомогти конкретно вирішити правила, які не ввійшли в оману. Будь ласка, додайте до свого питання перші кілька рядків тіла електронної пошти та всі заголовки .
MadHatter

@MadHatter спасибі за пропозиції, оновив питання відповідно.
Нік Дженнінгс

Ви не кажете, який баєсівський бал він отримав. Ви взагалі використовуєте байєсівський двигун?
MadHatter

Оцінка була 5,0 .. вона вставлена ​​в тему: ***** SPAM 5.0 *****
Нік Дженнінгс

1
Це загальний бал SA, а не байосівський рахунок. Але не хвилюйтесь, з усього іншого, що ви написали, схоже, що ваш байєсівський двигун не спрацьовує, тому що ви його ніколи не навчали, і ви маєте намір вирішити це!
MadHatter

Відповіді:


22

У цьому випадку можуть бути як конкретні, так і загальні поради.

Конкретні

Основна проблема тут полягає в тому, що Garuda Airlines, благословляючи свої маленькі бавовняні шкарпетки, надсилає підтвердження електронною поштою, що містить багато ознак спаму. Тема - ДУЖЕ ЗАРАЗ, вони надсилають електронні листи, що містять лише HTML, які містять досить багато зображень і дуже мало тексту, відправник конверта ( tdsfndprd@amadeus.com) досить чітко не побудований на машині, і постачальник електронної пошти для їх (аутсорсингової) системи підтвердження (amadeus.com) має марну запис SPF (незважаючи на всі наші поради, навпаки , деякі люди помилково вважають, що в записі є значення, яке перераховує деякі їх системи передачі та закінчується ~all).

З цим не можна багато зробити. Якщо ви хочете бути впевнені в тому, ~/.spamassassin/user_prefsщо вони whitelist_from *@amadeus.comпройдуть , рядки у вашому повідомленні передадуть вам ці повідомлення. Йти далі та підробляти ваги правил, які були застосовані - це, мабуть, погана ідея. Набір правил SpamAssassin (SA) створюється шляхом фільтрації величезної маси спаму та розробки, які характеристики стосуються більшості його; ви, ймовірно, відкриєте свій INBOX набагато більше, ніж просто повідомлення про підтвердження Garuda, відключивши ці правила.

Загальні

Це саме така ситуація, з якою добре справляється двигун Bayesian. Він призначений для фільтрації електронної пошти , яка не запускає інші правила , але містить матеріал , який Ви не хочете читати, в той час , допомагаючи по електронній пошті , що робить тригер цих правил , але містить матеріал , який Ви дійсно хочете прочитати.

IIRC, двигун нічого не зробить, якщо ви цього не навчите. Найпростіший спосіб його навчання - це підтримка двох папок, званих (скажімо) spamта ham. У spamви поміщаєте копії електронної пошти, які внесли її у свій INBOX, але ви цього не хотіли; в hamви кладете копії листів, що випали фол SA , але ви дійсно хотіли, наприклад , як це підтвердження по електронній пошті.

Тоді вночі (або близько того) у вас є робота з хроном, яка говорить

sa-learn --spam --mbox mail/spam
sa-learn --ham  --mbox mail/ham

змінюючи шляхи відповідно. З часом це навчить двигун тому, що ви робите, а не любить читати. Оскільки високий байєсівський бал може додати +4,0 балів до оцінки електронної пошти електронної пошти, тоді як низький - відняти 1,9, добре навчений двигун дійсно може допомогти SA відрізнити те, що ви хочете прочитати, від того, що ви не маєте - але ви повинні докладіть зусиль, щоб навчити цього .


1
Це звучить розумно. Я спробую цю поштову скриньку спаму / шинки спробувати. Спасибі!
Нік Дженнінгс

1
"благословляйте свої маленькі бавовняні шкарпетки"
Алекс Рейнкінг

@MadHatter слідкуйте за цим. Я спробував перетягнути електронну пошту SPAM, яку Spamassassin змінив у папку Ham, і коли я запустив sa-learn --ham ...команду, він говорить, що знайшов 0 електронних листів, з яких слід дізнатися: Learned tokens from 0 message(s) (0 message(s) examined)... Я намагався .emlвкласти додаток, що SpamAsssasin помістив оригінальний електронний лист, у папку Ham безпосередньо на сервері, але все-таки каже, що він знаходить 0 повідомлень для обробки ...
Nick Jennings

Слід додати, що я маю справу з оригінальним повідомленням електронної пошти як додаток відповідно до report_safe 1налаштувань.
Нік Дженнінгс

@NickJennings, то, ймовірно, вам доведеться використовувати клієнт, що підтримує MIME, щоб викреслити оригінальну електронну пошту, на яку можна подати sa-learn. Якщо це занадто сильно болить, вимкніть report_safe. Це гарна ідея навчити школяра-шинку іншим речам, окрім речей, помилково визначених як спам, оскільки припущення байєсівського фільтра є окремими від СА в цілому. Я передаю мою всю особисту пошту, яку я отримую, оскільки це речі, які я найбільше хочу прочитати.
MadHatter

7

Ви ніби використовуєте голубця. Я провів кілька тижнів, намагаючись зрозуміти плавну інтеграцію, яка дозволяє користувачам легко тренувати фільтри спаму на стороні сервера без копіювання листів.

Ключова частина - плагін Antispam Dovecot. Антиспам плагін тригери на переміщення операцій між трьома групами папок: trash, unsureі spam. Зокрема, коли виявляється перехід від чого-небудь (але spam) до spam, спрацьовує дія навчання спаму, а коли виявляється перехід від spamдо, unsureвиконується дія навчання шинки.

Він підтримує різні тренажери. Простий mailtrain, який просто виконує команду і ставить пошту на стандартне введення. Конфігурація для цього може виглядати приблизно так:

plugin {
   antispam_backend = mailtrain
   antispam_mail_sendmail = /usr/local/bin/sa-learn-stdin.sh
   antispam_mail_spam = spam
   antispam_mail_notspam = ham
   antispam_mail_sendmail_args = -L
   antispam_spam = Junk;INBOX.Junk
   antispam_trash = Trash;INBOX.Trash
   antispam_allow_append_to_spam = no
}

Разом з /usr/local/bin/sa-learn-stdin.sh:

#!/bin/bash
/usr/bin/spamc "$@" >> /tmp/sa-learn-log
exit 0

У конфігурації написано "Вчити як спам, бігати /usr/local/bin/sa-learn-stdin.sh -L spamта вчитися як шинка, бігати /usr/local/bin/sa-learn-stdin.sh -L ham". Аргументи налаштовані за допомогою antispam_mail_spam, antispam_mail_notspamі antispam_mail_sendmail_args.

Це вже досить приємно. Якщо ви можете налаштувати свого клієнта для переміщення пошти, яку ви позначаєте як спам, у папку спаму, це вже досить автоматична інтеграція між клієнтом і сервером. Так само, якщо ви налаштуєте сервер для зберігання пошти, класифікованої як спам, у спам-папці при доставці (наприклад, за допомогою Sieve), повідомлення буде вивчено як шинка, коли користувач перемістить його з папки "Спам".


Щоб покращити інтеграцію з Thunderbird та KMail, я написав патч на антиспам , який, на жаль, не отримав жодного відгуку від висхідного потоку; використовувати на свій страх і ризик .

Він додає параметр конфігурації антиспаму, який можна просто додати до pluginрозділу в конфігурації голубця:

   antispam_spam_flags = "Junk;$JUNK"

(Котирування важливі для того, щоб не $робити щось смішне.)

За допомогою патча антиспам також спричинить навчальну дію, якщо повідомлення отримає прапор спаму або втратить всі його спами. Прапори - це функція IMAP, яка використовується клієнтами для зберігання бітів на сервері інформації. Виявляється, Thunderbird та KMail використовують ці прапори для зберігання небажаного / спам-статусу повідомлень.

JunkПрапор встановлений Thunderbird , коли ви відзначаєте повідомлення як спам. Так само і для $JUNKпрапора KMail. Таким чином, за допомогою цієї конфігурації ви можете запустити навчання на стороні сервера, позначивши пошту як Junk / NonJunk в Thunderbird в KMail.

Інші клієнти, такі як K9-Mail, все ще чудово працюють, оскільки там за замовчуванням є переміщення мотлоху в папку "Спам", яке також запускатиме антиспам.


Ви можете реалізувати таку ж функціональність, я думаю, в IMAPSieve . Це є на моєму TODO, але, на жаль, наразі у мене немає середовища, готового до тестування, з досить недавнім голубцем.


Це виглядає цікаво, обов'язково заглянемо в це.
Нік Дженнінгс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.