Антивирусный пакет 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 вирусы.
Anubis – это максимально легкое open-source решение, созданное специально для защиты небольших веб-ресурсов от бесконечного потока запросов от ботов и AI парсеров. Этот инструмент можно считать "ядерным вариантом", потому что он заставляет ботов выполнять вычисления похожие на майнинг криптовалюты. Но это неплохая альтернатива для тех, кто не может или не хочет использовать Cloudflare. Посмотреть детали








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