August 30, 2020

Установка антивирусного сканера ClamAV на Debian

Установка ClamAV

Установка clamav довольно проста, т.к. пакет clamav имеется в репозиториях Debian. Вся установка сводится к запуску:

 antivirus ~ # aptitude install clamav

Пакет clamav потянет с собой пакеты: собственно, clamav - ядро антивируса, clamav-base - текущие антивирусные базы, clamav-freshclam - демон freshclam, которые ежечасно (или чаще в зависимости от настроек) лезет за обновлениями и libclamav6, libtommath0 - некоторые библиотеки для работы антивируса.

При установке в автозагрузку добавится демон /usr/bin/freshclam

Настройка ClamAV

Настройка антивируса заключается в редактировании (например, с помощью текстового редактора nano) конфигурационных файлов, которые расположены в каталоге /etc/clamav/:

antivirus ~ # ls -la /etc/clamav/
итого 24
drwxr-xr-x  4 root   root 4096 Май  3 00:11 .
drwxr-xr-x 80 root   root 4096 Май  2 23:58 ..
-rw-r--r--  1 root   root 1543 Май  2 23:58 clamd.conf
-r--r--r--  1 clamav adm   702 Май  2 23:58 freshclam.conf
drwxr-xr-x  2 root   root 4096 Окт 24  2011 onerrorexecute.d
drwxr-xr-x  2 root   root 4096 Окт 24  2011 onupdateexecute.d

clamd.conf содержит настройки антивирусного ядра, freshclam.conf содержит настройки обновления антивирусных баз.

Если почитать документацию из дистрибутива /usr/share/doc/clamav-base/README.Debian.gz. То становится ясно, что оба конфигурационных файла содержат те оптимальные настройки, которых достаточно для работы на большинстве систем и поддерживаются они некой системой ucf, которая позволяет обновлять конфиги из устанавливаемых пакетов из репозиториев. Т.о., если вручную поправить данные файлы, то они при очередном обновлении пакета будут заменены. Если есть желание изменить это поведение и все же заставить работать вручную отредактированный файл, то необходимо настроить ucf.

Каталоги onerrorexecute.d и onupdateexecute.d позволяют разместить в них bash-скрипты, которые будут выполняться в случае ошибки обновления баз данных и просто при обновлении баз соответственно.

Сканирование файловой системы с помощью clamscan

Антивирус представляет собой единственную консольную команду clamscan, которая имеет следующий синтаксис:

clamscan опции сканируемый_путь

Например, мы хотим просканировать всю файловую систему (/) рекурсивно (-r) и выводить сообщение об обнаруженных зараженных файлах (-i) на стандартный вывод ( --stdout):

clamscan --stdout -r -i /