Денис Колисниченко - Linux-сервер своими руками
Теперь перейдем к демону AVP. В отличие от сканера, демон AvpDaemon загружает антивирусные базы в память всего один раз – при запуске. В результате чего значительно сокращается время проверки объектов. Эта особенность определяет сферу применения демона AVP: почтовые, файловые и Web-серверы, где требуется быстро проверять поступающие объекты.
При установке в каталоге /etc/init.d будет создана ссылка avpdaemon на файл /opt/AVP/avpdaemon.rh, если вы используете Redhat-подобную операционную систему. Поэтому демон AVP будет загружаться автоматически при запуске системы. Сейчас можно выполнить его запуск вручную, введя команду:
/etc/init.d/avpdaemon start
Определить всевозможные параметры антивируса AVP можно с помощью программы AVPTuner. Запустите ее командой: /opt/AVp/AVPTuner (см. рис. 22.4).
Рис. 22.4. Программа AVPTuner
После запуска данной программы вам будут доступны следующие закладки: Location, Objects, Scanning, Actions, Options, Mail.
На закладке Location задаются каталоги, которые бы вы хотели проверить. Добавить еще один каталог можно, нажав на кнопку «Add folder». Знак плюса возле имени каталога означает включение его в область сканирования, минуса — исключения его из области сканирования. Изменить режим можно с помощью клавиши «Пробел». Для каждого каталога можно задать режим проверки, а также файлы, которые нужно проверить (программы, все файлы, по желанию пользователя). При выборе файлов для сканирования я рекомендую использовать режим Smart. При этом режиме проверяются все файлы, способные содержать код вируса.
На закладке Objects указываются все типы объектов, которые вы хотите проверить на наличие вирусов.
Параметры сканирования можно задать на закладке Scanning, а на закладке Actions можно определить вид действия при обнаружении инфицированного объекта.
На закладке Options можно указать дополнительные параметры сканирования. Я рекомендую включить режим эвристического анализа (Code Analyzer). Режим избыточного сканирования (Redundant Scanning) лучше не включать, поскольку значительно увеличивается время сканирования.
На закладке Mail можно включить режим отправки отчетов с результатами сканирования администратору или любому другому пользователю.
Автоматическое обновление антивирусных баз происходит с помощью программы AvpUpdater. Для автоматического обновления через Интернет используйте команду:
/opt/AVP/AvpUpdater –ui=ftp://ftp.kasperskylab.ru/updates
Данную команду полезно добавить в расписание демона crond. Создайте файл update_avp:
#!/bin/sh
/opt/AVP/AvpUpdater –ui=ftp://ftp.kasperskylab.ru/updates
Поместите этот файл в каталог /etc/cron. daily. Измените права доступа к этому файлу, разрешив его выполнение. Таким образом, каждый день вы будете получать обновленный файл daily.avc, содержащий информацию о вирусах, найденных сегодня. Каждую неделю будут обновляться еженедельные антивирусные базы, а также основные антивирусные базы по мере их выхода. Размеры антивирусных баз небольшие (кроме основных), поэтому можете особо не беспокоиться о трафике.
22.2. Проверка входящей и исходящей почты
Программа AVPKeeper выполняет поиск и удаление вирусов в сообщениях электронной почты. В состав AVP входят версии программы AVPKeeper, предназначенные для работы с такими агентами доставки почты (МТА): sendmail, postfix, qmail. Поскольку в книге рассматривается только программа sendmail, я рассмотрю сопряжение AVPDaemon только с этой программой.
AVPKeeper может работать в двух режимах: локальном и глобальном. Давайте разберемся, для чего предназначены эти режимы. Первый подойдет только в случае, если вы администрируете небольшой почтовик, который обслуживает небольшое количество пользователей. При выборе локального режима работы будут проверяться только входящие сообщения, то есть только те, которые приходят извне (из Internet) нашим пользователям. В этом случае предполагается, что в нашей сети нет вирусописателей, которые распространяют вирусы.
Глобальный режим работы больше подходит для почтовых серверов больших организаций. При этом режиме проверяется не только входящая почта, но и исходящие сообщения: вдруг среди наших пользователей есть распространители вирусов.
Надежнее работает локальный режим, поэтому мы будем использовать именно его. Принципиально большой разницы в настройках нет: скоро вы сами убедитесь в этом.
Начнем с установки программы AVPKeeper. В состав обычного дистрибутива AVP, который мы установили ранее эта программа не входит. Для ее установки скопируйте файл kavselinux.tgz из каталога /mnt/cdrom/Products/KAVLinux в какой-нибудь каталог вашей файловой системы. Затем установите нужные права доступа (нужно сбросить право на выполнение) и распакуйте его:
chmod 444 kavselinux.tgz
tar zxvf kavselinux.tgz
После этого запустите инсталлятор kavinstaller. В процессе установки ВНИМАТЕЛЬНО отвечайте на задаваемые инсталлятором вопросы. Во-первых, инсталлятор обнаружит, что уже установлена предыдущая версия AVP и спросит, что с ней делать. Нужно ответить «Оставить», чтобы предыдущая версия осталась на диске. Затем инсталлятор спросит вас, какие версии AVPKeeper нужно устанавливать. Ответить Да (у) нужно только на вопрос:
В пакете /KAVLinux/kavs/kavkeeper-sendmail-linux-3.5.136.tgz обнаружен kavkeeper-sendmail (KAV Keeper for sendmail), версия 3.5 build 135. Do you want to install it? у
Затем вам будет задана серия вопросов о том, что делать со старыми файлами:
Found [file] What do you want doing with this file? (Overwrite/Write with new extension/Skip)
Нужно ответить w – перезаписать с новым расширением. Потом, в случае некорректной установки, у вас будет возможность все восстановить. После установки нового антивируса — KAV (KasperskyAntiVirus) названия сканера, демона, программы настройки изменятся. Для сканирования нужно использовать программу kavscanner, для настройки – kavtuner. В качестве демона будет использоваться kavdaemon. Для автоматического обновления теперь нужно использовать программу kavupdater. Две программы — AVP и KAV — прекрасно «уживаются» на одном компьютере: поэтому я настоятельно не рекомендую удалять предыдущую версию.
Теперь перейдем к настройке sendmail. Прежде всего, остановите sendmail командой:
/etc/init.d/sendmail stop
После этого перейдите в каталог /opt/AVP/kavkeeper и скопируйте каталог sendmail-cf в каталог /usr/share. Затем выполните одну из следующих команд:
m4 kav_glb.mc > /etc/sendmail.cf m4 kav_loc.mc > /etc/sendmail.cf
Первую команду нужно выполнить, если вам нужен глобальный режим работы программы AVPKeeper, а вторую — если необходим локальный режим. Как видите, нет большой разницы в настройке режимов AVPKeeper.
Примечания.
1. Перед выполнением этих команд скопируйте куда-нибудь старый /etc/sendmail.cf — он вам еще пригодится.
2. Файлы kav_glb.mc и kav_loc.mc нужно использовать только для экспериментального запуска. После того, как все нормально будет работать, отредактируйте данные файлы и внесите параметры, специфичные для вашей машины. Конечно, если вы когда-нибудь устанавливали такие параметры. В большинстве случаев данные файлы подойдут для большинства машин.
В качестве примера приведу листинг файла локального режима работы kav_loc.mc (см. листинг 22.2).
Листинг 22.2. Файл kav_loc.mcdivert(-1)
dnl This is the macro config file used to generate the /etc/sendmail.cf
dnl file. If you modify that file you will have to regenerate the
dnl /etc/sendmail.cf by running this macro config through the m4
dnl preprocessor:
dnl
dnl m4 /etc/sendmail.me > /etc/sendmail.cf
dnl
dnl You will need to have the sendmail-cf package installed for this to
dnl work.
include('../m4/cf .m4')
define('confDEF_USER_ID',"8:12")
OSTYPE('linux')
undefine('UUCP_RELAY' )
undefine('BITNET_RELAY')
define('confAUTO_REBUILD')
define('confTO_CONNECT', '1m')
define('confTRY_NULL_MX_LIST',true)
define('confDONT_PROBE_INTERFACES',true)
dnl define('KAVKEEPER_MAILER', '/usr/local/bin/kavkeeper')
dnl define('KAVKEEPER_CONFIG','/etc/kavkeeper.ini')
dnl define('KAVKEEPER_LOCAL_MAILER', 'mail.local')
FEATURE('smrsh',Vusr/sbin/smrsh')
FEATURE(mailertable)
FEATURE('virtusertable', 'hash-o /etc/mail/virtusertable')
FEATURE(redirect)
FEATURE(always_add_domain)
FEATURE(use_cw_file)
FEATURE(local_kav)
MAILER(smtp)
FEATURE('access_db')
FEATURE('blacklist_recipients')
dnl We strongly recommend to comment this one out if you want
dnl to protect
dnl yourself from spam. However, the laptop and users on
dnl computers that do
dnl not hav 24x7 DNS do need this.
FEATURE('accept_unresolvable_domains' )
dnl FEATURE('relay_based_on_MX')
Если вас по каким-либо причинам не устраивает стандартный файл kav_loc.mc, например, вы используете специфические настройки, внесите строки, выделенные жирным шрифтом, в свой mc-файл и выполните команду:
m4 mysystem.mc > /etc/sendmail.cf
При использовании глобального режима, в свой mc-файл нужно внести следующие строки:
dnl define('KAVKEEPER_MAILER', '/usr/local/bin/kavkeeper')
dnl define('KAVKEEPER_CONFIG','/etc/kavkeeper.ini')
define('KAV_LOCAL_HACK' )