Антивирусный пакет 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 вирусы.
Ждя запука команда > sudo systemctl start clamav-freshclam.service
Подскажите, как использовать ClamAV для постоянной проверки файлов, которые например записываются и читаются на исполнение?
Пользовался много лет назад, когда держал винду параллельно с линуксом. Для только, линукса, никакие антивири не нужны.
Никак, у него нет монитора в реальном времени
я правильно понимаю что если мне надо проверить папки на другом винчестере, то надо прописать полный путь?
можно команду прописать в планировщик и он дудит сканировать систему