Помимо списка, почтовых серверов которым мой почтовый сервер будет доверять, хотя это слишком радикальная мера. Это больше подойдет если компания работает с ограниченным списком компаний, и Вы как системный администратор можете ограничить только что от них и будет вестись переписка, но так по большей части никто не делает. Мне по крайней мере не доводилось работать с таким. А потому я все же отключаю плагин Greylist,
но задействую Python
скрипт управления белыми и черными списками доступа:
Предыстория использования почтового сервера дома:
- Установлена серверная часть
Wireguard
см заметку"Поднимем WireGuard VPN туннель на Ubuntu 20.04"
iRedmail 1.6.2 на Ubuntu 22.04 через Wireguard туннель
Как управлять белыми списками в iRedMail
ekzorchik@mail:~$ sudo nano /opt/iredapd/settings.py убираем "greylisting", т.е. было #plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "greylisting", "throttle", "amavisd_wblist", "sql_alias_access_policy", "sql_ml_access_policy"] plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "throttle", "amavisd_wblist", "sql_alias_access_policy", "sql_ml_access_policy"]
и не забываем сохранить внесенные изменения.
ekzorchik@mail:~$ sudo systemctl restart iredapd.service
На заметку: Получить справку по задействуемым ключам работы со списками
ekzorchik@mail:~$ sudo python3 /opt/iredapd/tools/wblist_admin.py
Шаг №1:
Просмотр содержимого белого и чёрного списков:
ekzorchik@mail:~$ sudo python3 /opt/iredapd/tools/wblist_admin.py --list --whitelist * Establishing SQL connection. * List all inbound whitelist for account: @. * No whitelist/blacklist. ekzorchik@mail:~$ sudo python3 /opt/iredapd/tools/wblist_admin.py --list --blacklist * Establishing SQL connection. * List all inbound blacklist for account: @. * No whitelist/blacklist. ekzorchik@mail:~$
Шаг №2:
Чтобы добавить в белый или черный список:
ekzorchik@mail:~$ sudo python3 /opt/iredapd/tools/wblist_admin.py --add --whitelist @necromikon.ru * Establishing SQL connection. * Add inbound whitelist for account: @. * Add senders: @necromikon.ru ekzorchik@mail:~$ sudo python3 /opt/iredapd/tools/wblist_admin.py --add --blacklist support@ekzorchik.ru * Establishing SQL connection. * Add inbound blacklist for account: @. * Add senders: support@ekzorchik.ru ekzorchik@mail:~$
Пример: отправляю письмо с адреса support@ekzorchik.ru
на адрес support@ekzorchik.com
и по логам вижу что оно отклоняется, т.к. адрес содержится в черном списке:
Jan 9 11:00:49 mail postfix/postscreen[4885]: CONNECT from [77.88.28.109]:59036 to [172.33.2.15]:25 Jan 9 11:00:55 mail postfix/postscreen[4885]: PASS NEW [77.88.28.109]:59036 Jan 9 11:00:55 mail postfix/smtpd[4889]: connect from forward106p.mail.yandex.net[77.88.28.109] Jan 9 11:00:56 mail postfix/smtpd[4889]: Anonymous TLS connection established from forward106p.mail.yandex.net[77.88.28.109]: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits) Jan 9 11:00:56 mail postfix/trivial-rewrite[4892]: warning: do not list domain ekzorchik.com in BOTH mydestination and virtual_mailbox_domains Jan 9 11:00:56 mail postfix/smtpd[4889]: NOQUEUE: reject: RCPT from forward106p.mail.yandex.net[77.88.28.109]: 554 5.7.1 <support@ekzorchik.com>: Recipient address rejected: Blacklisted; from=<support@ekzorchik.ru> to=<support@ekzorchik.com> proto=ESMTP helo=<forward106p.mail.yandex.net> Jan 9 11:00:56 mail postfix/smtpd[4889]: using backwards-compatible default setting smtpd_relay_before_recipient_restrictions=no to reject recipient "support@ekzorchik.com" from client "forward106p.mail.yandex.net[77.88.28.109]" Jan 9 11:00:56 mail postfix/smtpd[4889]: disconnect from forward106p.mail.yandex.net[77.88.28.109] ehlo=2 starttls=1 mail=1 rcpt=0/1 data=0/1 rset=1 quit=1 commands=6/8
Шаг №3:
Чтобы удалить из белого или черного списка:
ekzorchik@mail:~$ sudo python3 /opt/iredapd/tools/wblist_admin.py --list --blacklist * Establishing SQL connection. * List all inbound blacklist for account: @. support@ekzorchik.ru ekzorchik@mail:~$ ekzorchik@mail:~$ sudo python3 /opt/iredapd/tools/wblist_admin.py --delete --blacklist support@ekzorchik.ru * Establishing SQL connection. * Delete inbound blacklist for account: @. - Deleted: support@ekzorchik.ru ekzorchik@mail:~$
Итого я рассмотрел посредством консоли командной строки, как добавлять в разрешающий или блокирующий список, а если посмотреть справку, то можно добавлять/удалять IP адрес адресата. Короче буду использовать в повседневности и по мере наработок дополнять данную заметку, а пока все, с уважением автор блога Олло Александр aka ekzorchik.