Как проверить Linux на вирусы и руткиты
TL;DR
Если вы подозреваете заражение Linux — проверьте систему тремя бесплатными инструментами: ClamAV для обнаружения вредоносных программ, chkrootkit и rkhunter для поиска руткитов. Обновите базы сигнатур, запустите сканирование с правами root, внимательно проверьте каждый срабатывающий пункт и при подтверждённом заражении сделайте резервную копию данных и переустановку системы.
Важно: руткиты могут скрывать свои следы — при серьёзном подозрении планируйте полную переустановку и восстановление из проверённых бэкапов.

Изображение: человек за компьютером, выполняющий проверку Linux на наличие вредоносного ПО и руткитов.
Введение
Linux реже становится приоритетной мишенью злоумышленников по сравнению с Windows, но это не значит, что он не уязвим. Вредоносное ПО для Linux существует, иногда маскируется под системные процессы и может оставаться незамеченным. В этой статье описаны три открытых инструмента для обнаружения угроз, а также рекомендации по проверке, анализу ложных срабатываний и восстановлению системы.
Ключевые инструменты, которые мы рассмотрим:
- ClamAV — классический антивирус со свежими сигнатурами.
- chkrootkit — быстрое сканирование на известные руткиты.
- rkhunter — расширенная проверка целостности и конфигураций.
Основная идея сканирования
Определение: руткит — вредоносный набор утилит, целью которого является скрыть присутствие злоумышленника и сохранить доступ с правами root.
Памятка: соблюдайте последовательность — обновление баз сигнатур, запуск сканеров от root, ручная проверка предупреждений, резервное копирование перед радикальными действиями.
1. ClamAV — классический антивирус для Linux
ClamAV — свободный антивирус, хорошо известный в сообществе открытого ПО. Он использует сигнатуры для обнаружения известных образцов вредоносного кода. Есть консольная утилита и графическая оболочка ClamTK.
Установка ClamAV и ClamTK
Для Debian/Ubuntu и производных можно установить так:
sudo apt install clamav clamtkВ других дистрибутивах пакеты обычно называются clamav и clamtk и доступны в репозиториях.
Перед сканированием обновите базу сигнатур (требуются права root):
sudo freshclamЕсли демон обновления запущен автоматически, можно сначала остановить его, чтобы выполнить обновление вручную:
sudo systemctl stop clamav-freshclam
sudo freshclam
sudo systemctl start clamav-freshclamЗапуск сканирования с ClamTK

Изображение: главное окно ClamTK с меню сканирования.
В графическом интерфейсе установите в настройках сканирования флаги: сканировать файлы, начинающиеся с точки, рекурсивное сканирование каталогов и сканирование больших файлов. Это расширит покрытие проверки.

Изображение: настройки ClamTK — опции рекурсивного и скрытого сканирования.
Чтобы просканировать файловую систему, выберите “Scan A Directory” и укажите “Filesystem”. Для полного доступа может потребоваться запустить ClamTK с sudo или использовать консольную утилиту clamscan:
sudo clamscan -r --bell -i /Опции: -r — рекурсивно, -i — показывать только заражённые файлы.

Изображение: процесс сканирования ClamTK с индикатором прогресса.
После завершения ClamTK предложит варианты действий для найденных угроз. Удаление часто предпочтительно, но если это системный файл, удаление может повредить систему. В таких случаях сохраните файловый образ и проведите ручный анализ.
2. chkrootkit — быстрый поиск руткитов
Chkrootkit ориентирован на поиск известных руткитов и вредоносных модификаций системных утилит. Это быстрый инструмент, который полезен для первичной проверки.
Установка:
sudo apt install chkrootkitЗапуск и интерпретация результатов

