Антивирус и защита Linux: ClamAV, rkhunter, Firejail, AIDE
Антивирус и защита Linux: ClamAV, rkhunter, Firejail, AIDE
🎯 Для кого эта шпаргалка
Для пользователей Parrot OS, Kali Linux, Debian, Ubuntu и других Debian-based дистрибутивов, которые:
- Регулярно скачивают файлы из непроверенных источников
- Запускают сомнительные бинарники
- Работают с криптовалютой на той же машине
- Хотят иметь базовый набор инструментов защиты
⚠️ Важно понимать
Миф: «На Linux нет вирусов».
Реальность: Для обычного пользователя — почти правда. Для того, кто добровольно запускает исполняемые файлы из непроверенных источников — полная неправда.
Реальные угрозы для Linux-систем:
- Стилеры (RedLine, Raccoon, Vidar) — крадут пароли, криптокошельки, SSH-ключи
- RAT / Backdoor — удалённый доступ к машине
- Crypto-miners — скрытые майнеры, грузят CPU
- Ransomware — шифровальщики данных, всё активнее пишутся под Linux
- Руткиты — прячутся от обычных антивирусов, встраиваются в ядро
📦 Установка за одну команду
sudo apt update
sudo apt install clamav clamav-daemon clamtk rkhunter chkrootkit firejail aide
sudo freshclam
sudo rkhunter --update
Что делает каждая команда — разберём ниже.
🔍 Что делает каждая команда
sudo apt update
Обновляет список доступных пакетов в репозиториях. Это не обновление самих программ, а обновление «каталога».
Аналогия: Вы идёте в библиотеку и берёте свежий каталог книг. Сами книги пока не берёте, но знаете, что и где лежит.
Зачем перед установкой: без этого шага apt install может попытаться скачать устаревшую версию, которой уже нет на сервере, и упасть с ошибкой.
sudo apt install ...
Устанавливает сразу 6 программ одной командой. Каждая — отдельный инструмент защиты с своей задачей.
sudo freshclam
Обновляет вирусные базы ClamAV. Свежеустановленный ClamAV имеет устаревшие базы из момента сборки пакета — freshclam подтягивает актуальные сигнатуры с серверов разработчика.
Размер загружаемых баз:
main.cvd— основная база (~170 МБ)daily.cvd— ежедневные обновления (~60 МБ)bytecode.cvd— поведенческий анализ (~300 КБ)
sudo rkhunter --update
Обновляет базу сигнатур rkhunter — список известных руткитов, хэшей системных файлов и правил обнаружения.
🛠 Инструменты по отдельности
1. ClamAV — основной антивирус
Что это: open-source антивирус, стандарт для Linux. Работает по сигнатурам известных угроз.
Установленные пакеты:
clamav— движок командной строкиclamav-daemon— фоновая служба (держит базы в памяти, сканирование в 10–50 раз быстрее)clamtk— графическая оболочка Базовое использование:
# Сканирование папки рекурсивно
clamscan -r /home/user/Downloads
# Показывать только заражённые файлы (без спама)
clamscan -r -i /home/user/Downloads
# Сканирование с автоматическим удалением заражённого
clamscan -r --remove /path/to/folder
# Сканирование одного файла
clamscan suspicious_file.exe
Полезные флаги:
| Флаг | Действие |
|---|---|
-r |
Рекурсивно (включая подпапки) |
-i |
Только заражённые файлы в выводе |
--remove |
Удалять заражённое автоматически |
--move=/quarantine |
Перемещать в карантин |
--bell |
Звуковой сигнал при обнаружении |
Минус: ловит только известные сигнатуры. Свежий (0-day) вредонос пропустит. Но 80% мусора из непроверенных источников — это пересобранные старые семейства, и ClamAV их видит.
2. rkhunter — сканер руткитов
Что это: Rootkit Hunter. Ищет то, что ClamAV пропускает — скрытые руткиты, встроенные в систему.
Что такое руткиты:
Вредонос, который модифицирует системные команды (ls, ps, netstat), чтобы они не показывали его процессы и файлы. Обычный антивирус его не видит — руткит встроен в ядро или подменяет бинарники.
Что делает rkhunter:
- Проверяет хэши критических системных файлов
- Ищет известные сигнатуры руткитов
- Обнаруживает подозрительные процессы
- Ищет скрытые открытые порты Использование:
# Полное сканирование системы
sudo rkhunter --check
# С отчётом только о предупреждениях (без лишней информации)
sudo rkhunter --check --report-warnings-only
# Тихий режим (для cron)
sudo rkhunter --check --skip-keypress
Займёт 5–15 минут.
3. chkrootkit — второй сканер руткитов
Что это: альтернативный сканер руткитов. Работает по другому алгоритму, чем rkhunter.
Почему два сразу:
- rkhunter проверяет хэши и сигнатуры
- chkrootkit проверяет поведение и аномалии системы Вместе они перекрывают слепые зоны друг друга.
Использование:
sudo chkrootkit
Вывод покажет статус проверок: INFECTED, not infected, nothing found.
4. Firejail — песочница для изоляции
Что это: инструмент для запуска программ в изолированной среде. Программа, запущенная через firejail, не видит вашу систему.
Это самый важный инструмент для пользователя, который скачивает файлы из непроверенных источников.
Что можно ограничить:
- Доступ к вашим файлам
- Доступ к сети
- Доступ к железу (микрофон, камера, USB)
- Доступ к системным процессам Базовые команды:
# Запустить программу без сети
firejail --net=none ./suspicious_binary
# Запустить Firefox в песочнице (типовая защита сёрфинга)
firejail firefox
# С чистой домашней папкой (программа не видит ваши файлы)
firejail --private ./some_program
# Комбинированно: без сети и без доступа к файлам
firejail --net=none --private ./unknown_binary
# С изолированной домашней папкой, которая уничтожится после закрытия
firejail --private --net=none ./suspicious
Готовые профили:
Firejail уже содержит профили для сотен популярных программ (Firefox, Chrome, VLC, Telegram, Discord). Просто добавьте firejail перед командой:
firejail firefox
firejail telegram-desktop
firejail vlc
Постоянное включение песочницы:
Чтобы Firefox всегда запускался в песочнице (даже через меню):
sudo firecfg
Команда настроит запуск поддерживаемых программ через firejail автоматически.
5. AIDE — контроль целостности системы
Что это: Advanced Intrusion Detection Environment. Создаёт «снимок» всех системных файлов и сверяет с ним.
Что делает:
- При первой настройке считает хэши всех важных файлов (
/bin,/etc,/usr,/sbin) - Сохраняет базу как эталон
- При проверках сравнивает текущее состояние с эталоном
- Показывает, что изменилось, добавилось или пропало
Зачем: если вирус подменил системный файл (например,
/bin/ls) — AIDE это покажет. Это защита от того, что не видят ни ClamAV, ни сканеры руткитов.
Инициализация (обязательна после установки):
# Создать эталонную базу (займёт 5–20 минут)
sudo aideinit
# Переместить базу в рабочее место
sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
Проверка изменений:
sudo aide --check
Обновление эталона (после легитимных изменений системы — обновлений, установки новых пакетов):
sudo aide --update
sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
⚠️ Без обновления эталона AIDE будет показывать кучу ложных срабатываний после каждого
apt upgrade.
⚙️ Настройка после установки
Шаг 1: Инициализировать AIDE
sudo aideinit
sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
Без этого AIDE работать не будет.
Шаг 2: Запустить демон ClamAV
# Проверить статус
sudo systemctl status clamav-daemon
# Запустить и включить автозагрузку
sudo systemctl start clamav-daemon
sudo systemctl enable clamav-daemon
Шаг 3: Включить автообновление вирусных баз
sudo systemctl status clamav-freshclam
sudo systemctl enable clamav-freshclam
После этого базы обновляются в фоне несколько раз в день.
Шаг 4: Настроить Firejail для браузера
sudo firecfg
Шаг 5: Первое полное сканирование
# Сканирование домашней папки (может занять час на большом объёме)
clamscan -r -i /home/$USER
# Проверка системы на руткиты
sudo rkhunter --check
sudo chkrootkit
📋 Повседневный workflow
При скачивании любого файла из непроверенного источника
# 1. Сканируем ClamAV
clamscan /path/to/downloaded_file
# 2. Если хочется запустить — только через firejail
firejail --net=none /path/to/downloaded_file
Раз в неделю — плановая проверка
# Обновление баз
sudo freshclam
sudo rkhunter --update
# Сканирование
sudo rkhunter --check
sudo chkrootkit
sudo aide --check
Автоматизация через cron
Добавьте в /etc/crontab:
# Каждое воскресенье в 3:00 полная проверка rkhunter
0 3 * * 0 root /usr/bin/rkhunter --check --report-warnings-only --skip-keypress
# Каждый день в 4:00 обновление баз
0 4 * * * root /usr/bin/freshclam --quiet
# Каждую субботу в 2:00 проверка AIDE
0 2 * * 6 root /usr/bin/aide --check
📊 Сводная таблица инструментов
| Инструмент | Тип защиты | Когда использовать | Команда проверки |
|---|---|---|---|
| ClamAV | Антивирус по сигнатурам | Перед запуском любого скачанного файла | clamscan -r /path |
| rkhunter | Сканер руткитов | Раз в неделю | sudo rkhunter --check |
| chkrootkit | Сканер руткитов (другой алгоритм) | Раз в неделю вместе с rkhunter | sudo chkrootkit |
| firejail | Песочница для изоляции | При запуске любого сомнительного ПО | firejail --net=none ./file |
| aide | Контроль целостности системы | Раз в неделю | sudo aide --check |
🛡 Дополнительные инструменты
Если базового набора мало, добавьте следующее.
VirusTotal — облачная проверка 70+ антивирусами
Любой подозрительный файл загружайте на virustotal.com — проверит сразу десятками антивирусных движков.
sudo apt install vt-cli
vt scan file /path/to/suspicious_file
⚠️ VirusTotal публичен. Не загружайте туда приватные файлы — они становятся доступны исследователям безопасности.
OpenSnitch — файрвол с уведомлениями
Показывает каждое новое сетевое соединение и спрашивает: «Разрешить или запретить?». Аналог Little Snitch на macOS.
Установка с GitHub-репозитория.
Позволяет заметить, когда подозрительный процесс пытается «позвонить домой».
Lynis — сканер уязвимостей системы
Проверяет всю систему на слабые настройки, устаревший софт, отсутствующие обновления безопасности.
sudo apt install lynis
sudo lynis audit system
Fail2Ban — защита от брутфорса
Обязателен, если у вас открыт SSH-порт наружу. Блокирует IP-адреса, которые подбирают пароли.
sudo apt install fail2ban
sudo systemctl enable fail2ban
✅ Чек-лист для проверки защиты
После установки и настройки убедитесь:
- Команды
clamscan,rkhunter,chkrootkit,firejail,aideвыполняются без ошибок -
systemctl status clamav-daemon— активен -
systemctl status clamav-freshclam— активен - База AIDE создана (
ls /var/lib/aide/aide.db) - Выполнено первое сканирование
clamscan,rkhunter,chkrootkitбез критичных находок - Настроены задачи в cron для автоматических проверок
- Выработана привычка: сканировать файлы до запуска, запускать через firejail
🔒 Полезные команды на каждый день
# Быстрая проверка загрузок
clamscan -r -i ~/Downloads
# Запустить Firefox в песочнице
firejail firefox
# Запустить подозрительный файл без сети
firejail --net=none ./unknown
# Обновить все базы сразу
sudo freshclam && sudo rkhunter --update
# Проверить, что изменилось в системе
sudo aide --check
# Полная проверка системы (раз в неделю)
sudo rkhunter --check && sudo chkrootkit
💡 Главные принципы безопасности Linux
- Не запускайте что попало из непроверенных источников. Никакой антивирус не заменит здравый смысл.
- Всегда сканируйте перед запуском. ClamAV + VirusTotal — минимум 30 секунд на файл.
- Изолируйте неизвестное через Firejail. Даже «безобидная» программа может быть заражена.
- Раз в неделю — плановая проверка. rkhunter + chkrootkit + aide ловят то, что антивирус пропустил.
- Обновляйте систему регулярно.
sudo apt update && sudo apt upgrade— раз в неделю минимум. - Бэкапы (borg, restic) на зашифрованный внешний диск — на случай ransomware.
- Отдельный криптокошелёк (аппаратный — Ledger, Trezor) — не храните seed-фразы на той же машине, где запускаете сомнительный софт.
📚 Что почитать дальше
- Официальная документация ClamAV: docs.clamav.net
- Firejail man page:
man firejailи профили в/etc/firejail/ - Rkhunter:
man rkhunter - AIDE: aide.github.io
Безопасность — это не программа, а привычка. Инструменты из этой шпаргалки закрывают 80% типичных угроз. Остальные 20% — это то, что вы делаете осознанно каждый день.