Назад | Перейти на главную страницу

Фильтрация спама в папку IMAP с помощью postfix, policyd и amavis?

Используя amavisd-new, я успешно отмечаю несколько заголовков и точно сообщаю о большинстве спама.

Однако сейчас я отправляю его в почтовый ящик, и вместо этого я хотел бы иметь папку нежелательной почты. Время от времени я буду запускать sa-learn для этих ящиков (по одному для каждой учетной записи). Так что ложные негативы могут быть помещены туда, и система извлечет уроки из этого.

Я не уверен, что лучше всего начать с postfix, amavis или policyd. Поскольку я использую виртуальные домены, для каждого пользователя @ домен будет отдельная папка, а не общий карантин.

Есть мысли о том, как это настроить? Думаю, я хочу, чтобы он работал как сегодня Gmail или Yahoo, автоматически перемещая подозреваемый СПАМ в папку нежелательной почты.

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

  1. Если вы используете стандартный агент доставки Postfix virtual (8), вы не сможете этого сделать.
  2. Если вы используете Cyrus LDA или Dovecot LDA, у вас есть еще два варианта: вы можете использовать их встроенную функцию Sieve (быстрый поиск Гугл должен показать, как анализировать заголовок X-Spam-Status) и предоставить глобальный сценарий Sieve или использовать разделители получателей (установить recipient_delimiter = + в Postfix 'main.cf и взгляните на перенаправить документацию для amavisd-new).
  3. Если вы используете maildrop, см. Ответ Джеймса.
  4. Если ни один из этих параметров не применим, вы можете разрешить amavisd-new помещать эти письма в карантин. Менеджеров карантина OSS мало, о карантине на основе SQL я знаю только MailZu и MailZu-ng для современного amavisd-new. Майя Мейлгард поставляется с собственной реализацией amavisd-new (я не рекомендую использовать Maia по разным причинам). Наконец, в последнее время я писал комбинированный приложение для управления карантином / почтой, но я не могу назвать даты, когда это будет закончено).

Совершенно другой подход, учитывая, что либо объем вашей почты невелик, либо у вас есть доступ к серьезному оборудованию, было бы запустить amavisd-new как перед фильтром очереди, тем самым полностью устраняя необходимость в папках для спама / нежелательной почты или в карантине: если законное письмо отклоняется как спам, отправитель будет уведомлен его собственным почтовым сервером - поскольку вы технически никогда не принимали почту, вы ни за что не несете ответственности .

Вам нужно будет настроить что-то вроде procmail или maildrop, чтобы фильтровать почту в правильную папку, когда она будет доставлена.

Используя maildrop, вы можете получить общесистемную конфигурацию по умолчанию, которая будет проверять заголовки и фильтровать спам в нужное место, примерно так в / etc / maildroprc:

if (/^X-Spam-Status: yes) {
    to "Maildir/.Spam"
}

измените расположение почтового ящика в зависимости от вашей локальной настройки.

Я бы не стал на 100% полагаться на amavisd в отбрасывании почты, которая считается спамом; Я бы только как-нибудь пометил бы тему и все равно поставлю

однако, пока нет, есть серые списки, spf и rbl, которые действительно хороши

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

Поддерживаю корпоративный сервер, включая почту. За последние несколько лет я пробовал разные почтовые серверы, множество конфигураций и плагинов. Пока нормальное количество спама, которое фактически доставляется в один из почтовых ящиков пользователей, составляет в среднем 1 раз в неделю. Учитывая, что у меня более сотни почтовых ящиков, результат отличный.
Конечно, это включает в себя регулярную проверку почтовых журналов и блокировку IP-адресов серверов, которые могут передавать постфикс, но поверьте мне, я лучше вручную внесу IP-адрес в базу данных спама, чем буду связываться с фильтрами спама.

Недавно я разместил небольшую статью о настройке постфикса AntiSPAM в моем блог.

Моя текущая конфигурация использует Postfix с postgrey и Dovecot, оба используют одну и ту же базу данных PostgreSQL.