|

DrWeb - как за каменной стеной!
Докучаев Дмитрий aka Forb
Спецвыпуск Xakep, номер #035, стр. 035-088-4
AdminMail = email@local.net
## Почтовый адрес администратора, на который будет высылаться уведомление о вирусах.
FilterMail = drweb@local.net
## Почтовый адрес, который будет подставляться фильтром при генерации уведомления.
Quarantine = "/var/drweb/infected"
## Директория для зараженных файлов (по умолчанию, берется из конфига drwebd).
[VirusNotifications]
AdminNotify =yes
RcptsNotify = yes
## Параметры показывают, что при обнаружение вируса будет автоматически разослано уведомление как админу, так и получателю.
MailSystem = CommuniGatePro
## Указание системы, для которой служит конфиг фильтра.
С конфигом разобрались. Впредь я не буду возвращаться к вопросу его редактирования, потому что, как я уже сказал, файл одинаков для всех почтовых систем.
Теперь обратимся к файлам users.conf и addresses.conf. Он имеет очень простой синтаксис и служит для задания адресов, которые не будут подвергаться проверке на вирусы. Подробное описание его настройки лежит в документации и не представляет особой сложности, поэтому не будем обращать на него особого внимания.
В viruses.conf ты можешь задать маску на имя аттача и соответственно вынести "приговор" для него. К примеру, правило
allow deny deny allow "Viruzz"
разрешает отправление уведомления админу, но запрещает отправителю и приемнику. Также кладет зараженный файл, совпадающий с подстрокой "Viruzz", в "карантин".
С настройкой разобрались. Теперь осталось протестировать клиент. Для этого используем параметр --check_only в его запуске. Если все сделано правильно, на мыло админу придет тестовое уведомление.
Теперь займемся коммунигейтом. Для корректной обработки сообщений необходимо проставить фильтр и включить поддержку внешнего обработчика, то бишь клиента. Для этого заходим на WebAdmin во вкладку General->Helpers. Там ставим галочку напротив Content Filtering и указываем полный путь к фильтру сообщений. После этого все заголовки будут передаваться программе.
Теперь зайдем во вкладку Rules. Там создаем новое правило с условием на размер сообщения (я поставил минимальное ограничение на 3 Кб) и перенаправляем сообщение на ExternalFilter. Обзовем правило именем drweb-filter.
Настало время проверить работу перехватчика. Для этого просто зашли вирус на свой локальный адрес. В случае успеха тебе, отправителю и админу придет уведомление о наличии вируса в теле сообщения. Это означает, что все работает как нужно. В противном случае смотри логи коммунигейта и демона - что-то работает не так.
Sendmail для умных админов
Вернемся к нашим баранам. А именно к тому, с чего я начинал свою статью. Для настройки Sendmail важно знать, что демон обязательно собран с поддержкой MilterAPI. Если это так, открываем /etc/mail/sendmail.cf и вписываем туда следующие строки:
## Input mail filters ##
O InputMailFilters=drweb-filter
O Milter.LogLevel=6
## Xfilters ##
Xdrweb-filter, S=inet:3001@localhost, F=T, T=C:1m;S:5m;R:5m;E:1h
## Примечание: флаг T означает откладку доставки, если сервис проверки на вирусы недоступен. Имеется также флаг R, который отказывает в доставке. Если не указывать флагов, сообщение пропускается без всяких проблем.
Назад на стр. 035-088-3 Содержание Вперед на стр. 035-088-5
|