Много спама проходит через фильтр на почтовом сервере, который я запускаю, с помощью относительно простой уловки: начать с нескольких строк (невероятно очевидной) потери веса или другого мошеннического текста вверху, за которым следует более крупный текст из документации по программированию. - или, что хуже всего, текст, извлеченный из Stack Exchange. В лучшем случае Spamassassin рассматривает это как BAYES_50, и бывает, что остальные сообщения строятся достаточно тщательно, чтобы не срабатывать другие триггеры. (Например, заголовки минимальны и правильны.) Часто включенные отрывки достаточно точно соответствуют моим законным интересам, поэтому сообщение в целом оценивается как BAYES_00, потому что сами спамовые токены просто перегружены сочными самородками решения проблем системного администратора.
Верхняя часть так очевидно спам (и на самом деле имеет тенденцию быть очень похожим на ранее полученные и обученные как спам-сообщения), что меня немного удивляет, что оно проходит, но очевидно, что это так. Это похоже на отдельный проход, который оценивает первые 25 (или около того) строк сообщения и имеет большое значение, что решит проблему. Есть ли способ сделать это?
Несколько человек предложили писать собственные регулярные выражения. Я не хочу вдаваться в подробности, так как это постоянно проигрышная битва. Это то, что люди делали до того, как байесовская сортировка спама стала широко использоваться, и в целом это было ужасно. Ни один человек не может угнаться. Это не намного эффективнее, чем просто нажимать клавишу удаления для каждого спам-сообщения, и еще много работы с моей стороны.
Байесовская фильтрация спама работает. Он даже работает на этот спам, если я выделю "выше сгиба"и просто проанализируйте эту часть, удалив приманку / мякину. Вопрос в том, как я могу заставить Spamassassin сделать это?
Я сам (маленький) яркий борец со спамом. И из-за множества проблем, с которыми вы сталкиваетесь, много лет назад я сам делал грязные вещи.
Итак, это ответ не на ваш конкретный вопрос, а на вашу конкретную проблему. Поэтому, пожалуйста, не голосуйте против из-за этого.
Как я решил эту проблему, я изменил сценарий sa_filter-post.pl, используемый сервером XMail, который вызывает spamc в файле электронной почты и выполняет там некоторые незначительные действия, чтобы обрабатывать не весь файл, а определенные его части, на основе некоторые конкретные правила (жестко запрограммированные мной). да, регулярные выражения, но пока они работают для меня (у меня есть куча других скриптов до и после этого, так что они могут сыграть роль)
Например, у меня есть регулярное выражение, которое выуживает телефонные номера. Спамер оставил это полностью, поэтому он сразу переходит к обработке только средних 400 символов файла (на самом деле я получил 400 путем проб и ошибок, начиная с 200). Обратите внимание, что довольно сложно выделить середину того, что вы видите, по сравнению с тем, что находится в файле.
Есть еще один, который имеет ту же структуру html-таблицы с «продуктами», фиктивным заголовком и непригодным для использования нижним колонтитулом, поэтому я убираю их, убираю столбец комментариев «продукты» и затем передаю его spamc.
И так далее, вы понимаете.
Но не все правила идеальны, поэтому я немного поработаю здесь, присвоив каждому правилу частный счет, который я жестко кодирую и настраиваю вверх или вниз, когда это необходимо, в зависимости от того, как ведет себя правило (и иногда я удаляю все правила вместе ). Затем я изменяю оценку SA на частную оценку. Причина, по которой я это сделал, заключалась в том, что по какой-то причине SA поставил только 4 балла, чтобы явно спамить по правилам, и у меня также было сильное желание правильно их поймать. Поэтому я дал им лишь небольшой импульс, чтобы перейти к версии 5.0, в сочетании с некоторыми сценариями постобработки, которые учитывают некоторые другие переменные (источник электронной почты, цель электронной почты, структура заголовка и т. Д.), Это более или менее убивает спам вне.
Теперь я понимаю, что это не то, на что вы надеялись, но в моем случае это дает мне большую власть над тем, что сканируется, просто мне нужно настраивать все вручную, а затем время от времени делать небольшие прикосновения - подъемы значений / регулярных выражений.
Но в вашем случае все намного проще, поскольку все, что вам нужно сделать, это использовать простой скрипт bash, который будет вызываться вашим MX вместо spamc, и пусть этот скрипт использует команду head, чтобы получить только первое количество байтов, которое вы хотите, и передать этот временный файл в spamc.
Содержимое скрипта будет немного зависеть от вашего почтового сервера, но это несложно понять.
(Обратите внимание, что я рассказал только ту часть своей настройки, чтобы вы могли увидеть возможности этой опции)
PS: Лично я никогда не получал такого рода спамерских писем (с полезными вещами, связанными с программированием), поэтому мне интересно, не разозлили ли вы кого-то, а теперь вы стали мишенью. Это объяснило бы наличие специально созданных писем. Причина, по которой я думаю о такой возможности, заключается в том, что много лет назад, когда я был очень активен на различных ИТ-форумах и группах, я действительно раздражал некоторых людей, и время от времени я получал различные типы атак на свой сервер, включая рассылку спама по электронной почте. . Но тогда идиоты не были такими умными :)