Thank you for reading this post, don't forget to subscribe!
Оригинал статьи:
Белый список адресов электронной почты содержит одобренные вами адреса электронной почти или доменных имен, с которых можно отправлять письма в ваш домен.
Черный список адресов электронной почты содержит адреса электронной почти или доменных имен, сообщения с которых не должны попадать в ваш домен.
Документация по управлению белым и черным списком можно посмотреть на официальном сайте iRedMail.
Этот функционал доступен в платной версии iRedMail, но в бесплатной версии есть python-скрипт, с помощью которого можно управлять Белыми и черными списками
Например, для добавления доменного имени в белый или черный список надо выполнить команду:
1 2 |
python /opt/iredapd/tools/wblist_admin.py --add --whitelist @example.com python /opt/iredapd/tools/wblist_admin.py --add --blacklist @example.com |
Для удаления доменного имени из белого или черного списка надо выполнить команду:
1 2 |
python /opt/iredapd/tools/wblist_admin.py --delete --whitelist @example.com python /opt/iredapd/tools/wblist_admin.py --delete --blacklist @example.com |
Для просмотра белого или черного списка выполним команду:
1 2 |
python /opt/iredapd/tools/wblist_admin.py --list --whitelist python /opt/iredapd/tools/wblist_admin.py --list --blacklist |
Интерфейс Web-админки
Проанализировав python-скрипт можно увидеть, что белые и черные списки хранятся в MySQL-базе amavisd
Мне не захотелось использовать phpMyAdmin для управления белым и черным списком, по-этому набросал свою админку.
https://github.com/bullvinkl/whitelist
Возможности админки:
- Добавлять в список
- Выбор тип списка (белый / черный)
- Редактировать запись
- Удалять из списка
Для установки вэб-интерфейса создаем директорию:
1 |
[root@localhost]# mkdir /var/www/html/whitelist |
Распаковываем в эту директорию файлы из архива, редактируем файлы:
— в файле server.php — отредактировать строку 3 (заменить %password% на свое значение)
Пароль на базу amavisd можно найти в письме, которое вам было отправлено после установки mail-сервера iRedMail
Ограничиваем доступ к вэб-интерфейсу управлениея белыми / черными списками по ip:
[codesyntax lang="php"]
1 2 3 4 5 6 |
[root@localhost]# nano /etc/nginx/templates/misc.tmpl ... location ~ ^/whitelist/$ { allow %ip%; deny all; } |
[/codesyntax]
где %ip% — ip-адрес, которому разрешен доступ
Перезагружаем nginx
1 |
[root@localhost]# systemctl restart nginx |