Содержание


Организация антивирусной защиты в Linux c помощью антивируса ClamAV

Часть 1

Comments

Серия контента:

Этот контент является частью # из серии # статей: Организация антивирусной защиты в Linux c помощью антивируса ClamAV

Следите за выходом новых статей этой серии.

Этот контент является частью серии:Организация антивирусной защиты в Linux c помощью антивируса ClamAV

Следите за выходом новых статей этой серии.

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

Компьютерные вирусы и Linux

Если спросить у среднестатистического пользователя, что он знает о компьютерных вирусах для MS Windows, то наверняка можно будет услышать небольшую лекцию с несколькими примерами из жизни. Если же задать подобный вопрос про Linux, то ответ, скорее всего, будет кратким и сведется либо к категорическому «нет» либо к более честному варианту «не знаю, не интересовался».

Действительно, ситуация с Linux и вирусами достаточно неоднозначная, кто-то утверждает, что вирусов нет, кто-то что они есть, но так как только настоящие «гуру» используют Linux, то и вирусы им не страшны.

Если обратиться к фактам, то в Wikipedia перечислены несколько десятков вирусов, предназначенных именно для поражения Linux-систем. При этом большая часть из них написана в 2008 году, а в последнее время новых вирусов зарегистрировано не было. Поэтому действительно, в сравнении с огромным «зоопарком» вирусов для Windows, для Linux существует крайне мало вирусов, что связывается с несколькими причинами:

  • низкая распространенность самой ОС;
  • большое количество дистрибутивов и различия между ними;
  • в Linux настоятельно (вплоть до фактического запрета) не рекомендуется работать в системе с правами суперпользователя.

Небольшое (по сравнению с Windows) количество пользователей Linux и большое (опять же по сравнению с Linux) количество дистрибутивов Linux со своим особенностями делают нерентабельным создание вируса для конкретного дистрибутива, так как написание «хорошего» вируса требует финансовых затрат и привязки к низкоуровневым особенностям «жертвы».

Отдельно стоит сказать о запуске вирусов внутри известного эмулятора Wine, так как это вполне возможная ситуация. Если создать некий вирус, удаляющий системный файлы, то он сможет запуститься (естественно не сам, а с помощью пользователя или сценария) и нанести определенный ущерб, так как программы под Wine видят файловую систему такой же, как и под Windows. Но так как «системный диск» Wine находится в каталоге пользователя, то для восстановления работоспособности потребуется только переустановить Wine и нанесен скорее всего будет только «косметический» ущерб. Если же вирус использует для своей маскировки специфические особенности ОС, то он, скорее всего, просто не сможет себя активировать. Так что, чем изощреннее Windows-вирус, тем меньше угрозы он представляет для Linux. Поэтому бояться Windows-вирусов в Linux пока не стоит, и вряд ли они когда-либо будут представлять настоящую угрозу.

В тоже время от действий самого пользователя не защищен ни один файл, владельцем которого он является. Сценарий, состоящий из одной строки, может уничтожить все файлы в домашнем каталоге пользователя. Поэтому перед запуском любого сценария, даже полученного из проверенного источника, стоит внимательно изучить его с помощью команды man, если какие-то действия, выполняемые в нем, кажутся подозрительными. В Linux вообще не рекомендуется запускать код, полученный из ненадежных источников, а всегда пользоваться официальными репозиториями. Конечно, в Linux-сообществе возникали прецеденты с попаданием зараженных пакетов в официальные репозитории, но это скорее «исключительная ситуация», а не правило, как в случае с хранилищами «пиратского» или shareware ПО для ОС Windows.

Вирусы распространяются не только благодаря непродуманным действиям пользователя, но и из-за непреднамеренных ошибок в ПО, однако и здесь Linux-сообщество находится «на высоте» благодаря использованию open-source ПО. Ошибки в открытом ПО быстрее становятся известными и не менее быстро исправляются, так как в распределенном сообщество нельзя утаить информацию об ошибке, как это может сделать крупная корпорация с коммерческим ПО.

Тем не менее, разговоры о вирусной угрозе для Linux не прекращаются, и определенную роль в этом играют сами разработчики антивирусного ПО, которые хотят захватить новый сегмент рынка. Однако до сих пор их маркетинговая политика была не слишком успешна, так как, во-первых, аудитория Linux-пользователей – это чаще всего люди с опытом IT, а во-вторых, на Linux еще не возникало настоящих вирусных эпидемий, которые обычно и вызывают всплеск интереса к антивирусам.

Еще одна проблема состоит в том, что предлагаемые антивирусные решения для Linux не обладают точным позиционированием на рынке. Да, они ищут вирусы для Linux, однако большинство вирусов для Linux – это backdoor и rootkit-программы, которые в обычном состоянии не должны выдавать свое присутствие и используются злоумышленниками только для получения доступа к системе, желательно с правами суперпользователя. И так как они не ведут «активных» боевых действий, то и обнаружить их крайне сложно, потому что «вредоносная» сущность rootkit-программы проявляется только тогда, когда злоумышленник уже получил доступ к системе и нанес ей определенный ущерб.

После изучения представленной информации может сложиться впечатление, что «вирусов для Linux не существует и поэтому антивирус тоже не требуется». Однако, главная функция антивируса в Linux, как ни странно, это обеспечивать безопасность Windows. При подозрении, что usb-накопитель заражен вирусом, безопаснее всего подключить его к Linux-системе и «вылечить», прежде чем подключать этот накопитель в Windows. Известный прием: отключить автозапуск и сразу проверить usb-накопитель при помощи антивируса, может не сработать в зависимости от различных обстоятельств, например, если система уже заражена ила антивирус отключился вместе с автозапуском.

Поэтому далее будет рассмотрен пример использования в Linux антивируса ClamAV, предназначенного для работы в связке с почтовым сервером, чтобы не допустить эпидемии вирусов, распространяющихся через почту.

Установка, настройка и привязка ClamAV с Mozilla Thunderbird

Clam AntiVirus - это свободный антивирус, доступный в версиях для Windows, Linux, BSD и MacOS, основная задача которого — интеграция с почтовыми серверами для проверки файлов, прикрепленных к сообщениям. Этот продукт распространяется по лицензии GPL, поэтому при желании можно ознакомиться с его исходным кодом. Хотя ClamAV не входит в пятерку лучших антивирусов планеты (в 2009 он был лишь на 43 месте из 55, согласно тестам Virus.gr), но для домашнего пользователя он будет вполне подходящим выбором.

ClamAV включает в себя три компонента:

  • многопоточный демон для сканирования файлов и почты «на лету»;
  • сканер (управляемый из командной строки);
  • утилита обновления через интернет.

Также предлагаются дополнительные возможности:

  • утилита для создания пакета антивирусных сигнатур;
  • графический интерфейс пользователя для различных оконных сред.

Сначала потребуется установить необходимые пакеты, которые можно загрузить из официальных репозиториев. Для установки обязательны пакеты clamav, clamav-daemon, также можно установить один из пакетов clamav-frshclam или clamav-data. В листинге 1 приведены команды для установки ClamAV на платформу Ubuntu:

Листинг 1. Установка ClamAV
установка базового пакета:
# apt-get install clamav
установка демона:
# apt-get install clamav-daemon
установка пакета с описаниями вирусов:
# apt-get install clamav-data

В пакете clamav-data находятся сигнатуры вирусов, которые необходимо регулярно обновлять для поддержания актуальности антивирусного ПО. Эта возможность используется на компьютерах с ограниченным доступом в Интернет, а при наличии постоянного подключения к Интернет используется пакет clamav-freshclam. Существует пакет clamav-getfiles, который может создавать пакет clamav-data, собирая сигнатуры, уже установленные на системе. Таким образом, можно экономить Интернет-трафик, установив на один компьютер freshclam и clamav-getfiles и периодически собирая пакет clamav-data, который будет устанавливаться на другие системы.

При установке пакета freshclam обновление базы с сигнатурами будет выполняться при каждом запуске системы. Если ClamAV устанавливается на сервер, то понадобится установить расписание для выполнения обновлений, например, при помощи cron или запускать обновление вручную командой # freshclam.

Теперь необходимо изменить настройки демона ClamAV с помощью команды:

# dpkg-reconfigure clamav-base

Конфигурационная утилита задаст с десяток вопросов, значения в которых можно оставить по умолчанию, за исключением типа сокета, для которого нужно указать тип TCP, и IP-адрес сервера, где необходимо указать localhost. Изменения можно внести и вручную в файл /etc/clamav/clamd.conf. После этого систему можно перезагрузить и проверить работу антивируса. Простейшая команда для запуска сканирования выглядит так:

# clamscan /

В конце потребуется установить расширение для интеграции ClamAV c Thunderbird. В Thunderbird для проверки входящей почты используется расширение clamdrib 0.2, которое можно загрузить по этому адресу. Установка xpi-файла выполняется через меню Thunderbird (Tool (Инструменты) -> Add-ons (Дополнения) -> Extensions (Расширения) -> Install (Установить)).

Для проверки интеграции ClamAV и Thunderbird можно проверить связь между ClamAV и Thunderbird через меню Thunderbird (Tool (Инструменты) -> Add-ons (Дополнения) -> Extensions (Расширения) -> clamdrib -> Preferences (Настройки) -> Test Settings (Проверить Настройки)). Если все настроено правильно, то в появившемся окне будет написано: Success: ClamAV 0.96/10794/Fri Apr 23 06:24:19 2010. В противном случае будет написано Failed!

Коммерческие и некоммерческие аналоги

