Броня моллюска. Обзор и установка антивируса ClamAV

В статье рассмотрены возможности GPL-антивируса ClamAV, процесс его установки в Linux/Windows и интеграция с Sendmail

[Андрей Маркелов (www.markelov.net)]

Броня моллюска. Обзор и установка антивируса ClamAV


Впервые опубликованно в журнале "Компьютерра" N21(545)/2004 г., стр. 34-35

Сегодня никого не надо убеждать в необходимости антивирусной защиты - как рабочей станции, так и почтового/файлового сервера. Но если с коммерческими антивирусными решениями все более-менее ясно, то вот касательно использования открытых продуктов для борьбы со зловредными программами информации, доступной русскоязычному пользователю, значительно меньше. В этой статье я постараюсь несколько заполнить если не информационный вакуум, то уж состояние к нему близкое - точно.

Естественно, что путь к открытому антивирусному программному обеспечению нам придется прокладывать из стана приверженцев GNU/Linux, под которые в первую очередь и создаются такие проекты. По адресу cvs.sourceforge.net/viewcvs.py/openantivirus/mini-faq/av-unix_e.txt читатель может ознакомиться с обширным списком *nix-антивирусов и убедиться, что с десяток там упомянутых продуктов распространяются по лицензии GPL. Возникает вполне здравая мысль: если мы ставим на машину бесплатную ОС с целым комплексом бесплатных же сервисов и служб, почему бы не установить и бесплатный антивирус?

Я не собираюсь оспаривать сложившееся мнение о том, что наиболее эффективными в области защиты информации являются именно коммерческие решения. Тот же Norton AntiVirus, "Антивирус Касперского" или Dr.Web обеспечат комплексную защиту информации и оперативное обновление своих баз. Однако в настоящий момент существует антивирус, который по ряду параметров находится как минимум на уровне коммерческих. Я имею в виду наиболее известный и считающийся лучшим из Open Ware антивирусов - Clam AntiVirus (www.clamav.net). Конечно, отсутствие гарантированной поддержки (хотя для некоторых стран существует и commercial support этого продукта) и некоторое, по сравнению с платными решениями, запоздание выхода обновлений баз по конкретным вирусам на несколько часов - это аргументы не в пользу "раковины моллюска" (именно так можно перевести с английского "clam"). Но, с другой стороны, в определенных случаях, сравнив цену, например, коммерческого решения по защите почтового сервера на пятьдесят ящиков и возможные риски использования некоммерческого ПО, можно сделать выбор в пользу последнего.

Что же представляет собою Clam AntiVirus? Вот его основные особенности:

  • лицензия GNU General Public License;
  • переносимый POSIX-совместимый код - в данной статье я рассмотрю реализации под Windows и Linux;
  • проверка файлов "на лету" (под Linux и FreeBSD), встроенная поддержка Mbox, Maildir и raw-форматов почтовых сообщений;
  • поддержка проверки архивов (встроенная поддержка форматов RAR (2.0), ZIP, GZIP и BZIP2);
  • утилита обновления баз вирусов с поддержкой цифровой подписи.

Частоту обновлений базы вирусов вы можете оценить по ссылке news.gmane.org/gmane.comp.security.virus.clamav.virusdb. Обычно базы обновляются несколько раз в день. Учтите, что в базе вирусов ClamAV некоторые вирусы могут называться иначе, чем в других источниках. Также существует онлайн-версия этого антивируса (www.gietl.com/test-clamav).

Теперь от теории перейдем к практике: рассмотрим работу со сканером ClamAV под Windows и Linux, а также, применительно к Linux, интеграцию с почтовым сервером Sendmail для автоматической проверки корреспонденции.

Установка сканера для ОС Windows

Замечу сразу, что вариант ClamAV для семейства операционных систем Windows включает в себя только функцию сканирования по запросу. То есть вы явно (вручную или встроенным планировщиком) должны дать программе указание сканировать файлы, каталоги или диски для сканирования. В то же время, дистрибутив включает в себя add-on для Microsoft Outlook, который автоматически сканирует почтовые вложения.

Итак, открываем страничку clamwin.sourceforge.net и скачиваем последнюю версию дистрибутива, которая весит чуть более четырех мегабайт. Запускаем exe-файл, предварительно убедившись, что у нас не запущен Outlook. Для установки антивируса в среде Windows NT/2000/XP пользователь может и не обладать правами администратора. В процессе Мастер установки спросит, всем ли зарегистрированным на машине пользователям необходим доступ к антивирусу, продемонстрирует лицензионное соглашение и предложит выбор компонентов. Опциональными являются модули интеграции ClamAV с Windows Explorer (добавляет пункт "Проверить на вирусы" в контекстное меню, вызываемое правой кнопкой мышки) и Microsoft Outlook (рис. 1). Кроме того, вы можете указать, нужно ли вам, чтобы установщик скачал исходные тексты антивируса с официального сайта. По завершении инсталляции Мастер предложит загрузить обновление вирусной базы.

