Популярность Linux растет не только у пользователей, но и у злоумышленников. При этом частенько сервера на Linux используются для распространения зловредов через сайты. Поэтому риски (включая имиджевые), вызванные всякой дрянью, которая так и норовит поселиться на наших теплых ламповых серверах, в случае с Linux иногда гораздо выше, чем просто участие хомячковой машинки на Windows в спам ботнете. При этом многие пользователи, а иногда и администраторы, уверены, что раз у них Linux, то от вирусов они точно защищены. К сожалению, данное мнение ошибочно, достаточно посмотреть на постоянно появляющиеся сообщения об уязвимостях.
В рамках сегодняшней статьи я расскажу о нескольких программах, которые помогут выяснить, не скомпрометирован ли ваш железный любимец.
Все описанное ниже демонстрируется на примере Debian и Ubuntu, но, с небольшими коррекциями, применимо к любой Linux машине и в большинстве случаев к Mac и BSD.
ClamAV.
Наверно самым популярным средством защиты Linux является ClamAV. Оно и понятно — управление им по простоте сопоставимо с любым Windows антивирусом. ClamAV — собственно и есть полноценный антивирус, при этом работающий не только на nix, но и на Windows, в лице базирующегося на нем Immunet. Правда Windows версия не приспособлена для работы на серверах, т.е. это чисто десктопное решение. Зато Immunet можно применять совместно с целым списком популярных антивирусных решений, что несомненно плюс. Но вернемся к Linux решению.
Установим необходимые пакеты:
|
|
Теперь необходимо обновить антивирусные базы.
|
|
Второй вариант обновить сигнатуры — вручную. Для этого скачаем сигнатуры с сайта:
|
|
Распакуем сигнатуры.
|
|
Если мы хотим поставить постоянную защиту, после завершения скачивания сигнатур, запустим clamav-daemon.
|
|
Для теста работоспособности создадим файл с тестовым вирусом eicar.
|
|
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
Теперь натравим на файл наш антивирус.
|
|
Если все нормально, должен вернуться подобный результат:
eicar.test: Eicar-Test-Signature FOUND
----------- SCAN SUMMARY -----------
Known viruses: 4046913
Engine version: 0.97.7
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 6.341 sec (0 m 6 s)
Примеры сканирования системы:
|
|
Chkrootkit
Следующим в нашем списке выступает небезызвестный Chkrootkit. Он представляет собой Shell скрипт, что обеспечивает его работу при отсутствии каких либо интерпретаторов и компиляторов. Для проверки используются стандартные утилиты Linux.
Чтобы установить Chkrootkit выполним команду:
|
|
Утилита имеет два режима — обычный и экспертный. Обычный режим запускается простым вызовом команды:
|
|
Экспертный — с ключом -x:
|
|
Rootkit Hunter
Еще одна Open Source утилита по борьбе со злом — Rootkit Hunter. Поставить его в Debian и Ubuntu можно командой:
|
|
В отличие от Chkrootkit, утилита имеет систему обновлений, что обеспечивает актуальность списка потенциальных угроз.
Команда обновления сигнатур:
|
|
Сканирование системы запускается командой
|
|
По умолчанию лог пишется по пути /var/log/rkhunter.log. Важные ключи:
--append-log Дописывать лог, не перезатирая.
-C, --config-check Проверить конфиг.
--configfile <file> Указать путь до конфига.
--cronjob Запустить, как задание крона
--debug Debug mode
--disable <test>[,<test>…] Отключить какие-либо из тестов.
--display-logfile Отобразить содержимое лог-файла после завершения
--enable <test>[,<test>…] Включить какие-либо из специфических тестов.
--list [tests | languages |Отобразить возможные языки и тесты.
-l, --logfile [file] Указать путь до лога.
--noappend-log Перезаписывать лог.
--nolog Не писать лог в файл
--nomow Не присылать уведомлений по почте о возможных проблемах.
--ns, –nosummary Не показывать сводную информацию.
--rwo, --report-warnings-only Показывать только проблемы.
-r, --rootdir <directory> Использовать нестандартную root директорию.
--sk, --skip-keypress Не ожидать нажатия клавиш для начала теста.
--summary Просмотреть суммарную информацию по тестам.
--syslog [facility.priority] Записывать время начала и конца тестов в syslog.
--tmpdir <directory> Указать нестандартную temp директорию.
--unlock Разблокировать заблокированные файлы.
--versioncheck Проверить последнюю версию программы.
-x, --autox Автоматически определять наличие исков.
-X, --no-autox Не определять автоматически наличие иксов.
Продолжение следует…
Смотрите также
- Как добавить постоянные статические маршруты (persistent static routes) в Mac OS X.
- maybe? Интересная песочница для отладки операций с файлами в скриптах Linux.
- Знакомство с CMake. Часть 1. Установка, CMakeLists.txt, сборка.
- Упрощаем администрирование с etckeeper. Настройка контроля версий конфигов в /etc.
- HTTPS для сайта на WordPress под управлением nginx.