четверг, 27 июня 2024 г.

Фильтр по ключевым словам в Proxmox Mail Gateway

На момент релиза в Proxmox Mail Gateway 8.1.2 нет прямого функционала фильтра по ключевым словам с письмах.
В состав Mail Gateway входит SpamAssasin, через который можно настроить фильтр по тексту и ключевым словам в письмах.

понедельник, 24 июня 2024 г.

Уведомление пользователя о наличии спама Proxmox Mail Gateway

Когда Proxmox Mail Gateway фильтрует письма, то подозрительные он отправляет в карантин.
Чтобы оповестить пользователя о том, что у него есть письма на карантине, в PMG есть служба pmgspamreport.

В сервисах PMG есть раздел Administration > Services
В списке нужно найти строку с pmgspamreport, это сервис рассылки уведомлений пользователям о наличии спама.
Если его запустить, то пользователям у которых есть письма на карантине, в почтовый ящик  отправляется уведомление.
Перейдя по ссылке из письма пользователь может обработать письма. Добавить в белый список, (если это надёжный отправитель). Добавить в чёрный список, доставить себе в ящик (игнорировать карантин) или удалить письмо навсегда.

По умолчанию письма рассылаются 1 раз в сутки, но можно настроить иную периодичность рассылки уведомлений о наличии спама. Файл настройки расписания рассылки уведомлений находится в
/lib/systemd/system/ и называется pmgspamreport.timer

Чтобы его отредактировать необходимо выполнить команду

nano /lib/systemd/system/pmgspamreport.timer


Пример содержания этого файла:

[Unit]
Description=Send Daily Spam Report Mails

[Timer]
OnCalendar=08:00:00
#OnCalendar=10:00:00
#OnCalendar=12:00:00
OnCalendar=14:00:00
#OnCalendar=16:00:00
#OnCalendar=19:00:00
Persistent=true

[Install]
WantedBy=timers.target



Где
OnCalendar=08:00:00 - время рассылки уведомлений

Можно добавлять несколько заданий подряд или настроить периодичность отправки уведомлений.

В данном примере отправка отчета будет производиться каждый час в периол с 8:00 до 19:00.
OnCalendar=08-19/01:00:00

Так же, отчёт можно сформировать и отправить вручную. Данная команда отправит уведомление пользователю testuser@test.test, при условии, что у него в есть, письма на карантине.

pmgqm send --receiver testuser@test.test

Блокировка доменов третьего уровня в Proxmox Mail Gateway

Для блокировки писем с определённого домена, в Proxmox достаточно внести этот домен в черный список.

Но, бывают случаи, когда письма приходят с домена третьего уровня и выше, например s9.spamserver.spam. В этом случае правило блокировки домена spamserver.spam из чёрного списка уже не работает.

Для блокировки доменов третьего уровня и выше необходимо указывать регулярные выражения regexp.

Перейти в раздел
Mail Filter > Who Objects > Ваш чёрный список

Выбираем нужный нам список, в правой части окна отобразится содержимое списка. Сверху нажимает на кнопку Add и выбираем пункт Regular Expression.

В поле Regex: пишем выражение
.*.
spamserver.spam

В строке Test String: можно ввести выражение для проверки. Например s199.spamserver.spam 

Используя выражение .*.spamserver.spam обрабатывается всё, что указано до .spamserver.spam.

Например домен mail.server.spamserver.s199.spamserver.spam тоже будет обработан.

Если выражение составлено верно, то вы получите сообщение, что ваш запрос обработан. Если вы получите ответ с ошибкой, значит вы неверно составили регулярное выражение или неверно указали проверочную строку.