Подробный гайд (методичка) по установке и настройке ClamAV на Astra Linux
ClamAV — это открытый антивирусный движок, предназначенный для обнаружения троянов, вирусов, вредоносного ПО и других угроз. Он хорошо интегрируется в экосистему Astra Linux (как Common Edition, так и Special Edition) и может использоваться как для ручного сканирования, так и для автоматической защиты почтовых и файловых серверов.
Этап 1: Установка пакетов
Astra Linux основана на Debian, поэтому установка выполняется через пакетный менеджер apt.
Обновите списки пакетов и установите необходимые компоненты:
sudo apt update
sudo apt install clamav clamav-daemon clamav-freshclam
Описание пакетов:
clamav– базовый пакет, включающий утилиту командной строкиclamscan.clamav-daemon– демон сканирования (clamd), который держит базы данных в оперативной памяти для значительного ускорения повторных проверок, и утилитуclamdscan.clamav-freshclam– служба автоматического обновления антивирусных баз.
Этап 2: Первоначальная настройка и обновление баз сигнатур
Перед запуском сканирования необходимо загрузить актуальные базы данных.
1. Откройте конфигурационный файл freshclam:
sudo nano /etc/clamav/freshclam.conf
- Найдите строку
Exampleи закомментируйте её (добавьте#в начало), если она не закомментирована. Это обязательный шаг, иначе файл будет считаться примером, а не рабочей конфигурацией. - При необходимости укажите зеркало для загрузки (для России можно оставить значение по умолчанию или указать
DatabaseMirror db.ru.clamav.net). - Сохраните файл и закройте редактор.
5. Запустите ручное обновление баз от имени суперпользователя:
sudo freshclam
Если возникает ошибка о блокировке файла, остановите службу перед обновлением: sudo systemctl stop clamav-freshclam.
6. Включите и запустите службу автообновления:
sudo systemctl enable --now clamav-freshclam
sudo systemctl status clamav-freshclam
Этап 3: Настройка демона сканирования (clamd)
Для использования быстрого сканирования через демон необходимо настроить clamd.conf.
1. Откройте файл конфигурации:
sudo nano /etc/clamav/clamd.conf
- Обязательно закомментируйте строку
Example(поставьте#в начале), иначе демон откажется запускаться.
3. Раскомментируйте и настройте следующие параметры (при необходимости):
# Путь к локальному сокету для взаимодействия
LocalSocket /var/run/clamav/clamd.ctl
# Максимальный размер сканируемого файла (по умолчанию ограничен, можно увеличить)
MaxFileSize 100M
MaxScanSize 100M
# Включение логирования
LogTime yes
LogClean yes
4. Сохраните изменения и перезапустите демон:
sudo systemctl enable --now clamav-daemon
sudo systemctl status clamav-daemon
Этап 4: Практика сканирования
Существует два основных способа сканирования: через clamscan (медленнее, загружает базы при каждом запуске) и clamdscan (быстро, обращается к запущенному демону).
Вариант А: Использование clamscan (для разовых проверок)
- Сканировать конкретный файл:
clamscan /путь/к/файлу
- Рекурсивное сканирование директории с выводом только зараженных файлов:
clamscan -i -r /home/user
- Сканирование с перемещением зараженных файлов в карантин:
clamscan -i -r --move=/home/user/quarantine /var/www
- Важно:
По умолчанию ClamAV не сканирует файлы больше 25 МБ.
Для снятия ограничений используйте ключи:
clamscan -i -r --max-filesize=2000M --max-scansize=2000M /home
Вариант Б: Использование clamdscan (рекомендуется для серверов)
- Сканирование директории через демон:
sudo clamdscan --infected --recursive /home
Этап 5: Настройка сканирования по доступу (On-Access Scanning)
ClamAV поддерживает защиту в реальном времени, сканируя файлы в момент обращения к ним.
1. Откройте /etc/clamav/clamd.conf.
2. Добавьте или раскомментируйте следующие строки:
ScanOnAccess yes
OnAccessIncludePath /home
OnAccessIncludePath /var
OnAccessIncludePath /tmp
# Исключить системные директории для производительности
OnAccessExcludePath /proc
OnAccessExcludePath /sys
3. Перезапустите демон:
sudo systemctl restart clamav-daemon
Примечание:
Эта функция требует ядра с поддержкой fanotify. В Astra Linux она работает корректно, но может создавать дополнительную нагрузку на дисковую подсистему при активной работе с файлами.
Этап 6: Особенности Astra Linux Special Edition (SE)
При использовании ClamAV в Astra Linux SE (уровни защищенности «Орел» или «Воронеж») необходимо учитывать механизмы мандатного управления доступом (МУД) и контроля целостности:
1. Проблема целостности:
Демон clamav-daemon по умолчанию запускается от пользователя clamav с низким мандатным уровнем. Он не сможет прочитать файлы с более высоким уровнем целостности или конфиденциальности.
2. Решение для полного сканирования:
Для проверки системных или защищенных директорий рекомендуется использовать запуск от имени root (который имеет высший мандатный уровень и может преодолевать ограничения):
sudo clamscan -i -r /
3. Замкнутая программная среда (ЗПС):
Если в системе включена ЗПС, убедитесь, что исполняемые файлы clamscan, clamdscan и freshclam добавлены в список разрешенных к запуску или имеют соответствующие цифровые подписи/хэш-суммы в политиках безопасности.
4. Работа с карантином:
Убедитесь, что директория карантина (например, /var/quarantine) создана и имеет корректные мандатные атрибуты, чтобы перемещенные файлы не нарушали политики целостности.
Этап 7: Мониторинг и устранение неполадок
- Просмотр логов демона:
sudo tail -f /var/log/clamav/clamav.log
- Просмотр логов обновления баз:
sudo tail -f /var/log/clamav/freshclam.log
- Интерактивный мониторинг работы демона (показывает загруженность, количество проверенных файлов и использование памяти):
sudo clamdtop
- Проверка общей конфигурации (выводит все активные настройки и возможные ошибки):
sudo clamconf
Дополнительные рекомендации
1. Графический интерфейс:
Для рабочих станций с Astra Linux CE можно установить оболочку clamtk (sudo apt install clamtk), которая предоставляет удобный GUI для настройки расписания и просмотра результатов.
2. Интеграция с почтой:
ClamAV часто используется в связке с Postfix/Exim через clamav-milter. Для этого потребуется установить пакет clamav-milter и настроить его в соответствии с документацией почтового сервера.
3. Автоматизация:
Если вы не используете clamav-daemon, добавьте задание в cron для ежедневного сканирования и обновления баз.
Совет:
Для сред с высокими требованиями к безопасности (Astra Linux SE) всегда тестируйте настройки на стенде перед внедрением в продуктивную эксплуатацию, чтобы избежать конфликтов с политиками мандатного доступа и целостности.
Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.