Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #35, ОКТЯБРЬ 2003 г.

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