Как сканировать Linux‑сервер на вредоносное ПО и руткиты

Вредоносные программы, черви, вирусы и особенно руткиты — одни из самых серьёзных угроз для администраторов серверов. Внутри скомпрометированной системы злоумышленник может собирать конфиденциальные данные или наносить финансовый вред организации.
Хорошая новость: обнаружить и минимизировать такие угрозы возможно. В этой статье описаны бесплатные инструменты и практики, которые помогут просканировать Linux‑сервер, найти вредоносные файлы и руткиты, а также подготовиться к дальнейшим действиям.
Что важно понимать перед началом
- Руткит — это набор инструментов, который скрывает присутствие злоумышленника в системе. Он может подменять вывод команд и модифицировать ядро.
- Антивирусы по сигнатурам полезны, но не гарантируют обнаружение новых образцов.
- Инструменты диагностики дают точки данных. Их вывод требует анализа человеком.
1. ClamAV — сканирование файлов и почтовых потоков
ClamAV — это консольный антивирус, часто интегрируемый с почтовыми серверами. Он доступен для популярных дистрибутивов Linux, включая Ubuntu, Fedora и SuSE.
Установка в Ubuntu:
sudo apt install clamav clamav-daemon
После установки ClamAV можно запускать из терминала для полного сканирования файловой системы. Также доступны службы мониторинга в реальном времени и инструменты для обновления баз сигнатур.
Простой рекурсивный скан с выводом только заражённых файлов:
clamscan -r -i /Перед первым сканированием дождитесь загрузки базы сигнатур. Для контроля и ручного обновления можно остановить службу обновлений и запустить обновление вручную:
sudo systemctl stop clamav-freshclam.servicesudo freshclam
Чтобы автоматически удалять найденные заражённые файлы (тщательно оцените риск прежде чем использовать):
clamscan -r -i --remove /Важно: автоматическое удаление может повредить важные системные файлы. Сначала сохраняйте отчёты и проверяйте их.
2. chkrootkit — проверка на руткиты и подозрительные модули
chkrootkit выполняет набор диагностических тестов для поиска загружаемых модулей ядра, признаков известных руткитов и червей.
Установка в Ubuntu:
sudo apt install chkrootkit
В отличие от ClamAV, chkrootkit — пассивный инструмент. Он не лечит систему и не удаляет файлы. Всё подозрительное нужно анализировать и устранять вручную.
Запуск проверки:
sudo chkrootkit
Вывод chkrootkit — хорошая отправная точка для дальнейших диагностик. Сохраните вывод в файл для последующего анализа.
3. AIDE — отслеживание изменений файловой системы
AIDE (Advanced Intrusion Detection Environment) — бесплатная альтернатива Tripwire. Он создаёт контрольные суммы и следит за изменениями файлов.
Установка:
sudo apt install aide
При установке AIDE может запросить конфигурацию почтовой подсистемы (Postfix) для отправки отчётов по расписанию. Навигация в меню выполняется клавишами Tab/стрелками и Enter.


