Антивирусный пакет ClamAV — это самый популярный антивирус для операционных систем на базе ядра Linux. Он очень простой и может только проверять передаваемые ему файлы на присутствие в них известных ему вирусов. Зато он полностью свободен и распространяется с открытым исходным кодом.
Антивирус можно использовать не только для проверки файлов в файловой системе, но и для проверки интернет сайтов или вложений в почте, для чего его часто применяют. В сегодняшней статье мы рассмотрим как пользоваться ClamAV для проверки файлов на вирусы.
Установка ClamAV
В большинстве дистрибутивов антивирус ClamAV есть в официальных репозиториях. Подробно про установку антивируса в Ubuntu я писал в этой статье. Установка в Debian выполняется аналогичным образом:
sudo apt install clamav
Для установки Fedora или CentOS команда будет выглядеть вот так:
sudo dnf install clamav
А в Arch Linux:
sudo pacman -S clamav
После установки можно переходить к использованию программы. Но сначала надо обновить вирусные базы данных. Для этого сначала остановите службу автоматического обновления:
sudo systemctl stop clamav-freshclam
Затем выполните обновление:
sudo freshclam
А потом снова запустите службу:
sudo systemctl start clamavfreshclam
Как пользоваться ClamAV
Основная утилита, которая используется для проверки файлов и папок на содержание вирусов в командной строке — clamscan. Именно её мы будем сегодня использовать. Давайте рассмотрим её синтаксис:
$ clamscan опции /путь/к/папке/или/файлу
Как видите, синтаксис очень простой. Теперь давайте рассмотрим основные опции, которые вы можете использовать. Настройка ClamAV выполняется именно с помощью этих опций:
- -V, —version — вывести версию программы;
- -v, —verbose — максимально подробный вывод;
- -a, —archive-verbose — выводить сообщения о проверяемых файлах внутри архивов;
- —debug — отображать отладочные сообщения;
- —quiet — выводить минимум информации;
- —no-summary — не отображать результат сканирования;
- -i, —infected — выводить информацию только об инфицированных файлах;
- —bell — воспроизводить звуковой сигнал при обнаружении вируса;
- -d, —database — загрузить вирусную базу данных из файла;
- -l, —log — сохранить результат сканирования в файл;
- -r, —recursive — рекурсивное сканирование директорий и поддиректорий;
- —move — перемещать инфицированные файлы в указанную папку;
- —copy — копировать инфицированные файлы в указанную папку;
- —exclude, —exclude-dir — не сканировать файлы и папки, имена которых подпадают под шаблон;
- —remove — удалять все инфицированные файлы;
- —scan-pe=yes/no — сканировать исполняемые файлы Windows, по умолчанию включено;
- —scan-elf=yes/no — сканировать исполняемые файлы Linux, по умолчанию включено;
- —scan-ole2=yes/no — сканировать документы Office, по умолчанию включено;
- —scan-archive=yes/no — сканировать архивы, по умолчанию включено;
- —max-filesize — максимальный размер данных, извлекаемых из архива, по умолчанию 25 Мб;
- —max-files — извлекать не больше указанного количества файлов из сканируемых файлов (архивы, документы, любой вид контейнеров), по умолчанию 10000;
- —max-recursion — максимальная глубина сканирования папок в архиве, по умолчанию 16;
- —max-dir-recursion — максимальная глубина сканирования папок в файловой системе, по умолчанию 15.
Это далеко не все опции программы. У неё есть много других опций, позволяющих настроить различные ограничения. Все их вы можете найти выполнив команду:
man clamscan
Теперь давайте разберем несколько примеров работы с утилитой. Для просмотра версии программы выполните:
clamscan —version
Самый простой способ просканировать какую-нибудь папку — воспользоваться опцией -r для рекурсивного сканирования и опцией -i для вывода информации только об инфицированных файлах:
clamscan -r -i ~/Загрузки
Когда проверка ClamAV будет завершена, программа выведет общую статистику:
Для того чтобы при обнаружении вируса проигрывался сигнал используйте опцию —bell:
clamscan -r -i —bell ~/Загрузки
Инфицированные файлы можно перемещать в специальную папку с помощью опции —move:
clamscan -r -i —move ~/Карантин ~/Загрузки
Если вы хотите удалить все инфицированные файлы используйте опцию —remove:
clamscan -r -i —remove ~/Загрузки
Если вы хотите проверить корень файловой системы, то следует исключить папки с виртуальными файловыми системами. Там очень много файлов, и вирусов там нет, для этого воспользуйтесь опцией —exclude:
sudo clamscan -r -i —exclude-dir=»/sys|/proc|/dev» /
Поскольку надо исключить несколько директорий, то разделять их следует символом ИЛИ — «|». Сканирование может выполняться довольно долго. Если вы не хотите чтобы оно занимало терминал, можно запустить его в фоне, а результат выводить в лог-файл.
sudo clamscan -r -i —exclude-dir=»/sys|/proc|/dev» -l scan.log / &
Далее вы сможете посмотреть информацию о статусе проверки открыв файл журнала:
tail -f scan.log
Выводы
В этой небольшой статье мы рассмотрели как пользоваться clamav и в частности утилитой clamscan для сканирования файлов на вирусы. Как видите, всё очень просто. Хотя для Linux не нужен такой же антивирус как для Windows, но с помощью ClamAV вы сможете найти Windows вирусы.