Работать с программой максимально просто. В главном окне программы достаточно выбрать диски или папки, которые необходимо проверить, и нажать кнопку Scan. В том же главном окне присутствуют две иконки, вызывающие окошко с опциями сканера и утилиту обновления базы вирусов. В настройках (рис. 2) можно задать время и частоту обновлений, а также периодичность сканирования файловой системы. Кроме того, есть возможность отправки сообщения по электронной почте в случае обнаружения зараженного файла.

Установка сканера для ОС Linux

Установка сканера под Linux немного сложнее. Я опишу те минимальные действия, которые необходимо выполнить, не залезая слишком глубоко в тонкие настройки. В качестве тестовой системы будем использовать Red Hat Enterprise Linux 3. Для начала необходимо скачать с сайта проекта clamav.sourceforge.net архив исходников последней стабильной версии. На момент написания статьи - это clamav-0.70.tar.gz. Выполняем следующие команды:

groupadd clamav - добавляем новую группу пользователей;
useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav - добавляем
пользователя, из под которого будем запускать антивирус;
touch /var/log/freshclam.log - создаем файл, в который будут писаться
логи по обновлениям;
chown freshclam.log clamav - даем на него права;
tar xvf clamav-0.70.tar - разархивируем исходные тексты;
cd clamav-0.70 - заходим в полученный каталог;
./configure --enable-milter - создаем конфигурационные файлы,
если хотим компилировать антивирус с поддержкой проверки почты
(в случае использования почтовика Sendmail), если в этом необходимости нет,
то просто ./configure.

Затем компилируем исходники и устанавливаем полученные файлы(командами make и make install соответственно). Если все прошло без ошибок, можно тут же дать команду clamscan -r каталог для рекурсивной проверки файлов каталога. С ключами, которые можно использовать при работе со сканером, вы можете ознакомиться, вызвав справку.

Следующее, что нужно сделать - это обеспечить автоматическое получение обновлений баз с сигнатурами вирусов. Даем команду crontab -e и в открывшемся редакторе (по умолчанию - vi) набираем строку:

1 * * * * /usr/local/bin/freshclam -quiet.

Теперь ClamAV будет ежечасно проверять наличие обновлений на сайте, и при их появлении - скачивать.

Осталось "прикрутить" антивирус к почтовой системе. В качестве примера возьмем Sendmail. Для начала убедитесь, что в системе установлен пакет sendmail-devel. Добавьте в файл /etc/mail/sendmail.mc строку:

INPUT_MAIL_FILTER(`clmilter',`S=local:/var/run/clmilter.sock,
F=, T=S:4m;R:4m')dnl
define(`confINPUT_MAIL_FILTERS', `clmilter')

и перекомпилируйте его командой make -C /etc/mail. Далее проверьте наличие в /usr/local/etc/clamav.conf ключей:

LocalSocket /var/run/clamd.sock
ScanMail
StreamSaveToDisk
и отсутствие ключа
Example

Добавьте в строку запуска clamav-milter и clamd при старте системы в /etc/rc.d/rc.local:

/usr/local/sbin/clamd
/usr/local/sbin/clamav-milter -lo /var/run/clmilter.sock
Теперь можно попробовать перезапустить машину и отправить самому себе какое-нибудь тестовое сообщение. Убедиться в том, что почта была проверена антивирусом, можно, найдя в полном заголовке этого письма строчку вида:
X-Virus-Scanned: clamd / ClamAV version 0.70, clamav-milter version 0.70j

Вероятно, вы знаете о Cygwin (www.cygwin.com) - среде, позволяющей запускать Linux-программы в среде Windows . Так вот, помимо того, что используя библиотеки этого проекта была создана GUI-версия сканера под "форточки", по адресу www.sosdg.org/clamav-win32/index.php можно также скачать порт консольной версии, работа с которым практически не отличается от работы с Linux-версией. Поскольку данная версия присутствует уже в виде скомпилированного набора файлов, вам не придется выполнять шаманские действия, описанные в предыдущем разделе. Достаточно будет запустить инсталлятор, который создаст по указанному пути структуру каталогов.

Пожалуй, этой информации хватит для того, чтобы начать эксплуатировать сей продукт, рожденный энтузиастами open source. А чтобы меня не обвинили в предвзятом отношении к открытому программному обеспечению (которое, в том числе и ClamAV, я сам активно продвигаю и использую на вверенных мне по работе "боевых" серверах), хочу дать ссылку на список крупных компаний и организаций, использующих Clam AntiVirus: clamav.sourceforge.net/whos.html#pagestart. Возможно, мысль о том, что такое большое число IT-специалистов доверило заботу об информационной безопасности именно этому антивирусу, заставит вас приглядеться к ClamAV повнимательнее.

Андрей Маркелов.
2004 г.

[ опубликовано 02/06/2004 ]

Андрей Маркелов (www.markelov.net) - Броня моллюска. Обзор и установка антивируса ClamAV   Версия для печати