Изображение: вывод chkrootkit в терминале во время сканирования.
Запустите программу от root:
sudo chkrootkitОна переберёт список проверок и выведет строки вроде “INFECTED” или “not infected”. Программа не формирует единый итоговый отчёт, поэтому пройдитесь по выводу вручную.
Можно фильтровать вывод через grep, но это не даёт 100% гарантии обнаружения всех индикаторов:
sudo chkrootkit | grep INFECTEDИзвестные ложные срабатывания
Некоторые проверки chkrootkit дают ложные срабатывания из-за изменений в системных утилитах или конфигурации:
- Старый баг для Linux/Ebury (Operation Windigo) связан с новым флагом
-Gв SSH. Для проверки выполните от root:
find /lib* -type f -name libns2.soЕсли файл не найден — вероятно, это ложный срабатывание. Также проверьте сокеты:
netstat -nap | grep "@/proc/udevd"- Положительные результаты для
tcpdна Ubuntu могут быть ложными. Исследуйте и сверяйтесь с журналами. - Появление
wtedможет указывать на ошибки логирования после краха; проверьтеlastдля соответствия времени перезагрузок.
Всегда сопоставляйте результаты chkrootkit с журналами и поведением системы.
3. rkhunter — глубокая проверка целостности
Rkhunter (Rootkit Hunter) — ещё один инструмент для обнаружения руткитов. Он проверяет файлы, конфигурации, подозрительные разрешения и известные сигнатуры.
Установка:
sudo apt install rkhunterОбновление и проверка
Перед проверкой обновите базы rkhunter:
sudo rkhunter --update
Изображение: вывод rkhunter с предупреждениями и указанием лога.
Запустите проверку:
sudo rkhunter --check --skПрограмма останавливается после разделов и печатает предупреждения. Многие предупреждения — следствие нестандартной конфигурации. Основной лог находится в /var/log/rkhunter.log.
Rkhunter формирует сводку по окончании; просмотрите лог для понимания причин предупреждений.
Когда сканирование может не сработать
- Руткит уже работает с правами root и перехватил системные вызовы — он может скрывать свои файлы и процессы.
- Новое или таргетированное вредоносное ПО может не иметь сигнатур в базах ClamAV/rkhunter.
- Заражение внутри контейнера или виртуальной среды может быть ограничено и не видно с хоста.
Если подозрение остаётся, не полагайтесь только на сигнатуры — используйте поведенческий анализ, контроль целостности файлов (AIDE, Tripwire) и сетевой мониторинг.
Альтернативные подходы и превентивные меры
- Контроль целостности: AIDE или Tripwire отслеживают изменения в критичных файлах.
- Ограничения доступа: включите AppArmor или SELinux и настройте политики для сервисов.
- Минимизация привилегий: запускайте службы с непривилегированными учётными записями.
- Безопасные источники пакетов: используйте официальные репозитории и проверяйте подписи пакетов.
- Подписи и контроль загрузчика: включите Secure Boot при поддержке дистрибутива.
Процесс реагирования при подтверждённом заражении
Короткий план действий:
- Изолируйте систему от сети.
- Сделайте полную резервную копию важных данных (только данные, не образы системы).
- Снимите образ диска для последующего судебного анализа, если нужно.
- Проведите ручной анализ логов и сетевых соединений.
- Переустановите систему из чистого образа и восстановите данные из проверенного бэкапа.
Пример команд для экстренного сбора артефактов
sudo tar -czf /root/artifacts-$(date +%F).tgz /var/log /etc /root
sudo ss -tunap > /root/net-connections.txt
sudo lsof -nP > /root/lsof.txtСохраните артефакты на внешний носитель для последующего анализа.
Сценарий инцидента — пошаговый план
- Изолировать сервер от сети (удалить кабель или выключить виртуальный интерфейс).
- Оповестить команду безопасности.
- Снять логи и артефакты (см. команды выше).
- Заблокировать учётные записи, которые могли быть скомпрометированы.
- Подготовить чистую установку ОС и проверить целостность установочного образа.
- Восстановить данные только после проверки их на предмет вставленного бэкдора.
- Прописать уроки и обновить политики безопасности.
Критерии приёмки
- Журнал проверки показывает отсутствие активных руткитов и сигнатур.
- Службы перезапущены и работают под ограниченными учётными записями.
- Все внешние ключи/пароли скомпрометированных учётных записей заменены.
- Процедуры резервного копирования и обновления настроены и протестированы.
Чек-лист администратора
- [ ] Обновить базы ClamAV:
sudo freshclam. - [ ] Запустить
sudo clamscan -r --bell -i /. - [ ] Запустить
sudo chkrootkitи просмотреть вывод. - [ ] Обновить rkhunter:
sudo rkhunter --updateиsudo rkhunter --check. - [ ] Сохранить логи:
/var/log/rkhunter.logи вывод chkrootkit. - Сделать резервную копию важных данных.
- Отключить доступ по SSH для root и проверить ключи.
Настройка периодических сканирований
Пример задания cron для ежедневного обновления ClamAV и сканирования домашней директории:
# Обновление баз и запуск скана в 03:00
0 3 * * * /usr/bin/freshclam && /usr/bin/clamscan -r -i /homeЛучше использовать systemd-timer для современных систем, чтобы контролировать журнал и перезапуск при ошибках.
Ментальные модели и эвристики
- Сигнатуры находят известное; поведенческий анализ и контроль целостности — защиту от неизвестного.
- Ложные срабатывания часты у инструментов, которые проверяют системные утилиты. Не паникуйте — собирайте доказательства.
- При сомнении доверяйте бэкапам и чистой переустановке больше, чем попыткам «починить» системные бинарники.
Глоссарий (в одну строку)
- Руткит: вредоносный набор, скрывающий присутствие злоумышленника и дающий доступ с правами root.
- Сигнатура: уникальная подпись вредоносного файла, используемая антивирусом для обнаружения.
- Контроль целостности: проверка неизменности системных файлов с помощью хешей.
Краткое руководство по восстановлению и откату
- Убедитесь, что у вас есть последний чистый бэкап данных и конфигураций.
- Переустановите ОС с официального образа.
- Обновите систему и установите базовую защиту (AppArmor/SELinux, брандмауэр).
- Восстанавливайте данные выборочно, предварительно проверив их на другом чистом хосте.
Заключительные рекомендации
- Сканы полезны, но не всесильны. Комбинируйте сигнатурные сканеры с мониторингом поведения и контролем целостности.
- Документируйте шаги расследования и храните артефакты инцидентов в защищённом хранилище.
- Периодически тестируйте процессы восстановления и обновляйте методы защиты.
Если вы обнаружили заражение и не уверены в дальнейших шагах, лучше остановить систему и обратиться к специалистам по инцидент-реагированию.
Краткая сводка
- Используйте ClamAV для поиска известных вредоносных файлов.
- chkrootkit и rkhunter помогают найти руткиты и подозрительные изменения.
- Всегда обновляйте базы сигнатур и запускайте проверки с правами root.
- При подтверждённом заражении готовьтесь к переустановке и восстановлению из проверенных бэкапов.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента