Электронная почта, которая является одним из наиболее распространенных форматов корпоративного общения, как правило становится основной целью злоумышленников, которые используют электронные письма как средства доставки зловредного ПО во внутреннюю сеть предприятия. В результате таких атак появляются утечки важной информации или потери корпоративных данных, которые влекут за собой не только финансовые, но и репутационные потери. Надежная защита почтового сервера от кибератак позволяет купировать большую часть киберугроз и именно поэтому защита почтового сервера предприятия становится приоритетом номер один среди системных администраторов и специалистов по кибербезопасности. В Carbonio для защиты от угроз используются такие Open-Source решения, как антивирус ClamAV, антиспам SpamAssassin и интерфейс для их взаимодействия с почтовым сервером new-amavisd. В данной статье мы расскажем о том, как правильно использовать их для обеспечения безопасности почтового сервера Carbonio.
Данная инструкция применима как к бесплатной Carbonio Community Edition, так и к коммерческой версии Carbonio.
Проверка электронных писем на спам и вирусы в Carbonio происходит следующим образом: Postfix передает их new-amavisd, который, в свою очередь, передает их ClamAV для проверки на вирусы и SpamAssassin для проверки на спам. После прохождения проверок ClamAV и SpamAssassin отправляют результаты проверок обратно в new-amavisd, который сообщает Postfix были ли обнаружены в письме вирусы или признаки спама. На основе полученных от new-amavisd данных Postfix принимает решение о том, чтобы доставить письмо, отклонить его или доставить, но при этом поместить в карантин или в папку "Спам" почтового ящика адресата.
В консоли администратора можно настроить периодичность обновления антивирусных баз данных ClamAV, блокировку писем с зашифрованными архивами во вложении, а также направление уведомления о заблокированном письме пользователю. В настоящее время из-за санкций пользователям из России недоступно обновление баз данных ClamAV. Обойти это ограничение можно двумя способами: скачивать и устанавливать обновления баз вручную, либо настроить другой источник для скачивания баз данных, который разрешает скачивание пользователям с российскими IP-адресами. Для обновления вручную воспользуйтесь TOR или смените свой IP-адрес на зарубежный с помощью VPN и скачайте следующие файлы:
http://database.clamav.net/main.cvd
http://database.clamav.net/daily.cvd
http://database.clamav.net/bytecode.cvd
После этого поместите их с заменой более ранних версий файлов в папку /opt/zextras/data/clamav/db/. Обращайте внимание на права доступа к файлам с антивирусными базами.
Для того, чтобы получать обновления автоматически, следует найти ссылку на работающее в России зеркало ClamAV и добавить в шаблон конфигурационного файла freshclam.conf.in строки:
PrivateMirror https://mirror1.example.ru/clamav
ScriptedUpdates no
Вместо https://mirror1.example.ru/clamav пропишите ссылку на найденный вами репозиторий. Отметим, что для пользователей коммерческой версии Carbonio будет доступен собственный репозиторий ClamAV, с которого пользователи из России смогут без проблем получать свежие обновления. После внесения изменений перезапустите сервер Carbonio, чтобы они вступили в силу.
Также в консоли администратора доступны настройки антиспама, в которых можно настроить пороговые значения оценки для удаления письма и для доставки его в папку "Спам". Данные значения основываются на методах работы SpamAssassin, который использует в работе стандартные правила фильтрации спама, а также вырабатывает собственные на базе Байесовской фильтрации спама. При их прохождении за одни проверки письму добавляются баллы, а за другие вычитаются. Итоговый результат составляет от -20 до 20 баллов, и чем выше результат, тем выше вероятность того, что письмо окажется спамом.
Соответственно настройки пороговых значений позволяют администратору задать процентные значения, по достижении которых подозрительное письмо окажется в папке "Спам", а при каких будет удалено. К примеру, если администратор укажет процент удаления 75, а процент отметки 25, то письма, которые при проверке SpamAssassin наберут от 15 баллов будут удалены, а те, которые наберут от 5 баллов будут помещены в папку "Спам".
В настройке "Префикс темы" можно настроить надпись, которая будет добавляться к теме письма, которое SpamAssassin распознает как спам. К примеру, если в качестве префикса указать >>>SPAM<<<, то письмо с темой "Получите наследство от вашего американского родственника" превратится в ">>>SPAM<<<Получите наследство от вашего американского родственника"
Посмотреть, как электронное письмо прошло проверку new-amavisd можно в исходном коде письма. Данная информация содержится в полях:
Наиболее информативным является поле X-Spam-Status. В нем содержится информация, которая частично дублирует содержимое других полей, а также информация, которая может использоваться для отладки работы спам-фильтра. Среди дублирующейся информации есть данные о том, является ли письмо спамом, полученная им оценка, а также пороговое значение оценки, при котором письмо признается спамом. Кроме того в нем содержится информация о том, какие проверки SpamAssassin дали ненулевой результат, данные об автоматическом обучении и используемой версии SpamAssassin.
Байесовское обучение SpamAssassin в Carbonio основано на двух почтовых ящиках формата spam@example.ru и ham@example.ru, в которые попадают письма, которые пользователи вручную перенесли из папки "Спам" в другую почтовую папку, а также письма, которые не были распознаны как спам, но которые пользователь вручную перенес в папку "Спам". Обучение работает даже если вы осуществляете перенос письма в папку "Спам" и обратно в почтовом клиенте, подключенном по IMAP.
Эти ящики создаются автоматически при установке почтового сервера. Проверить их работу можно пометив любое сообщение как спам или сняв пометку "Спам" с письма. В первом случае отмеченное письмо должно появиться в ящике spam@example.ru, во втором случае оно появится в ящике ham@example.ru. Просмотреть содержимое данных ящиков можно в консоли администратора.
Правила, которые формируются в результате обучения SpamAssassin можно резервировать. Делается это при помощи команды вида /opt/zextras/common/bin/sa-learn --dbpath /opt/zextras/data/amavisd/.spamassassin --backup >> /tmp/sa.db. После выполнения данной операции все правила будут сохранены в файл /tmp/sa.db. Восстанавливается резервная копия с помощью той же утилиты /opt/zimbra/common/bin/sa-learn --dbpath /opt/zimbra/data/amavisd/.spamassassin --restore /tmp/sa.db. После восстановления резервной копии необходимо перезапустить Carbonio.
В Carbonio можно составлять белые и черные списки адресов и доменов. Приходящие в них письма не будут проверяться new-amavisd. Для создания черных и белых списков следует создать файлы whitelist и/или blacklist в папке /opt/zextras/conf/, а затем добавить в них почтовые адреса или домены, которые вы собрались разрешать или блокировать. К примеру, запись вида info@partner.ru разрешит или заблокирует получение писем с конкретного адреса info@partner.ru, а запись вида partner.ru разрешит или заблокирует письма с домена partner.ru.
После того как черный и белый списки будут составлены, следует указать путь к ним в конфигурационных файлах new-amavisd. Для этого откройте шаблон конфигурационного файла /opt/zextras/conf/amavisd.conf.in и добавьте в него следующие строки:
read_hash(%whitelist_sender, '/opt/zextras/conf/whitelist');
read_hash(%blacklist_sender, '/opt/zextras/conf/blacklist');
После сохранения всех изменений необходимо перезапустить сервер Carbonio, чтобы они вступили в силу. При добавлении новых записей в файлы с черными и белыми списками перезагрузка не потребуется. Также рекомендуем внимательно следить за правами доступа к файлам, так как их недоступность для чтения может привести к возникновению ошибок.
Отметим, что среди служб почтового сервера Carbonio именно ClamAV и SpamAssassin потребляют больше всего ресурсов. Это может быть критично в условиях односерверной установки c достаточно большим количеством пользователей. Чтобы снять с сервера данную нагрузку, можно организовать проверку входящей почты на спам и вирусы на отдельном сервере или в облаке с помощью специализированных Mail gateway решений. Среди бесплатных решений одним из лидеров является Proxmox Mail Gateway. Одним из лучших решений для работы с русскоязычной электронной почтой является Kaspersky Mail Gateway.
Когда фильтрация спама и проверка на вирусы начнет производиться на внешнем сервере, можно отключить антивирусную и антиспам-проверки на сервере Carbonio. Сделать это можно в консоли администратора в разделе "Настройки сервера", а также с помощью команд
zmprov -l ms mail.example.ru -zimbraServiceEnabled antispam
zmprov -l ms mail.example.ru -zimbraServiceEnabled antivirus
Еще одним из способов повысить степень защищенности почтового сервера является блокировка вложений писем по их расширению. Блокировка осуществляется на уровне Postfix и позволяет запретить пользователям принимать письма с потенциально вредоносными исполняемыми файлами, архивами и текстовыми файлами с макросами. Настроить список заблокированных расширений можно в Консоли администратора в разделе "Вложения" Глобальных настроек. Помимо списка расширений здесь можно настроить отправку уведомлений пользователям о заблокированном расширении. Также интерфейс Консоли администратора позволяет добавить собственное расширение, если оно не представлено в изначальном списке.
По всем вопросам, связанным c Zextras Suite и коммерческой версией Carbonio, вы можете обратиться к Представителю компании «Zextras» Екатерине Триандафилиди по электронной почте ekaterina.triandafilidi@zextras.com.
Данная инструкция применима как к бесплатной Carbonio Community Edition, так и к коммерческой версии Carbonio.
Проверка электронных писем на спам и вирусы в Carbonio происходит следующим образом: Postfix передает их new-amavisd, который, в свою очередь, передает их ClamAV для проверки на вирусы и SpamAssassin для проверки на спам. После прохождения проверок ClamAV и SpamAssassin отправляют результаты проверок обратно в new-amavisd, который сообщает Postfix были ли обнаружены в письме вирусы или признаки спама. На основе полученных от new-amavisd данных Postfix принимает решение о том, чтобы доставить письмо, отклонить его или доставить, но при этом поместить в карантин или в папку "Спам" почтового ящика адресата.
В консоли администратора можно настроить периодичность обновления антивирусных баз данных ClamAV, блокировку писем с зашифрованными архивами во вложении, а также направление уведомления о заблокированном письме пользователю. В настоящее время из-за санкций пользователям из России недоступно обновление баз данных ClamAV. Обойти это ограничение можно двумя способами: скачивать и устанавливать обновления баз вручную, либо настроить другой источник для скачивания баз данных, который разрешает скачивание пользователям с российскими IP-адресами. Для обновления вручную воспользуйтесь TOR или смените свой IP-адрес на зарубежный с помощью VPN и скачайте следующие файлы:
http://database.clamav.net/main.cvd
http://database.clamav.net/daily.cvd
http://database.clamav.net/bytecode.cvd
После этого поместите их с заменой более ранних версий файлов в папку /opt/zextras/data/clamav/db/. Обращайте внимание на права доступа к файлам с антивирусными базами.
Для того, чтобы получать обновления автоматически, следует найти ссылку на работающее в России зеркало ClamAV и добавить в шаблон конфигурационного файла freshclam.conf.in строки:
PrivateMirror https://mirror1.example.ru/clamav
ScriptedUpdates no
Вместо https://mirror1.example.ru/clamav пропишите ссылку на найденный вами репозиторий. Отметим, что для пользователей коммерческой версии Carbonio будет доступен собственный репозиторий ClamAV, с которого пользователи из России смогут без проблем получать свежие обновления. После внесения изменений перезапустите сервер Carbonio, чтобы они вступили в силу.
Также в консоли администратора доступны настройки антиспама, в которых можно настроить пороговые значения оценки для удаления письма и для доставки его в папку "Спам". Данные значения основываются на методах работы SpamAssassin, который использует в работе стандартные правила фильтрации спама, а также вырабатывает собственные на базе Байесовской фильтрации спама. При их прохождении за одни проверки письму добавляются баллы, а за другие вычитаются. Итоговый результат составляет от -20 до 20 баллов, и чем выше результат, тем выше вероятность того, что письмо окажется спамом.
Соответственно настройки пороговых значений позволяют администратору задать процентные значения, по достижении которых подозрительное письмо окажется в папке "Спам", а при каких будет удалено. К примеру, если администратор укажет процент удаления 75, а процент отметки 25, то письма, которые при проверке SpamAssassin наберут от 15 баллов будут удалены, а те, которые наберут от 5 баллов будут помещены в папку "Спам".
В настройке "Префикс темы" можно настроить надпись, которая будет добавляться к теме письма, которое SpamAssassin распознает как спам. К примеру, если в качестве префикса указать >>>SPAM<<<, то письмо с темой "Получите наследство от вашего американского родственника" превратится в ">>>SPAM<<<Получите наследство от вашего американского родственника"
Посмотреть, как электронное письмо прошло проверку new-amavisd можно в исходном коде письма. Данная информация содержится в полях:
- X-Spam-Flag - Содержит информацию о том, является ли письмо спамом или нет. Может иметь значения Yes или No.
- X-Spam-Score - Содержит информацию о присвоенной SpamAssassin оценке и является числом
- X-Spam-Level - Содержит информацию об уровне "спамности" письма. Отображается в виде звездочек
- X-Spam-Status - Содержит подробную информацию о прохождении проверок в SpamAssassin
- X-Virus-Scanned - Содержит отладочную информацию о прохождении проверки антивирусом
Наиболее информативным является поле X-Spam-Status. В нем содержится информация, которая частично дублирует содержимое других полей, а также информация, которая может использоваться для отладки работы спам-фильтра. Среди дублирующейся информации есть данные о том, является ли письмо спамом, полученная им оценка, а также пороговое значение оценки, при котором письмо признается спамом. Кроме того в нем содержится информация о том, какие проверки SpamAssassin дали ненулевой результат, данные об автоматическом обучении и используемой версии SpamAssassin.
Байесовское обучение SpamAssassin в Carbonio основано на двух почтовых ящиках формата spam@example.ru и ham@example.ru, в которые попадают письма, которые пользователи вручную перенесли из папки "Спам" в другую почтовую папку, а также письма, которые не были распознаны как спам, но которые пользователь вручную перенес в папку "Спам". Обучение работает даже если вы осуществляете перенос письма в папку "Спам" и обратно в почтовом клиенте, подключенном по IMAP.
Эти ящики создаются автоматически при установке почтового сервера. Проверить их работу можно пометив любое сообщение как спам или сняв пометку "Спам" с письма. В первом случае отмеченное письмо должно появиться в ящике spam@example.ru, во втором случае оно появится в ящике ham@example.ru. Просмотреть содержимое данных ящиков можно в консоли администратора.
Правила, которые формируются в результате обучения SpamAssassin можно резервировать. Делается это при помощи команды вида /opt/zextras/common/bin/sa-learn --dbpath /opt/zextras/data/amavisd/.spamassassin --backup >> /tmp/sa.db. После выполнения данной операции все правила будут сохранены в файл /tmp/sa.db. Восстанавливается резервная копия с помощью той же утилиты /opt/zimbra/common/bin/sa-learn --dbpath /opt/zimbra/data/amavisd/.spamassassin --restore /tmp/sa.db. После восстановления резервной копии необходимо перезапустить Carbonio.
В Carbonio можно составлять белые и черные списки адресов и доменов. Приходящие в них письма не будут проверяться new-amavisd. Для создания черных и белых списков следует создать файлы whitelist и/или blacklist в папке /opt/zextras/conf/, а затем добавить в них почтовые адреса или домены, которые вы собрались разрешать или блокировать. К примеру, запись вида info@partner.ru разрешит или заблокирует получение писем с конкретного адреса info@partner.ru, а запись вида partner.ru разрешит или заблокирует письма с домена partner.ru.
После того как черный и белый списки будут составлены, следует указать путь к ним в конфигурационных файлах new-amavisd. Для этого откройте шаблон конфигурационного файла /opt/zextras/conf/amavisd.conf.in и добавьте в него следующие строки:
read_hash(%whitelist_sender, '/opt/zextras/conf/whitelist');
read_hash(%blacklist_sender, '/opt/zextras/conf/blacklist');
После сохранения всех изменений необходимо перезапустить сервер Carbonio, чтобы они вступили в силу. При добавлении новых записей в файлы с черными и белыми списками перезагрузка не потребуется. Также рекомендуем внимательно следить за правами доступа к файлам, так как их недоступность для чтения может привести к возникновению ошибок.
Отметим, что среди служб почтового сервера Carbonio именно ClamAV и SpamAssassin потребляют больше всего ресурсов. Это может быть критично в условиях односерверной установки c достаточно большим количеством пользователей. Чтобы снять с сервера данную нагрузку, можно организовать проверку входящей почты на спам и вирусы на отдельном сервере или в облаке с помощью специализированных Mail gateway решений. Среди бесплатных решений одним из лидеров является Proxmox Mail Gateway. Одним из лучших решений для работы с русскоязычной электронной почтой является Kaspersky Mail Gateway.
Когда фильтрация спама и проверка на вирусы начнет производиться на внешнем сервере, можно отключить антивирусную и антиспам-проверки на сервере Carbonio. Сделать это можно в консоли администратора в разделе "Настройки сервера", а также с помощью команд
zmprov -l ms mail.example.ru -zimbraServiceEnabled antispam
zmprov -l ms mail.example.ru -zimbraServiceEnabled antivirus
Еще одним из способов повысить степень защищенности почтового сервера является блокировка вложений писем по их расширению. Блокировка осуществляется на уровне Postfix и позволяет запретить пользователям принимать письма с потенциально вредоносными исполняемыми файлами, архивами и текстовыми файлами с макросами. Настроить список заблокированных расширений можно в Консоли администратора в разделе "Вложения" Глобальных настроек. Помимо списка расширений здесь можно настроить отправку уведомлений пользователям о заблокированном расширении. Также интерфейс Консоли администратора позволяет добавить собственное расширение, если оно не представлено в изначальном списке.
По всем вопросам, связанным c Zextras Suite и коммерческой версией Carbonio, вы можете обратиться к Представителю компании «Zextras» Екатерине Триандафилиди по электронной почте ekaterina.triandafilidi@zextras.com.
Защита от спама и зловредного ПО в Carbonio
Электронная почта, которая является одним из наиболее распространенных форматов корпоративного общения, как правило становится основной целью злоумышленников, которые используют электронные письма как...
habr.com