Как стать автором
Обновить
75.92
Zextras
Цифровое рабочее место Zextras

3 лайфхака для безопасной и надежной отправки электронных писем в Zimbra OSE

Время на прочтение7 мин
Количество просмотров9K

Отправка и получение электронных писем - важнейшие функции корпоративного почтового сервера. В Zimbra OSE функцию отправки и приема электронных писем выполняет агент передачи почты (MTA) Postfix. Этот MTA с открытым исходным кодом на сегодняшний день является одним из наиболее популярных решенией для отправки и приема электронной почты. Однако даже в случае чистой установки, Postfix в Zimbra OSE таит в себе подводные камни, которые могут создать угрозу для информационной безопасности и даже нарушить нормальный рабочий процесс на предприятии. Основой нормального функционирования почтового сервера являются корректно настроенные DKIM, SPF и DMARC. Ранее мы уже писали о том, как их правильно настроить в Zimbra OSE. В данной статье мы о трех лайфхаках, которые помогут добиться того, чтобы почтовый домен предприятия не был скомпрометирован и не попал в черные списки, а отправленные письма гарантированно дошли до адресатов.

Включение аутентификации для внутренних сетей

Для многих администраторов это становится сюрпризом, но по умолчанию Postfix позволяет абсолютно всем пользователям внутренней сети отправлять электронные письма без аутентификации. Те администраторы, которые тестируют свой почтовый сервер из внутренней сети, иногда даже начинают думать, что их сервер работает как открытый релей и в любой момент киберзлоумышленники могут начать использовать его для рассылки спама. С одной стороны, такое решение обусловлено тем, что сотрудники предприятия могут отправлять электронную почту без ввода дополнительных настроек, а также упрощается работа различных скриптов и приложений, которые рассылают электронные письма. С другой стороны данная особенность таит в себе серьезную угрозу для информационной безопасности предприятия, ведь пользователи могут отправлять письма с подменой адреса отправителя. Кроме того, зараженный вирусом компьютер из внутренней сети может организовать широкомасштабную спам-рассылку, из-за чего репутация вашего сервера может серьезно пострадать, и в будущем отправляемые пользователями письма чаще всего будут попадать в спам.

Поэтому оставлять эту настройку без изменений следует лишь в том случае, если вы на 100% контролируете рабочие места пользователей. В случае, если это не так, имеет смысл внести изменения в настройки Postfix, чтобы пользователи не имели возможности отправлять электронные письма без аутентификации.

Решать эту проблему мы будем за счет того, что исключим из списка доверенных адресов внутренние сети и оставим в нем только адреса сетевых интерфейсов самого сервера, то есть подсети 127.0.0.0/8 и, в нашем случае, 192.168.0.105/32. Несмотря на то, что возможность указывать доверенные сети имеется в консоли администратора Zimbra OSE, указать там только сетевые интерфейсы сервера не получится из-за возникновения ошибки. Зато можно сделать это в командной строке.

Ошибка, которая возникает при попытке настроить доверенные сети в веб-интерфейсе
Ошибка, которая возникает при попытке настроить доверенные сети в веб-интерфейсе

Чтобы удалить из списка доверенных адресов внутренние сети, введите следующие команды:

sudo su - zimbrazmprov modifyServer example.ru zimbraMtaMyNetworks '127.0.0.0/8 192.168.0.105/32'postfix reload

При вводе команд укажите свое доменное имя сервера и его IP-адрес. Проверить корректность изменения списка доверенных адресов можно с помощью команды postconf mynetworks. В ее выводе должно отобразиться mynetworks = 127.0.0.0/8 192.168.0.105/32. После этого пользователи из внутренней сети Zimbra OSE не смогут отправлять электронные письма без аутентификации на сервере.

Настройка доверенных сетей в командной строке
Настройка доверенных сетей в командной строке

В том случае, если вам всё же потребуется сделать так, чтобы пользователи, скрипты или приложения все же могли отправлять электронные письма без аутентификации, то можно добавить их IP-адреса с маской подсети 32 в список доверенных.

Настройка внешнего релея

Для борьбы со спамом существует ряд общедоступных черных списков серверов, в которые попадают те почтовые сервера, которые используется спамерами для массовых рассылок. Попадание в такие черные списки может привести к тому, что письма от ваших сотрудников будут автоматически попадать в спам и не доходить до адресатов. Для того, чтобы избежать этого, или если ваш сервер уже оказался в черных списках, можно перенаправлять отправляемые письма через внешний релей. На релее обычно проходит проверка писем на вирусы и наличие в них спама. Также отправленные через надежный релей письма гарантированно дойдут до адресата. 

Для использования внешнего релея для конкретного сервера необходимо указать его адрес в настройках сервера Консоли администратора Zimbra, либо воспользовавшись командной строкой.

В Консоли администратора перейдите в раздел Главная - Настройка - Серверы - example.ru - Агент Передачи Сообщений и в разделе "Агент трансляции для внешней доставки" укажите адрес релея и порт, который будет использоваться для подключения к нему. В нашем случае это будут mail.relay.ru и порт 25.

Настройка релея в Консоли администратора Zimbra OSE
Настройка релея в Консоли администратора Zimbra OSE

В командной строке внешний релей настраивается при помощи команды zmprov ms example.ru zimbraMtaRelayHost mail.relay.ru:25

Также можно настроить использование релея на всей инфраструктуре Zimbra. Сделать это также можно в Консоли администратора и в командной строке. В первом случае перейдите в раздел  Главная - Настройка -Глобальные настройки - Агент Передачи Сообщений и в разделе "Агент трансляции для внешней доставки" укажите mail.relay.ru и порт 25. В командной строке это можно сделать с помощью команды zmprov mcf zimbraMtaRelayHost mail.relay.ru:25.

Также вам может потребоваться настроить аутентификацию в релее. Делается это в командной строке. В первую очередь необходимо создать файл, в котором будет задано имя пользователя и пароль учетной записи для аутентификации на релей-сервере: echo mail.relay.ru Имя:Пароль > /opt/zimbra/conf/relay_password. Когда файл будет создан, на его основе нужно сгенерировать поисковую таблицу для Postfix postmap /opt/zimbra/conf/relay_password. Убедиться в том, что все сделано корректно, можно с помощью команды postmap -q mailrelay.example.com /opt/zimbra/conf/relay_password, которая должна возвращать имя пользователя и пароль.

Чтобы Postfix начал использовать заданный пароль, введите команду zmprov ms example.ru zimbraMtaSmtpSaslPasswordMaps lmdb:/opt/zimbra/conf/relay_password. Чтобы подключение к релею шифровалось, введите команду zmprov ms example.ru zimbraMtaSmtpSaslAuthEnable yes. Для того, чтобы в качестве сервера отправки в сообщении значился не исходный сервер, а релей, введите команду zmprov ms example.ru zimbraMtaSmtpCnameOverridesServername no. То же самое можно настроить и на глобальном уровне, заменив в командах ms example.ru на mcf.

Ограничение количества исходящих сообщений

Для защиты сервера можно также установить лимит на количество исходящих сообщений. Такое ограничение может оказаться чрезвычайно полезным в том случае, если кто-то из сотрудников решит устроить массовую рассылку или в случае, если к почтовому ящику получат доступ злоумышленники. В случае, если никаких ограничений на отправку н сервере нет, массовая рассылка может серьезно навредить репутации сервера и даже привести к его попаданию в черные списки, после чего он окажется непригодным для деловой переписки.

Ввести подобные ограничения можно за счет использования cbpolicyd — службы политик, встроенной в Zimbra Collaboration Suite Open-Source Edition. Для того, чтобы её воспользоваться, необходимо сперва активировать соответствующий модуль в Zimbra OSE. Для этого необходимо ввести команду zmprov ms example.ru +zimbraServiceInstalled cbpolicyd +zimbraServiceEnabled cbpolicyd. В том случае, если вы используете мультисерверную инфраструктуру Zimbra OSE, вам следует отдельно настроить cbpolicyd на каждом сервере MTA. Также можно интегрировать cbpolicyd с общей СУБД Zimbra, чтобы созданные политики применялись глобально. О том, как это сделать, мы расскжем в одной из будущих статей.