AIDE хранит базу и конфиг в следующих местах:
/var/lib/aide
/etc/aideСоздание начальной базы и конфигурации:
sudo aideinit
После выполнения команды AIDE сгенерирует файлы в /var/lib/aide/ под именами aide.db.new и aide.conf.autogenerated. Их нужно скопировать под именами aide.db и aide.conf в соответствующие каталоги:
sudo cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db
Обновление конфигурации и копирование в /etc:
sudo update-aide.conf
sudo cp /var/lib/aide/aide.conf.autogenerated /etc/aide/aide.confПосле этого AIDE будет хранить хеши вашего файлового состояния и сможет сообщать об изменениях.
Запуск проверки по конфигу:
aide -c /etc/aide/aide.conf -CВажно: лучше хранить конфиг AIDE и его базу в защищённом (например, только для чтения) месте, чтобы злоумышленник не мог их подменить.
Методология сканирования — пошаговый мини‑план
- Подготовка
- Обновите базы сигнатур (freshclam).
- Переведите важные сервисы в режим обслуживания, если требуются глубокие сканы.
- Сбор первичных данных
- Создайте бэкап конфигураций и логов.
- Снимите контрольные суммы важных файлов (AIDE).
- Быстрый проходными инструментами
- ClamAV для массового поиска заражённых файлов.
- chkrootkit для обнаружения признаков руткитов.
- Глубокая проверка
- Анализ подозрительных файлов вручную (hexdump, strings, ldd для бинарей).
- Сравнение с эталонной системой/образом.
- Устранение и восстановление
- Изоляция серверов, удаление или восстановление инфицированных файлов.
- Переустановка системных пакетов при необходимости.
- Пост‑инцидентное усиление
- Закрытие векторов входа, обновление паролей и ключей, проверка доступов.
Когда эти инструменты могут давать ложные или неполные результаты
- Новые, неизвестные варианты malware могут не иметь сигнатур и не попадут под ClamAV.
- Руткиты, которые модифицировали ядро, могут подделывать вывод системных утилит и скрывать себя от chkrootkit.
- Если конфигурационные файлы инструментов доступны на записи для атакующего, он мог их изменить.
Важно: комбинируйте методы и проверяйте вывод вручную.
Чек‑листы по ролям
Администратор
- Обновить сигнатуры и пакеты.
- Запустить ClamAV и сохранить отчёт.
- Провести chkrootkit и сохранить вывод.
- Проверить AIDE‑отчёт и зафиксировать изменения.
Инженер по безопасности
- Проанализировать подозрительные бинарники (строки, зависимости).
- Сопоставить активность с логами (auth, syslog, webserver).
- Подготовить план реагирования и делать рекомендации по усилению.
Менеджер по ИТ
- Решить о рестартах/изоляции сервисов.
- Контролировать уведомления и коммуникации.
- Координировать восстановление из бэкапов.
Критерии приёмки
- Все найденные подозрительные файлы либо пояснены и зафиксированы, либо удалены/восстановлены из надёжного бэкапа.
- AIDE не показывает неожиданных изменений после восстановления.
- Проведён анализ векторов проникновения и закрыты уязвимости.
Примеры альтернативных подходов
- Использовать EDR‑решения (Endpoint Detection and Response) для поведенческого анализа. Они дают больше данных, но могут быть платными.
- Запускать систему в режиме чтения (live‑CD) для анализа, если есть подозрение на глубокую компрометацию.
- Сравнение с образами контейнеров/виртуальных машин для быстрого выявления отклонений.
Рекомендации по усилению безопасности
- Ограничьте доступ по SSH по ключам и по белому списку IP.
- Внедрите двухфакторную аутентификацию для панелей управления.
- Минимизируйте набор установленных пакетов и сервисов.
- Регулярно создавайте и проверяйте резервные копии.
- Храните критические конфиги (AIDE, базы сигнатур) в месте с правами только для чтения.
Критические ошибки и как их избежать
- Не удаляйте файлы в автоматическом режиме без проверки. Сначала сохраняйте копии.
- Не доверяйте одному инструменту — используйте набор и ручной анализ.
- Не откладывайте обновления сигнатур и пакетов.
Краткий глоссарий
- Руткит — программный комплект, скрывающий присутствие злоумышленника в системе.
- Сигнатура — уникальная подпись известного образца вредоносного ПО.
- EDR — система для обнаружения и реагирования на конечных точках.
Критические тесты и приёмочные сценарии
- Тест 1: Запустить ClamAV на тестовой машине с набором известных тестовых сигнатур и убедиться, что он их обнаруживает.
- Тест 2: Запустить chkrootkit и проверить наличие ошибок в выводе на эталонной машине.
- Тест 3: Изменить файл, включённый в конфиг AIDE, и проверить, что AIDE обнаружит изменение.
Заключение
Перечисленные инструменты помогут вам построить многоуровневую стратегию обнаружения вредоносных программ и руткитов на Linux‑сервере. ClamAV хорошо подходит для массового поиска по сигнатурам, chkrootkit даёт индикации на уровне системы, а AIDE помогает фиксировать изменения файловой системы во времени. Комбинация этих подходов, регулярность сканирования и защищённое хранение конфигураций существенно снижают риск длительной компрометации.
Важно: при обнаружении признаков глубокого вмешательства рассмотрите изоляцию сервера и восстановление из надёжной резервной копии.
Сводка действий: обновите сигнатуры, сделайте снимки состояния (AIDE), запустите ClamAV и chkrootkit, проанализируйте вывод и выполните восстановление и усиление конфигурации.
Похожие материалы
Как сменить значок приложения Reddit
Шаблон заметок о встрече в Google Docs
Напоминания на Amazon Echo — как настроить
Как починить клавиатуру ноутбука самостоятельно
Приватный режим в браузерах Android