Сканирование с помощью ClamAV¶
ClamAV — это свободный кроссплатформенный антивирус с открытым исходным кодом, предназначенный для обнаружения троянов, вирусов, вредоносных программ и других угроз. Чаще всего используется на серверах и в почтовых шлюзах.
Установка¶
Ubuntu / Debian¶
⚠️ Начиная с Ubuntu 22.04 и Debian 11+, пакет
clamav-daemon(включаяclamd) рекомендуется устанавливать отдельно, если планируется фоновое сканирование или интеграция с другими сервисами.
CentOS / RHEL / Fedora¶
Для RHEL/CentOS ⅞/9 (EPEL должен быть подключён)
Для Fedora / RHEL 9+ (с использованием dnf)💡 На системах с
systemd(все современные дистрибутивы) службаclamav-freshclamуправляет автоматическим обновлением баз.
Обновление сигнатур¶
Перед первым использованием обязательно обновите базы вирусных сигнатур.
Стандартный способ (при работающем freshclam)¶
Если возникает ошибка ERROR: Can't open /var/lib/clamav/main.cvd: Permission denied или ERROR: Database lock file exists, возможно, служба clamav-freshclam уже запущена и блокирует обновление. Тогда используйте:
Проблемы с обновлением в России (2024–2025)¶
С февраля 2023 года официальные зеркала ClamAV (например, database.clamav.net) могут быть недоступны из РФ из-за геоблокировок. Возможные решения:
-
Использование прокси
После правки:
Отредактируйте конфиг/etc/clamav/freshclam.conf, добавив: -
Альтернативные источники сигнатур
Рассмотрите использование сторонних сигнатур (например, от MalwarePatrol или Sanctuary), но соблюдайте условия лицензирования. -
Локальное зеркало / ручное обновление
Скачайте актуальные.cvd/.cld-файлы с зеркала за пределами РФ и скопируйте в/var/lib/clamav/.
Требования к ресурсам¶
- Оперативная память: для полного сканирования рекомендуется минимум 1–1.5 ГБ свободной RAM.
- Swap: при отсутствии swap-раздела или файла — настройте его, особенно на VPS с ограниченной памятью:
Примеры сканирования¶
| Задача | Команда |
|---|---|
| Сканировать один файл | clamscan /путь/к/файлу |
| Рекурсивное сканирование папки (только инфицированные) | clamscan -r -i /папка |
| Переместить заражённые файлы | clamscan -r --move=/karantin /папка |
| Удалить инфицированные файлы автоматически | clamscan -r --remove /папка ⚠️ |
| Вывести отчёт в файл | clamscan -r -i /папка > scan_report.txt |
Использовать демон clamd (быстрее, меньше RAM при повторах) | clamdscan -r /папка |
⚠️ Параметр
--removeбезвозвратно удаляет файлы. Используйте только после тестов и с резервной копией.
Для ускорения повторных проверок рекомендуется использовать clamdscan (работает через демон clamd), предварительно запустив службу:
Полезные советы¶
- Чтобы проверить, запущен ли
clamd:
- Логи сканирования (по умолчанию) — в
/var/log/clamav/. - Для регулярного сканирования настройте
cron: