Synology MailPlus настройка Spamassassin

Всем привет!!!

В этот раз я расскажу как работает Spamassassin и как его настроить, а так же другие настройки защиты от спама в Synology MailPlus сервере.

Synology MailPlus настройка Spamassassin

SpamAssassin — эффективное средство для фильтрации спама, основанное на взаимодействии ключевых компонентов — оценочного сервиса, транспортного агента и базы шаблонов писем. SpamAssassin использует Байесовскую фильтрацию, обработку DNSBLSender Policy FrameworkDomainKeysDKIM, Razor и другие методы распознавания спама.

https://ru.wikipedia.org/wiki/SpamAssassin

Говоря по простому Spamassassin анализирует письмо по нескольким параметрам, ключевым словам и выставляет рейтинг, а уже согласно настроенных порогов этого рейтинга письмо помечается как спам или не спам.

Эта статья родилась как продолжение темы защиты от спама после того как я отключил механизм DNSBL. Подробнее почему я это сделал описано в моей статье ссылка ниже

Немного про Rspamd

Rspamd – это усовершенствованная система фильтрации спама и платформа обработки электронной почты, которая позволяет оценивать сообщения по ряду правил, включая регулярные выражения, статистический анализ и пользовательские сервисы, такие как черные списки URL-адресов. Каждое сообщение анализируется Rspamd и выносит вердикт, который может быть использован MTA для дальнейшей обработки (например, для отклонения сообщения или добавления специального заголовка, указывающего на спам) вместе с другой информацией, такой как возможная подпись DKIM или изменения, предлагаемые для сообщения.

https://github.com/rspamd/rspamd

В Synology MailPlus нет возможности настраивать Rspamd, но можно обновлять базы этой службы через интернет, что бы иметь всегда актуальную информацию о спаме. Две системы фильтрации спама по сути делают одно и тоже, выставляют рейтинг по определенным параметрам, а на основе этого рейтинга письмо получает статус о спаме. Связка онлайн базы Rspamd и ручных настроек, а затем и автоматический Spamassassin дает очень хороший результат в борьбе со спамом.

Для сильно любобытных можно посмотреть найстройки Rspamd в /volume1/@appstore/MailPlus-Server/etc/rspamd/

Небольшая выдержка из конфигурации:

