Настройка whitelist blacklist в Iredmail

В iRedMail чёрный и белый списки контролируются плагином amavisd_wblist (/opt/iredapd/plugins/amavisd_wblist.py). Самим же плагином можно управлять при помощи скрипта wblist_admin.py (/opt/iredapd/tools/wblist_admin.py).

Форматы адресов

Допустимые форматы адресов для белого и чёрного списков:

  • user@domain.com - один пользователь.
  • @domain.com / @sub.domain.com - один домен.
  • @.domain.com - домен и все его суб-домены.
  • @. - любой домен.
  • @.com / @.org / @.info - домен верхнего уровня.
  • 192.168.1.2 - один IP-адрес.
  • 192.168.1.0/24 - Сеть CIDR.

Примеры для белого списка

  • Показать записи из белого списка:
python3 '/opt/iredapd/tools/wblist_admin.py' --list --whitelist
  • Добавить в белый список IP-адрес, email, домен и суб-домен:
python3 '/opt/iredapd/tools/wblist_admin.py' --add --whitelist '192.168.1.10' 'user@domain.com' '@iredmail.org' '@.example.org'
  • Удалить из белого списка IP-адрес, email, домен и суб-домен:
python3 '/opt/iredapd/tools/wblist_admin.py' --delete --whitelist '192.168.1.10' 'user@domain.com' '@iredmail.org' '@.example.org'
  • Создать для локального почтового домена @domain.com белый список и внести в него IP-адрес 192.168.1.10 и email user@example.org:
python3 '/opt/iredapd/tools/wblist_admin.py' --account '@domain.com' --add --whitelist '192.168.1.10' 'user@example.org'
  • Создать для локального почтового домена @domain.com и всех его суб-доменов белый список и внести в него IP-адрес 192.168.1.10 и email user@example.org:
python3 '/opt/iredapd/tools/wblist_admin.py' --account '@.domain.com' --add --whitelist '192.168.1.10' 'user@example.org'
  • Создать для локального пользователя user@domain.com белый список и внести в него IP-адрес 192.168.1.10 и email user@example.org:
python3 '/opt/iredapd/tools/wblist_admin.py' --account 'user@domain.com' --add --whitelist '192.168.1.10' 'user@example.org'
  • Показать записи из белого списка для локального почтового домена @domain.com:
python3 '/opt/iredapd/tools/wblist_admin.py' --account '@domain.com' --list --whitelist
  • Показать записи из белого списка для локального пользователя user@domain.com:
python3 '/opt/iredapd/tools/wblist_admin.py' --account 'user@domain.com' --list --whitelist

Примеры для чёрного списка

  • Показать записи из чёрного списка:
python3 '/opt/iredapd/tools/wblist_admin.py' --list --blacklist
  • Добавить в чёрный список IP-адрес, email, домен и суб-домен:
python3 '/opt/iredapd/tools/wblist_admin.py' --add --blacklist '202.96.134.133' 'bad-user@domain.com' '@bad-domain.com' '@.sub-domain.com'
  • Добавить в чёрный список имя отправителя (sender):
python3 '/opt/iredapd/tools/wblist_admin.py' --add --blacklist 'sender@*'
  • Удалить из чёрного списка IP-адрес, email, домен и суб-домен:
python3 '/opt/iredapd/tools/wblist_admin.py' --delete --blacklist '202.96.134.133' 'bad-user@domain.com' '@bad-domain.com' '@.sub-domain.com'
  • Создать для локального почтового домена @domain.com чёрный список и внести в него IP-адрес 172.16.1.10 и email bad-user@example.org:
python3 '/opt/iredapd/tools/wblist_admin.py' --account '@domain.com' --add --blacklist '172.16.1.10' 'bad-user@example.org'
  • Создать для локального почтового домена @domain.com и всех его суб-доменов чёрный список и внести в него IP-адрес 172.16.1.10 и email bad-user@example.org:
python3 '/opt/iredapd/tools/wblist_admin.py' --account '@.domain.com' --add --blacklist '172.16.1.10' 'bad-user@example.org'
  • Создать для локального пользователя user@domain.com чёрный список и внести в него IP-адрес 172.16.1.10 и email bad-user@example.org:
python3 '/opt/iredapd/tools/wblist_admin.py' --account 'user@domain.com' --add --blacklist '172.16.1.10' 'bad-user@example.org'
  • Показать записи из чёрного списка для локального пользователя user@domain.com:
python3 '/opt/iredapd/tools/wblist_admin.py' --account 'user@domain.com' --list --blacklist

Серый список

За серый список отвечает плагин greylisting (/opt/iredapd/plugins/greylisting.py). Этим плагином можно управлять при помощи скрипта greylisting_admin.py (/opt/iredapd/tools/greylisting_admin.py).

Примеры для серого списка

  • Отключить глобальный серый список:
python3 '/opt/iredapd/tools/greylisting_admin.py' --disable --from '@.'
  • Показать все настройки серого списка:
python3 '/opt/iredapd/tools/greylisting_admin.py' --list
  • Показать все доменные имена отправителей из белого списка:
python3 '/opt/iredapd/tools/greylisting_admin.py' --list-whitelist-domains
  • Показать все адреса отправителей из белого списка:
python3 '/opt/iredapd/tools/greylisting_admin.py' --list-whitelists
  • Добавить домен отправителя @example.org в белый список:
python3 '/opt/iredapd/tools/greylisting_admin.py' --whitelist-domain --from '@example.org'
  • Удалить домен отправителя @example.org из белого списка:
python3 '/opt/iredapd/tools/greylisting_admin.py' --remove-whitelist-domain --from '@example.org'
  • Включить серый список для локального почтового домена @example.org:
python3 '/opt/iredapd/tools/greylisting_admin.py' --enable --to '@example.org'
  • Отключить серый список для локального пользователя user@example.org:
python3 '/opt/iredapd/tools/greylisting_admin.py' --disable --to 'user@example.org'
  • Отключить серый список для писем, отправленных с домена @gmail.com локальному пользователю user@example.org:

python3 '/opt/iredapd/tools/greylisting_admin.py' --disable --from '@gmail.com' --to 'user@example.org'
  • Отключить серый список для писем, отправленных с IP-адреса 45.56.127.226:

python3 '/opt/iredapd/tools/greylisting_admin.py' --disable --from '45.56.127.226'
  • Удалить настройки серого списка для локального домена @test.com:
python3 '/opt/iredapd/tools/greylisting_admin.py' --delete --to '@test.com'

Источник