Как упоминалось выше, разработчики антивирусного ПО предпринимают попытки «застолбить» перспективный Linux-рынок, поэтому сейчас у пользователей Linux есть возможность получить антивирусное ПО от почти всех известных производителей: Avira, Avast! Antivirus, AVG, Bitdefender, ClamAV, Kaspersky Linux Security, McAfee VirusScan Enterprise fοr Linux, Panda Security fοr Linux и т.д.

Для Linux-систем доступен и один из самых известных антивирусов - Dr. Web, который можно загрузить по адресу. Полученный .run-файл необходимо запустить, однако для этого может потребоваться изменить его атрибуты командой chmod +x имя_файла.run. Это самый сложный момент в установке Dr. Web, так как дальше установка проходит в интерактивном полуавтоматическом режиме. Dr. Web предлагает 30-дневную пробную лицензию, но для ее получения потребуется доступ к Интернет.

После проделанных манипуляций в меню появится соответствующий пункт, из которого можно будет запустить Центр Управления Dr.Web для Linux. Если вдруг этот пункт по непонятным причинам оттуда исчезнет, то центр управления можно вызвать из командной строки - drweb-cc. Основные компоненты антивируса - это сканер Dr.Web и SpIDer Guard. Назначение сканера очевидно, а SpIDer Guard — «это резидентный антивирусный компонент, проверяющий все используемые файлы в режиме реального времени». У программы есть очень простой пользовательский интерфейс, с помощью которого можно включить/отключить резидентную защиту, запустить сканирование системы, посмотреть статистику и количество файлов на карантине и обновить базы. Настройки находятся в меню Инструменты -> Настройки.

Кроме графического интерфейса Dr. Web позволяет также выполнять сканирование из командной строки с помощью команды drweb. Для сканирования домашнего каталога пользователя необходимо ввести команду:

$ drweb -path=~

После задания пути (их может быть несколько) можно задать некоторые параметры: как поступать с зараженными файлами, спрашивать ли пользователя при очистке файла, проверять ли архивы, использовать ли эвристику и т.д. Большинству пользователей подойдут значения по умолчанию, их можно просмотреть по команде drweb -help.

Удалить Dr.Web можно через меню: Приложения -> Dr.Web -> Удаление Dr.Web для Linux, или командой:

#/opt/drweb/remove.sh

После удаления в каталоге пользователя все равно остается каталог .drweb, который можно удалить вручную. Рекомендуется сохранить файл drweb.key, так как ключ выдается раз в 4 месяца. Также можно заглянуть в файл /etc/crontab, так как там тоже могут остаться изменения.

Как альтернативу коммерческому Dr.Web можно рассмотреть ограниченно-бесплатный Avast Antivirus. Для домашнего использования можно бесплатно получить годовой ключ. Загрузить программу для целевой ОС можно по адресу. После загрузки .deb архива его можно установить командой:

# dpkg -i avast4workstation_1.3.0-2_i386.deb

После первого запуска Avast потребует ключ, который можно будет получить в режиме online. С точки зрения пользователя антивирус состоит из трех исполняемых файлов: avast, avastgui и avast-update. Никакой резидентной защиты он не предоставляет. В Avast входит только сканирующий модуль, которого при специфике использования антивируса в Linux вполне достаточно. Для запуска сканера из командной строки достаточно ввести:

$ avast /

Команда avast-update используется для обновления баз, а avastgui для запуска графического интерфейса пользователя. Графический интерфейс позволяет просканировать определенные каталоги, обновить базы, просмотреть отчеты и задать уровень сканирования. Этот антивирус может оказаться весьма полезным при необходимости регулярно проверять какие-нибудь архивы.

Заключение

Как было показано в статье, в Linux проблема антивирусной защиты не стоит так остро, как для Windows-систем, однако ни в коем случае нельзя забывать об элементарных правилах «IT-гигиены» и о здравом смысле. На эту тему есть шутка: Вирусы в Linux распространятся следующим образом: «Ух ты, дай посмотреть!» (с). Если не работать постоянно с уровнем доступа root, не запускать код из непроверенных источников и регулярно обновлять систему, то, скорее всего, вирусы обойдут вашу систему стороной и антивирус не потребуется вовсе, по крайней мере, в своей классической роли – «защитника от страшных компьютерных вирусов».

Тем не менее, установка антивируса на Linux вовсе не бесполезна и кроме повышения уровня защищенности может принести дополнительную пользу для Windows-систем, став еще одним бастионом на пути действительного бесконечного потока Windows-вирусов. В качестве примера в статье рассматривается антивирус ClamAV, который отвечает за проверку вложений в письмах электронной почты и может интегрироваться с различными почтовыми клиентами.


Ресурсы для скачивания


Похожие темы


Комментарии

Войдите или зарегистрируйтесь для того чтобы оставлять комментарии или подписаться на них.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Linux, Open source
ArticleID=643810
ArticleTitle=Организация антивирусной защиты в Linux c помощью антивируса ClamAV: Часть 1
publish-date=03292011