|
Описание Бесплатный Clamav, Kaspersky Anti-Virus (AVP), Sophos Anti-Virus, Trend Micro, Dr.Web и SpamAssassin внешний фильтр (плагин) для почтового сервера CommuniGate Pro. Используется для сканирования всех сообщений, которые проходят через почтовый сервер CommuniGate Pro www.stalker.com
Clamav - бесплатный антивирус:
www.clamav.net
Основной сайт для cgpav:
program.farit.ru Как программа работает
Программа читает запросы со своего стандартного ввода в форме:
После этого она разбирает эту строку на части и добавляет новый элемент
в список-структуру, содержащий seqnum и filename. Программа создает
дочерний процесс для каждого элемента из списка, который посылает
запрос, включающий полное имя файла, составленное из
cgpro_home + / + filename, антивирусному демону и ждет результатов
сканирования. В зависимости от результата сканирования программа посылает CommuniGate Pro различные строки ответа.
Когда сообщение чистое:
Когда сообщение заражено вирусом, программа печатает что-то типа: Она также может просто тихо удалять сообщения без доставки, выдав заголовок DISCARD или добавлять специальные заголовки с помощью команды ADDHEADER - когда обнаружены вирус или спам, позволяя конечному пользователю фильтровать такие сообщения в своей собственной почтовой программе. Конечно, нормальные пользователи не захотят получать вирусы, так что infected_action будет reject или discard, а вот в спам программа может записать и "хорошие" сообщения, так что лучше оставить окончательное решение самому пользователю, spam_action как addheader. Однако, могут быть проблемы с некоторыми глупыми почтовыми клиентами типа Microsoft Outlook Express, который вроде не умеет фильтровать по заголовкам. В таком случае пользователь может просто создать правило, чтобы все помеченные вышеупомянутым заголовком складывались в определенную папку. Её можно будет посмотреть с помощью IMAP или через почтовый web-интерфейс.
Также программа может посылать дополнительные сообщения с уведомлениями
как отправителю зараженного письма, так и получателям, записывая
их в директорию Submitted CommuniGate Pro. Модуль PIPE
CommuniGate Pro периодически сканирует эту директорию и отправляет все
все сообщения из нее. Если программа обнаружила вирус, то она записывает имя вируса, e-mailы отправителя и получателей в лог-файл.
Когда в программе происходят временные ошибки, то она отвечает вроде
этого: Если количество последовательных REJECTED превышает значение max_errors, заданное в конфигурационном файле, то программа начинает отвечать ОК, пока не возобновится нормальное функционирование антивирусного демона. Для сканирования сообщений на спам используется стандартный демон spamd из дистрибутива SpamAssassin. По умолчанию добавляется заголовок X-Spam-Status в сообщение при превышении очков, заданных required_hits, позволяя его потом отфильтровать в клиентском почтовом клиенте или с помощью правила в CommuniGate Pro переправить его в отдельную папку. Кроме того можно определить действие при достижении extra_spam_score, например, тихо удалять сообщение(discard). Обычно его устанавливают достаточно большим, чтобы отсекался явный спам, не засоряя сервер. Это полезно, т.к. большинство пользователей никак не используют вышеупомянутый заголовок. Пример web-интерфейса на php для изменения настроек антиспамового фильтра прилагается. Пользователи могут менять спам хиты, выбирать различные действия, отключать некоторые тесты. Также они могут создавать правило для сохранения спам в специальную папку одним кликом мышки. Установка
Распакуйте исходники: Запустите ./configure
Вы можете изменить параметры, используя опции:
Например: Вы можете опустить эти опции, программа выведет меню для выбора и попытается определить директории сама.
Затем: Исполняемый файл cgpav будет скопирован в корневую директорию cgpro_dir, упомянутую выше, и конфигурационный файл cgpav.conf - в директорию Settings внутри этой корневой директории. Конечно, вы можете не делать make install, а скопировать эти файлы куда-нибудь в другое место самостоятельно. Установка антивирусного демона и SpamAssassin Скачайте тестовый вирус с сайта www.eicar.org Запустите Install в дистрибутивах kavdaemon или sophos, следуйте инструкциям. CLAMAV:
Некоторые дистрибутивы Linux (.deb и .rpm пакеты) и другие Unix
уже содержат clamav. Но его всегда можно скачать
с clamav.sourceforge.net,
затем запустить ./configure, make, make install. КАСПЕРСКИЙ (kavdaemon):
Добавьте путь к директории Queue Communigate Pro в параметры стартового файла
kavdaemon (/etc/init.d/kavdaemon):
Или просто добавьте этот путь в AvpUnix.ini или defUnix.prf
[Object]->Names со значком звездочки впереди: Запустите kavscanner, чтобы он нашел тестовый вирус. SOPHOS: Создайте группу sweep и пользователя sweep.
Инсталлятор может не найти некоторые переменные окружения вроде MANPATH,
установите их:
Создайте симлинк: Запустите sweep, чтобы он нашел тестовый вирус.
Скачайте и установите демон sophie.
Согласно инструкциям на время написания, запустите ./configure,
скопируйте sophie.cfg и sophie.savi в /etc и отредактируйте их.
sophie.savi.individual - неплохая основа для sophie.savi
Вы можете скомпилить программу scan_file.c в sample_appls/sock, чтобы протестировать демон. TREND MICRO:
Положите libvsapi.so и файл с паттернами вирусов в директорию /etc/iscan.
Триальные версии можно скачать с
www.antivirus.org DR.WEB:
Установите имя сокета в /etc/drweb/drweb32.ini: SPAMASSASSIN: Скачайте SpamAssassin отсюда: www.spamassassin.org.
Скомпилируйте: Или скачайте rpm или deb пакеты для вашего дистрибутива.
Протестируйте работоспособность: Проверьте, что /tmp/sample-spam.txt помечен как спам. Конфигурирование
Конфигурационный файл cgpav.conf
должен располагаться в директориях /var/CommuniGate/Settings,
/var/CommuniGate или /etc. Если программа не сможет найти cgpav.conf, или если вы закоментируете какой-нибудь обязательный параметр в нем, то программа будет использовать значения по умолчанию из cfg.h Большинство значений из cgpav.conf являются достаточными для установок cgpro и антивирусов по умолчанию. Нужно будет установить пароль для доступа к базе данных, если вы будете пользоваться профилями в базе.
Чтобы включить русский язык в уведомлениях, пометьте Некоторые опции могут располагаться на нескольких строках, обычно это перечисления через запятую. Чтобы продлить её на следующую строку, введите имя параметра в начале строки. Используйте столько строк, сколько нужно. Полезным может оказаться внесение сеток, с которых отправляют почту ваши пользователи, в local_networks. Тогда вся почта, приходящая с них, не будет проверяться на спам, значительно уменьшая нагрузку на сервер. Только не забудьте исключить из них все адреса релеев, откуда может пересылаться входящая почта. Тестирование
Вы можете получить больше отладочной информации, если сконфигурируете
cgpav в режиме DEBUG: Скопируйте тестовый вирус (например, eicar.com) в директорию /var/CommuniGate
Запустите фильтр из командной строки ./cgpav
Если вы видите что-то типа
Если вы видите только лишь
Касперский антивирус: Установка в CommuniGate Pro Прочитайте документацию с их сайта: www.stalker.com
SETTINGS->Rules
Нажмите на Edit
Action
Перейдите в Settings->General->Helpers
Пометьте Content Filtering
Оставьте параметры "Time-out" и
"Auto-Restart в состоянии disabled. Конфигурирование SpamAssassin Проверки SpamAssassin по умолчанию выключены. Вы должны быть очень осторожны, потому что он может отвергать некоторые полезные сообщения. Это не пятиминутное дело! После установки SpamAssassin вы должны запустить какую-нибудь быструю базу данных. MySQL www.mysql.com - наилучший выбор, кроме того поддерживается PostgreSQL. Нужно будет установить libmysqlclient-dev или postgresql-dev пакеты, а также Perl DBI и DBD модули. Далее рассматривается использование MySQL, вы должны настроить конфигурацию для другой базы данных соответствующим образом.
В базе мы будем хранить собственные настройки для каждого пользователя.
Создайте в базе таблицу userpref:
Вы можете найти файл userpref.sql в директории spam/sql. Скачайте и установите Perl модули DBI и DBD для вашей базы данных search.cpan.org. Или установите их из готовых пакетов или rpm.
Перейдите в конфигурационную директорию SpamAssassin:
/etc/mail/spamassassin или
/etc/spamassassin. Добавьте в local.cf следующие строки:
user_scores_dsn DBI:driver:database:hostname[:port] Измените его соответственно для своей базы данных.
Если вы будете использовать spamd на том же компьютере, то соединение
лучше проводить через unix сокет, если на удалённом, то придётся
использовать tcp сокет. Установите соответствующее значение в cgpav.conf:
Если вы используете unix сокет, то в опциях запуска spamd поставьте примерно
следующее:
Проверьте функционирование spamd с помощью программы spamc:
Создайте файл 50_whitelist.cf в конфигурационной директории SpamAssassin
и добавьте домены своих соседей провайдеров, чтобы иметь с ними меньше
проблем:
Распечатайте файл с очками по умолчанию всех правил SpamAssassin,
ищите их здесь:
www.spamassassin.org
Вы также можете создать файл 50_blacklist.cf для добавления
известных спаммерских доменов:
Также вы можете создать свои собственные правила, используя
регулярные выражения.
Замечание: очки могут быть и отрицательными.
Файл 25_head_tests_ru.cf:
Файл 25_body_tests_ru.cf:
Чтобы реализовать регистронезависимые регулярные выражения (ключик i),
вы должны вставить в модули SpamAssassin EvalTests.pm и PerMsgStatus.pm
установку локали KOI8-R (обычно перед первым use):
Установите web-интерфейс для того, чтобы пользователи могли сами
настраивать required_hits, черный и белый списки. Пример для php
доступен в директории spam/www/php. В этом примере происходит
авторизация через 106 порт CommuniGate Pro.
Вы можете использовать любое другое средство, или интерфейс к базе
данных. Известные проблемы Если вы включаете-выключаете антивирус в Content Filtering в CommuniGate Pro Settings->Helper, старый процесс cgpav может оставаться zombie. Вы можете перегрузить CommuniGate, чтобы убить их. Лицензия Лицензия свободная - GPL. Однако вы должны приобрести собственную лицензию для Kaspersky Anti-Virus или Sophos Anti-Virus.
Если вы используете демон от Касперского, фильтр не будет работать без
ключевого файла. Вы можете заполнить анкету и получить триальный ключик,
связавшись с ними. Советы по Касперскому
Снова, добавьте путь к директории Queue CommuniGate в стартовый скрипт
(/etc/init.d/kavdaemon) и в скрипт для обновлений
(/opt/AVP/kavupdater.sh):
Добавьте строку UpdatePath в AvpUnix.ini для скачивания вирусных обновлений
(может запускаться по cron): Не расходуйте зазря ресурсы, меняя -I0 (только сканирование на вирусы) на -I2 (лечение вирусов). Файлы в сообщениях запакованы MIME и антивирус не сможет вылечить их. Также CommuniGate не любит, когда кто-то изменяет размер посланных сообщений. Измените следующие установки в defUnix.prf:
[Options]
[Report] Включайте лог только на стадии тестирования. Советы по Sophos Я включил скрипт для обновления вирусных баз sophosupdate.pl в демон sophie. Возможно, вам придется скачать отсутствующие Perl модули, чтобы запустить его, вероятнее всего, Archive::Zip. Поищите их на сайте вашего дистрибутива или на search.cpan.org Советы по SpamAssassin В директории cron вы можете найти программу delete_old_mail, с помощью которой можно автоматически удалять сообщения больше какого-то периода из папки Spam, куда складываются спамовые сообщения. Модуль CLI.pm для неё находится здесь: www.stalker.com/CGPerl
Если вы используете Bayes фильтр в SpamAssassin, внимательно проверьте
следующие опции в его настройках:
Будьте внимательны к тем тестам, которые могут реагировать на русские
буквы как на "плохие" символы.
Названия тестов, вызвавших срабатывание, пишется в почтовом заголовке
X-Spam-Status. Анализируйте их, протестировав сообщение с помощью
команды Если какой-то из тестов работает неправильно, отключите его или дайте маленький score. Как проверять сообщения для других серверов Например, у вас есть сервер mail.domain.ru с установленным антивирусным фильтром и вы хотите защитить другой почтовый сервер alpha.domain.ru.
В Settings->Router добавьте строку В DNS записи добавьте MX строки:
Логи
Программа сохраняет информацию о найденных вирусах,
используя стандартный syslog через local0 facility. Вы можете изменить log_facility в cgpav.conf, чтобы использовать другой facility (mail, local0 - local7)
Если вы хотите перенаправить сообщения о вирусах в другой файл,
отредактируйте файл /etc/syslog.conf Авторы
Программирование: Damir Bikmukhametov и Farit Nabiullin. |