Также потребуется открыть доступ к cbpolicyd через веб-интерфейс. Для этого нужно выйти из пользователя zimbra и войти как root. В качестве root-пользователя нужно перейти в папку /opt/zimbra/data/httpd/htdocs/ и ввести команду ln -s /opt/zimbra/common/share/webui/, которая создаст символьную ссылку в сервере Apache. Кроме того, необходимо добавить в файл /opt/zimbra/data/httpd/htdocs/webui/includes/config.php информацию о базе данных, к которой должно происходить подключение. Для этого в любом текстовом редакторе добавим в данный файл строку $DB_DSN="sqlite:/opt/zimbra/data/cbpolicyd/db/cbpolicyd.sqlitedb";. После этого останется только перезапустить Zimbra OSE и веб-сервер Apache с помощью команд zmcontrol restart и zmapachectl restart.

Внешний вид веб-интерфейса управления cbpolicyd
Внешний вид веб-интерфейса управления cbpolicyd

Для того, чтобы задать ограничение на отправку писем, зайдите в веб-интерфейс администрирования cbpolicyd, выберите в меню раздел Quotas и перейдите в раздел Configure, где настройте политику следующим образом:

Name: Ограничение на отправку
Track: Выберите Sender@domain, это будет означать, что ограничение будет касаться каждого пользователя домена
Period: Укажите период в секундах, на протяжении которого будет действовать ограничение
Link to policy: Default
Verdict: Правило, которое будет срабатывать при нарушении политики. Например при использовании правила defer сообщения, превышающие квоту, будут попадать в очередь и отправлены после наступления следующего временного интервала
Data: Информационное сообщение которое будет показываться при срабатывании политики. Например, "Вы не можете отправлять больше 20 сообщений каждые 10 минут"
Stop processing here: Выберите Yes, это значит, что после срабатывания этой политики, не будут применяться другие.
Comment: Можете указать здесь любую информацию

Нажмите на кнопку Submit, чтобы сохранить созданную политику. По умолчанию новая политика будет отключена. Чтобы задать лимиты сообщений, выберите созданную политику и в выпадающем списке выберите раздел Limits. Выберите Add и затем выпадающем меню Type выберите Message Count и укажите в Counter Limit число сообщений, которое можно отправить в установленный временной период.

В нашем случае временной период составляет 600 секунд, а ограничение на отправку сообщений составит 20. Таким образом, пользователь не сможет отправить более двадцати сообщений раз в 10 минут. Нажмите Submit, чтобы сохранить изменения и вернитесь в предыдущее меню и выберите созданную политику. В выпадающем меню Action выберите раздел Change и поменяйте значение настройки Disabled с ‘Yes’ на ‘No’ и нажмите Submit, чтобы сохранить изменения.

При желании можно для разных пользователей устанавливать различные ограничения на отправку писем. Например можно повысить или отключить это ограничение для почтовых ящиков, используемых скриптами и программами для оповещения пользователей. 

После этого ограничение на отправку более 20 сообщений за десять минут начнет действовать. Проверить его работу можно попытавшись отправить более 20 писем за 10 минут. В том случае, если вы получите предупреждение о превышении лимита, все работает корректно и ваш сервер надежно защищен от массовых рассылок. 

Эксклюзивный дистрибьютор Zextras SVZcloud. По вопросам тестирования и приобретения Zextras Carbonio обращайтесь на электронную почту: sales@svzcloud.ru

Теги:
Хабы:
+2
Комментарии2

Публикации

Информация

Сайт
zextras.com
Дата регистрации
Дата основания
Численность
201–500 человек
Местоположение
Индия
Представитель
Триандафилиди Екатерина