Бронямоллюска

Автор: Андрей Маркелов
Опубликовано в журнале "Компьютерра" №21

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

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

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

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

- лицензия GNU General Public License;
- переносимый POSIX-совместимый код (мы рассмотрим реализации под Windows и Linux);
- проверка файлов на лету (под Linux и FreeBSD), встроенная поддержка Mbox, Maildir и raw-форматов почтовых сообщений;
- поддержка проверки архивов (встроенная поддержка форматов RAR версии 2, 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). Кроме того, вы можете указать, нужно ли вам, чтобы установщик скачал исходные тексты антивируса с официального сайта. По завершении инсталляции Мастер предложит загрузить обновление вирусной базы.

1

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

2

Установка сканера для 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.

Наконец, компилируем исходники и устанавливаем полученные файлы. Если все прошло без ошибок, можно тут же дать команду 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-программы в среде Windows1. С использованием библиотек этого проекта была, в частности, создана GUI-версия сканера под «форточки», но не только. Так, по адресу www.sosdg.org/clamav-win32/index.php можно скачать порт консольной версии, работа с которым практически не отличается от работы с Linux-версией. Поскольку данная версия присутствует уже в виде скомпилированного набора файлов, вам не придется выполнять шаманские действия, описанные выше. Достаточно будет запустить инсталлятор, который создаст по указанному пути структуру каталогов.

3

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


1 См.: Алексей Дубовцев, «Трещина между мирами»//«КТ» #520.
<<События
Все материалы номера
Место для Бога. Работа Провидения >>