Clam AntiVirus (ClamAV) - это свободное программное обеспечение, кроссплатформенный антивирусный набор с открытым исходным кодом, способный обнаруживать многие типы вредоносных программ, включая вирусы. Одно из его основных применений - на почтовых серверах в качестве серверного сканера почтовых вирусов. ClamAV включает в себя ряд утилит: сканер командной строки, средство автоматического обновления баз данных и масштабируемый многопоточный демон, работающий на антивирусном движке из общей библиотеки.
Установка EPEL Repo
Прежде всего, необходимо установить EPEL:
1 | dnf install epel-release -y |
Установка ClamAV
1 | dnf install clamav clamd clamav-update -y |
Где clamav - это сам антивирус, clamd - это демон необходимый для работы антивируса.
Настройка SElinux для ClamAV
Настройте ClamAV с помощью SELinux и дайте ему доступ ко всем вашим файлам с помощью следующей команды:
1 | setsebool -P antivirus_can_scan_system 1 |
Обновление сигнатур ClamAV
Теперь используйте следующую команду для получения последних сигнатур антивируса.
1 | freshclam |
Настройка обновления через прокси
для обновления через прокси, в файл freshclam.conf, необходимо добавить следующие строки
1 2 | HTTPProxyServer <ip> HTTPProxyPort <port> |
Конфигурация ClamAV
Необходимо найти параметр 'LocalSocket' в файле /etc/clamd.d/scan.conf и включить его, чтобы мы могли использовать ClamAV.
Используйте следующую команду для включения этого параметра.
1 | sed -i 's/#LocalSocket \/run/LocalSocket \/run/g' /etc/clamd.d/scan.conf |
так же рекомендуется удалить конфигурацию по умолчанию
1 | sed -i -e "s/^Example/#Example/" /etc/clamd.d/scan.conf |
Аналогично, настраиваем freshclam
1 | sed -i -e "s/^Example/#Example/" /etc/freshclam.conf |
Создание системной службы ClamAV
Создайте службу systemd для ClamAV и настройте ее на автоматический запуск.
1 | nano /usr/lib/systemd/system/freshclam.service |
добавьте следующие строки в файл freshclam.service и сохраните изменения.
1 2 3 4 5 6 7 8 9 10 11 12 | [Unit] Description = ClamAV Scanner After = network.target [Service] Type = forking ExecStart = /usr/bin/freshclam -d -c 1 Restart = on-failure PrivateTmp =true [Install] WantedBy=multi-user.target |
Запуск и включение служб
Все было установлено и настроено, теперь пришло время включить все службы при загрузке.
1 2 3 4 | systemctl start clamd@scan systemctl start freshclam systemctl enable clamd@scan systemctl enable freshclam |
Сканирование на вирусы с помощью ClamAV
Для того что бы проверить вручную один файл или группу файлов запускаем следующую утилиту:
1 | clamscan |
Примеры использования:
Проверить всю файловую систему:
1 | clamscan -r / |
Проверить отдельный каталог:
1 | clamscan -r <каталог> |
Проверить один файл:
1 | clamscan <файл> |