symbols = {
    # SPF
    "R_SPF_FAIL" {
        weight = 1.0;
        description = "SPF verification failed";
        groups = ["spf"];
    }
    "R_SPF_SOFTFAIL" {
        weight = 0.0;
        description = "SPF verification soft-failed";
        groups = ["spf"];
    }
    "R_SPF_NEUTRAL" {
        weight = 0.0;
        description = "SPF policy is neutral";
        groups = ["spf"];
    }
    "R_SPF_ALLOW" {
        weight = -0.2;
        description = "SPF verification allows sending";
        groups = ["spf"];
    }
    "R_SPF_DNSFAIL" {
        weight = 0.0;
        description = "SPF DNS failure";
        groups = ["spf"];
    }
    # DKIM
    "R_DKIM_REJECT" {
        weight = 1.0;
        description = "DKIM verification failed";
        one_shot = true;
        groups = ["dkim"];
    }
    "R_DKIM_TEMPFAIL" {
        weight = 0.0;
        description = "DKIM verification soft-failed";
        groups = ["dkim"];
    }
    "R_DKIM_ALLOW" {
        weight = -0.2;
        description = "DKIM verification succeed";
        one_shot = true;
        groups = ["dkim"];
    }
    # DMARC
    "DMARC_POLICY_ALLOW" {
        weight = -0.5;
        description = "DMARC permit policy";
        groups = ["dmarc"];
    }
    "DMARC_POLICY_ALLOW_WITH_FAILURES" {
        weight = -0.5;
        description = "DMARC permit policy with DKIM/SPF failure";
        groups = ["dmarc"];
    }
    "DMARC_POLICY_REJECT" {
        weight = 2.0;
        description = "DMARC reject policy";
        groups = ["dmarc"];
    }
    "DMARC_POLICY_QUARANTINE" {
        weight = 1.5;
        description = "DMARC quarantine policy";
        groups = ["dmarc"];
    }
    "DMARC_POLICY_SOFTFAIL" {
        weight = 0.1;
        description = "DMARC failed";
        groups = ["dmarc"];
    }

Synology MailPlus настройка Spamassassin

Начнем по порядку. Переходим в Synology MailPlus Server на вкладку Безопасность и видим такую настройку

Добавлять следующее к теме спама – Отключил маркировку писем *****SPAM***** – так как бывает, что письма по ошибке попали в спам и при ответе на такие письма они опять маркируются спамом и получателю неприятно получать от нас письма с маркировкой SPAM. ПОЭТОМУ эту настройку лучше отключить. Спам все равно попадет в специальную папку СПАМ, там и будет лежать.

Автоматический белый список. Если какой-то пользователь MailPlus когда-то отвечал на внешний адрес электронной почты, рейтинг спама, отправленного с этого адреса, снизится на четыре пункта. То есть вероятность попадания таких писем в спам снижается очень существенно, потом я объясню почему. Из минусов жалко, что нельзя изменить -4 на свое значение, но и так норм если честно.

Следующее это пользовательский спам-филтр, который имеет два параметра

Фильтр по адресам

Если пьсьмо подпадет под одно из этих правил, то дальнейшая обработка правил прекращается, выставляется рейтинг 5 и письмо получает статус спама.

Фильтр вложений

А вот со вкладки дополнительно начинается самое интересное.

Как я писал выше SpamAssassin вычисляет рейтинг каждого письма и выставляет ему значение. Так вот, Если значение рейтинга письма будет 5 (параметр изменяется), то письмо попадет в сам. Соответственно если рейтинг меньше, то письмо считается нормальным.

Правила SpamAssassin — это правила с открытым исходным кодом, которые можно находить в интернете и загружать в наш сервер.

Правила SpamAssassin

На скриншоте выше видно, что у меня много правил, которые я загрузил, но все они отключены. Да действительно эти правила можно найти в интернете и загрузить. После чего забудете про спам и про свою реальную почту. Вся ваша почта будет попадать под спам. Постараюсь объяснить почему.

Дело в том, что в этих правилах собранных кем-то сделаны не только выборки по ключевым словам и параметрам письма, но выстроена своя логика выставления рейтинга. Например, когда я загрузил первый файл из интернета, то значение рейтинга отмечено как score было равно у каждого письма 8 или 12 или даже 18. А мы помним, что выше я сказал про порог 5, это значение по умолчанию в Synology MailPlus. Так вот, я решил, что просто поменяю пороговое значение с 5 на 8 или даже выше. Как раз на скриншоте выше порог requried=8. Но затем пришло другое письмо с рейтингом 13, я выставил порог 15, а потом спам пришел с рейтингом 8 и соответственно не попал в спам.

Нужно отметить, что в этих файлах, как правило, можно отредактировать через текстовый редактор эти рейтинги, но это такое не благодарное дело. Во-первых, логику автора очень сложно понять, а во вторых, часто автор специально не разглашает свою логику, что бы спамеры ее не разгадали и не научились обходить защиту от спама. А в третьих, все правила, которые я нашел на просторах интернета были очень старыми и датировались самые свежие аж 2011 годом. Понятно, что спамеры уже давно к ним подстроились. Эти правила нужно постоянно актуализировать иначе они либо не работают, либо приносят еще больше вреда чем пользы. Вот такой вот замкнутый круг.

Поэтому лучший вариант не использовать чужие правила. Кстати эти правила можно сгенерировать вручную, в интернете есть для этого готовые скрипты. Тут я такие скрипты рассматривать не буду, так как фильтр по ключевым словам делает тоже самое.

Фильтрация по ключевым словам

Тут логика такая. Есть группы, в которые вы заносите ключевые слова найденные в теме или в самом сообщении и выставляете такому правилу рейтинг. Например. Если в письме будет найдено слово казино, то к рейтингу добавится 4. Это значение вы выставляете сами. А группы нужны, что бы в случаи чего быстро отключить ту или иную группу, ну например если переборщите с ключевыми словами.

Следующая вкладка Автоизучение. Вот для меня она очень интересна.

Автоизучение

Пункт “Пометить как спам, если значение выше 5” меняется на предыдущей вкладке.

Параметры “спам, если значение выше” и “не спам, есть ли значение меньше” работает следующим образом. Если придёт письмо со рейтингом больше 10, то оно попадёт в авто изучения спама и будет помечено как спам потому что нормальное значение пять. В таких письмах будет отметка autolearn=spam . Если письмо придёт со значением меньше -0.5, то оно также попадёт в изучении автоспама. но уже со значением autolearn=ham . Таким образом система автоматически изучает спам по мере поступления писем.

Тут нужно понимать, что если вы занизите эти значения слишком сильно, то вероятность автоизучения повысится, но вместе с этим повысится вероятность неправильного автоизучения и можно со временем сломать всю эту систему, так как она некорректно научится определять спам или не спам. Именно поэтому в Synology MailPlus эти значения помечены Ненадежный \ Нормальный \ Надежный

Рекомендуется сначала выставить параметр Надежный, затем когда система немного обучится Нормальный, а когда она вообще будет четко определять спам или не спам выставлять значение Ненадежный. Хотя наверно лучше остановиться на Нормальный.

Функция включить создание отчетов о спаме сначала вводила меня в заблуждение. Я неправильно ее себе представлял. Дело в том, что это почтовые адреса не для отправки отчетов, а для приема писем со спамом или с ложным, ошибочным, спамом.

На самом деле с помощью этой функции обычные пользователи на этапе обучения SpamAssassin могут очень сильно ускорить это самое обучение. Причем любые пользователи, даже сторонних почтовых сервисов. Например, в поле переслать спам можно указать не существующий почтовый ящик с названием spams собака домен.ру, а в поле ложный спам так же не существующий почтовый ящик notspam собака домен.ру. И попросить пользователей пересылать весь спам на spam, а не спам или ложный спам на notspam. Но пересылать такие письма нужно как вложения. Не имеет значение тема письма, не имеет значение содержание, главное вложения. Именно вложения и будут обрабатываться.

Где-то на хабре, не могу найти где, я даже читал что таким образом можно обучить свой SpamAssassin работать как знаменитые gmail или yandex. К примеру, пользователи этих систем пересылают на соответствующие адреса письма с вложениями и соответственно наша система начинает работать точно так же как и сторонние почтовые системы, которые за годы своей работы научились отсортировывать спам просто идеально.

Так же прочел мысль, что можно на стороннем сервисе завести специальный почтовый ящик. Разместить его в открытом доступе на разных форумах, сайтах и прочих местах, а затем просто пересылать почту с этого ящика себе на изучение. Это будет гарантированный спам, который изучит ваш SpamAssassin. Но такое я не делал.

MailPlus Server требуется не менее 200 сообщений о спаме и сообщений ошибочно отмеченных как спам, для применения результатов авто изучения к обнаружению спама. Так что, имейте это ввиду, нужно время на изучение спама.

Ну вот отправили почту на спец адреса, а что дальше? А дальше ее нужно изучить.

Переходим в раздел обнаруженный спам и выбираем на каких письма или на всех нужно обучиться. Обучение происходит за секунду. Так же можно выставить расписание этого действия, что бы не делать вручную.

После всех этих настроек остается только ждать и наблюдать, когда SpamAssassin научится корректно распознавать спам в вашей почте. Вот например одно письмо:

Как видите письмо набрало аж 17.957 баллов и попало в спам, так как порог 5. А вот если авто изучение получит достаточное количество писем, то в добавок к множеству проверяемых полей будет еще добавлено BAYES_xx. Где хх это вероятность того, что письмо спам и чем вероятнее тем больше баллов будет ему начислено. У меня этого еще не произошло, но я обязательно поделюсь скриншотом, когда на моем сервере закончится первый этап самообучения.

Расшифровку значений SpamAssassin можно почитать тут https://spamassassin.apache.org/old/tests_3_3_x.html на официальном сайте проекта.

Synology MailPlus настройка Spamassassin

Добавить комментарий

20 + шесть =