ус ClamAV
Сегодня никого не нужно убеждать в необходимости использования антивируса для защиты компьютера. Антивирусные решения, предлагаемые для Linux, в основном ориентированы на серверы. Имея свою операционную систему, мир OpenSource не мог оставить незамеченной отсутствие такого необходимого продукта, как антивирус, который можно было бы включать в состав дистрибутивов, использовать на серверах и рабочих станциях и развивать в нужном направлении.
Проект, который занимается разработкой свободного антивируса, распространяющегося под лицензией GPL, называется Clam AntiVirus, или ClamAV (http://www.clamav.net/). Первоначальной целью разработчиков этого продукта была интеграция с почтовыми серверами для проверки вложений на предмет вирусов, но на сегодня он широко применяется и в настольных системах. Антивирус работает на многих операционных системах: Linux, Solaris, FreeBSD, OpenBSD, NetBSD, AIX, Mac OS X, BeOS, HPUX, SCO UNIX, есть порты под Windows, работает и на нескольких архитектурах Intel, Alpha, Sparc, Cobalt MIPS boxes, PowerPC, RISC 6000, что уже вызывает уважение. POSIX-интерфейс и общедоступные библиотеки позволяют быстро адаптировать его к другим приложениям. Работает с архивами и сжатыми файлами, в настоящее время встроена поддержка RAR, Zip, Gzip, Bzip2 и некоторых других.
На сегодня в базу данных антивируса ClamAV занесено 170 036 сигнатур вирусов, червей и троянов. Конечно, по сравнению с другими подобными продуктами это немного, но количество записей в антивирусной базе можно считать по-разному.
Это открытый продукт, поэтому в его развитие может сделать вклад любой пользователь: например, если вам удалось обнаружить вирус, на который ClamAV не реагирует, то, заполнив форму по адресу http://www.clamav.net/sendvirus.html или отправив архив zip с паролем virus по адресу virus@clamav.net, можно помочь в добавлении его в базу данных.
В репозитариях пакетов ClamAV есть, поэтому с установкой проблем возникнуть не должно. Антивирус состоит из нескольких консольных утилит:
• clamscan – утилита командной строки, предназначенная для проверки файлов и каталогов на наличие вирусов;
• clamd – антивирусный демон, прослушивающий подключения к сокетам UNIX или TCP и сканирующий каталоги по требованию;
• clamdscan – простой интерфейс к демону clamd; позволяет также сканировать файлы и каталоги, при этом используются те же параметры, что и в clamscan, поэтому может полностью заменить его;
• clamav-milter (при конфигурировании с параметром –enable-milter) – представляет собой антивирусный интерфейс к sendmail, использует для просмотра почты clamd;
• freshclam – утилита автоматического обновления через Интернет вирусной базы данных, позволяющая поддерживать ее в самом современном состоянии;
• sigtool – генерирует вирусную сигнатуру, используя внешний антивирусный сканер, который способен обнаружить неизвестный ClamAV вирус; может создавать шестнадцатеричный дамп и формировать и распаковывать базу данных CVD (ClamAV Virus Database).
Обеспечена возможность проверки файлов при доступе с применением дополнительного модуля dazuko. Здесь использован традиционный подход, применяемый в UNIX при написании приложений. Так, ClamAV используется для простой проверки файлов при сканировании, если же необходимо, чтобы антивирус постоянно находился в оперативной памяти в качестве монитора и проверял файлы при каждой попытке обращения, применяется дополнительный модуль Dazuko (http://dazuko.org/).
Проверить текущий каталог на наличие вирусов можно, набрав clamscan без каких-либо параметров. В результате вы получите список проверенных файлов и отчет. Список просканированых файлов позволяет проверить работу утилиты с различными типами файлов на начальном этапе, но в большинстве случаев лучше добавить параметр -i для вывода только зараженных файлов. Указать файлы, находящиеся в другом каталоге, можно, перечислив их в строке запуска или, если проверяется каталог, указав путь к нему (не забудьте параметр -r для рекурсивного обхода (для проверки работы антивируса с пакетом поставляется несколько тестовых файлов)).
$ clamscan -r -i /mnt/hda5
Утилита автоматического обновления антивирусных баз может запускаться в двух режимах: интерактивном (из командной строки) и как демон. Утилита использует базу http://database.clamav.net/ для автоматического выбора зеркала. В комплекте имеется также список таких баз, занесенный в файл mirror.txt, утилита пробует по порядку соединиться с первым и, в случае неудачи, следует далее по списку. Можно подобрать оптимальный вариант и поставить его первым. Для начала следует запустить утилиту без параметров; если все нормально, то далее следует создать лог-файлы, необходимые для работы.
Интерфейсы к ClamAV
За относительно небольшое время своего развития ClamAV получил достаточное количество интерфейсов и многого другого, упрощающего работу и интеграцию в приложения. Список некоторых из них можно найти в файле README, а в файле clamdoc.pdf дано их краткое описание, занимающее несколько страниц.
Самым известным и быстро развивающимся фронтэндом на сегодня является KlamAV (http://klamav.sourceforge.net/), построенный на Qt-библиотеках и предназначенный для защиты от вирусов в первую очередь при использовании в среде KDE (рис. 7.13).
Рис. 7.13. Интерфейс KlamAV
Поддерживаются сканирование при доступе и ручной режим сканирования, обновление антивирусных баз, карантин, просмотр почты для KMail и Ximian Evolution. Для удобства поставляется вместе с Dazuko. Clamaktion (http://web.tiscali.it/rospolosco/clamaktion/) позволяет пользователям KDE 3 проверять файлы и каталоги при помощи контекстного меню. Кроме того, почтовые клиенты KMail и Sylpheed Claws дают возможность просматривать почтовые вложения при помощи ClamAV.
Запуск игр Windows под Linux
Для Linux существует мало игр. Неказуальных игр, позволяющих убить время, в Linux предостаточно, при установке дистрибутива пользователь найдет их несколько десятков. Есть и проекты OpenSource, предлагающие довольно серьезные игры в самых разообразных жанрах, – космические стратегии, шутеры от первого лица, тактические симуляторы и многие другие. Они пользуются популярностью и имеют стабильный контингент игроков. Однако пользователя обычно интересуют проекты, о которых говорят каждый день. Некоторые игры – Neverwinter Nights, Savage: Battle for Newreth, Wolfenstein, Quake и другие имеют реализацию под Linux. Вопрос в том, что качество и скорость Linux-реализации часто хуже, чем Windows, и таких проектов немного.
Привлечь разработчиков игр и программ в Linux непросто, поэтому исправить ситуацию пробуют путем эмуляции программного интерфейса. В среде Linux сегодня известно множество эмуляторов, распространяемых по лицензии GPL: dosemu – MS DOS; Cygwin, Wine – Windows; A64 – Amiga; Snes9x – Super Nintendo; Spectemu – ZX Spectrum и так далее. К сожалению, настройка большинства из них – дело нетривиальное, требующее правки конфигурационных файлов и чтения документации до полного просветления. Не каждый решится на такой шаг, особенно когда заранее не уверен, что игра вообще запустится.
Проект Wine
Wine (http://www.winehq.org/) – это альтернативная реализация Windows API для UNIX-подобных систем. В этих системах она позволяет выполнять многие приложения, написанные для Windows. Название является рекурсивным акронимом от Wine Is Not an Emulator (Wine – не эмулятор). По прошествии 15 лет разработок Wine хотя и получил большие возможности, но так и не стал удобным в настройке. Он не является стабильным продуктом, и нельзя сказать, что с его помощью удастся запустить любую программу для Windows. Однако чудеса бывают: чтобы установить Battlefield 1942, автору было достаточно выбрать в меню Konqueror пункт Запустить с помощью и указать Wine. Игра установилась, но на этом приятные моменты закончились. На странице http://appdb.winehq.org.ru/browse_newest_apps.php можно найти список программ и игр, которые удалось запустить в Wine.
В Kubuntu в подменю Advanced (Расширенные) меню Настройки системы есть пункт Программы Windows, являющийся, по сути, еще одним интерфейсом к утилите настроек Wine winecfg. C его помощью можно указать некоторые настройки Wine, но до полного комфорта далеко.
Проект Cedega
Большей популярностью пользуются коммерческие решения, позволяющие запускать многие приложения, написанные для Windows в Linux, построенные на основе исходных кодов Wine. В первое время Wine выходил под лицензией MIT, которая разрешала одностороннее использование открытого кода без каких-либо обязательств публиковать изменения. Впоследствии разработчики Wine выбрали более жесткую в этом отношении GPL, но проектам, стартовавшим в 2001 году, этот шаг помешать уже не мог.
Главным отличием коммерческих решений от Wine является наличие более понятного рядовому пользователю графического средства настройки, хотя они и отличаются узкой специализацией. Так, основное направление CrossOver (ранее CrossOver Office, http://www.codeweavers.com/) – это поддержка наиболее затребованных офисных и других приложений Windows вроде Microsoft Office, Lotus Notes, Macromedia Dreamweaver и Flash MX, Adobe Photoshop, Apple iTunes и прочих, поддерживаются и некоторые игры (Half-Life, Counter-Strike, World of Warcraft). Со списком поддерживаемых приложений и качеством можно ознакомиться на странице http://www.codeweavers.com/compatibility/browse/rank.
Специализация Cedega (ранее WineX, http://www.TransGaming.com/) понятна даже из названия компании разработчика (TransGaming Technologies) – игры. Официальный список игр, поддерживаемых Cedega, еще три года назад превысил три сотни, сейчас же этот список насчитывает около 1300 игр; некоторые поддержаны частично, но все равно в этой области Cedega вне конкуренции. Полный список игр приведен на странице http://transgaming.org/gamesdb, в числе которых есть и популярные онлайн-игры. Чтобы остаться на плаву, разработчики следят за новинками, тестируют и улучшают поддержку наиболее популярных игр. Многие игры работают в Cedega так же быстро, как и в своей ОС. Для этого добавлена более качественная поддержка API DirectX, знает Cedega и о некоторых технологиях защиты от копирования, применяемых в современных играх. Начиная с версии 4.0, Cedega поддерживает технологии DirectX 9.0.
Весь процесс установки, обновления и удаления игр осуществляется через единый центр управления с понятным интерфейсом (рис. 7.14).
Рис. 7.14. Counter Strike в Linux
Наличие установленной Windows для работы Cedega (и CrossOver) совершенно не обязательно, но они умеют запускать уже установленные в этой ОС приложения. Официально поддерживаются дистрибутивы Red Hat/Fedora, SUSE, Mandriva, Debian, Ubuntu, Knoppix, Mepis, Lindows, Gentoo и Slackware. Cedega распространяется по подписке, которая, помимо возможности получения новых версий программы и права на техподдержку (в течение времени действия подписки), позволяет участвовать в голосовании, над поддержкой каких игр работать разработчикам далее. Стоимость ежемесячной подписки 5$, годовая подписка обойдется в 55$. По окончании подписки программой можно пользоваться неограниченное время, но обновлять ее нельзя. Cedega доступен и в некоторых дистрибутивах максимальной оснащенности, например Mandriva Linux 2007 Discovery и PowerPack.
Есть еще один вариант получения Cedega: TransGaming открывает часть исходного кода, выкладывая его в свободный доступ через CVS (http://transgaming.org/cvs), отдавая должное Wine и привлекая сторонних программистов к написанию патчей. Однако в нем нет графического интерфейса и еще ряда разработок, принадлежащих TransGaming.