Установка плагина Policyd с web-интерфейсом в Zimbra

Zimbra Collaboration Suite почтовый сервер, который использует Postfix в качестве движка для MTA. Поэтому в нем существует возможность установки плагина Policyd, который включает в себя несколько модулей:

  • Access Control - ограничение приема/пересылки писем по спискам доступа (списки могут быть различными - на основе названия домена, учетной записи пользователя, почтового адреса, ip-адреса или подсети);
  • HELO/EHLO Checks - организация белых и черных списков;
  • SPF Checks - поведение сервера, если сервер-отправитель не прошел проверку SPF-записи;
  • Greylisting - организация серых списков;
  • Quotas - при помощи данного модуля можно ограничить количество принятых/отправленных сообщений в единицу времени;
  • Accounting - при помощи данного модуля можно также ограничивать количество отправленных сообщений и количество отправленных килобайт.

Управление настройками Policyd в Zimbra можно осуществлять через web-интерфейс, к сожалению, он на английском, зато довольно простой и понятный.

Установка Policyd и настройка web-интерфейса

Для версии 8.6 и ниже сначала убедитесь, что установлен sqlite

# rpm -qa | grep sqlite sqlite-3.6.20-1.el6.x86_64

Активация плагина Policyd

Для всех выпусков Zimbra сначала нужно активировать Policyd:

$ zmprov ms `zmhostname` +zimbraServiceEnabled cbpolicyd

Спустя пару минут процесс zmconfigd обнаружит, что вы захотели включить сервис, после чего автоматически установит базу данных и запустить службу.

Активация web-интерфейса Policyd

Создадим символьную ссылку:

# ln -s /opt/zimbra/common/share/webui /opt/zimbra/data/httpd/htdocs/webui

Отредактируем конфиг:

# mcedit /opt/zimbra/data/httpd/htdocs/webui/includes/config.php
$DB_DSN="sqlite:/opt/zimbra/data/cbpolicyd/db/cbpolicyd.sqlitedb";
$DB_USER="root";
$DB_TABLE_PREFIX="";

Перезапускаем сервисы Zimbra и Zimbra Apache:

# su - zimbra -c "zmcontrol restart" # su - zimbra -c "zmapachectl restart"

Зайти в управление можно по адресу http://mail.example.com:7780/webui/index.php (не забудьте разрешить подключение к порту 7780).

Защита доступа к web-интерфейсу Policyd

По умолчанию доступ к интерфейсу незащищен (если конечно вы не используете для этого firewall). Ограничим доступ с использованием htaccess.

Создадим файл .htaccess:

# mcedit /opt/zimbra/data/httpd/htdocs/webui/.htaccess
AuthUserFile "/opt/zimbra/data/httpd/htdocs/webui/.htpasswd"
AuthGroupFile /dev/null
AuthName "User and Password"
AuthType Basic

<LIMIT GET>
    require valid-user
</LIMIT>

Создадим файл с паролями:

# cd /opt/zimbra/data/httpd/htdocs/webui # /opt/zimbra/common/bin/htpasswd -cb .htpasswd USERNAME PASSWORD

Добавьте в самый конец файла /opt/zimbra/conf/httpd.conf:

Alias /webui /opt/zimbra/data/httpd/htdocs/webui/
<Directory /opt/zimbra/data/httpd/htdocs/webui/>
    AllowOverride AuthConfig
    Order Deny,Allow
    Allow from all
</Directory>

Перезапустите сервер Apache:

# su - zimbra -c "zmapachectl restart"

Теперь если попытаться зайти http://mail.example.com:7780/webui/index.php система запросит имя и пароль.

Добавить комментарий


Защитный код
Обновить