// Engineering Log
Защита Linux-сервера: Часть 4 — Аудит и hardening с Lynis
Опубликовано 22.09.2026
// Быстрый маршрут
Эта статья относится к теме Безопасность и защита.
Межсетевой экран, Fail2ban и CrowdSec отвечают на атаки, которые уже идут. Аудит решает другую задачу: заранее найти слабые места в настройке сервера — лишние службы, мягкие настройки SSH, неправильные права на файлы, отсутствие обновлений — и закрыть их до того, как ими воспользуются. Такую работу называют hardening, укреплением системы. Самый распространённый бесплатный инструмент для неё — Lynis.
Что такое Lynis
Lynis — сканер безопасности для Linux, macOS и BSD от компании CISOfy. Он распространяется под лицензией GPLv3, актуальная версия — 3.1.7 (25.06.2026). Lynis не нужно компилировать: это набор shell-скриптов, который запускается прямо из каталога или ставится пакетом.
Lynis ничего не меняет в системе. Он проверяет настройки ядра, загрузчика, SSH, пользователей и паролей, установленные пакеты и их обновления, права на файлы, журналирование, межсетевой экран, сетевые службы — и выдаёт отчёт с найденными проблемами и советами.
Коммерческая версия, Lynis Enterprise, добавляет веб-интерфейс, отчёты по нескольким серверам, планы исправлений и проверку на соответствие стандартам вроде PCI DSS и ISO 27001. Для одного или нескольких серверов достаточно бесплатной версии.
Установка и запуск
В репозиториях Debian и Ubuntu Lynis есть, но версия там часто отстаёт. Свежую версию можно поставить из репозитория CISOfy или просто скачать из GitHub:
git clone https://github.com/CISOfy/lynis
cd lynis
sudo ./lynis audit systemЗапускать лучше от root: без прав Lynis часть проверок пропустит и предупредит об этом. Проверка занимает минуту-две.
Как читать результат
В выводе и в отчёте есть три главные вещи.
Warnings (предупреждения) — проблемы, которые действительно требуют действия. Их обычно немного.
Suggestions (советы) — места, где настройку можно улучшить. Их всегда заметно больше, и далеко не все применимы к вашему серверу.
Hardening index — итоговый показатель защищённости. Сам по себе он мало что говорит, но удобен для сравнения: запустите аудит до и после изменений и посмотрите, как он менялся.
У каждой находки есть идентификатор, например SSH-7408. Подробности по нему:
sudo lynis show details SSH-7408Полный журнал проверки пишется в /var/log/lynis.log и перезаписывается при каждом запуске, машинно читаемый отчёт — в /var/log/lynis-report.dat.
Что исправлять в первую очередь
Советов бывает несколько десятков, и исправлять всё подряд не нужно. Разумный порядок:
- Предупреждения. Всё, что отмечено как warning, разобрать сразу.
- Обновления. Пакеты с известными уязвимостями и отсутствие автоматических обновлений безопасности — самая частая реальная причина взломов.
- SSH. Вход только по ключам, запрет входа root по паролю, отключение неиспользуемых способов аутентификации.
- Лишние службы и порты. Всё, что слушает сеть и не нужно, — остановить и отключить. Это же проверяется межсетевым экраном.
- Пользователи и права. Учётные записи без пароля, лишние права sudo, файлы с правами на запись для всех.
- Журналирование. Журналы должны писаться и храниться достаточно долго, иначе после инцидента нечего будет разбирать.
Советы, которые к серверу неприменимы (например, отдельный раздел для /tmp на маленьком VPS), можно отключить в собственном профиле custom.prf, чтобы они не мешали видеть главное.
Автоматизация
Разовый аудит полезен, но настройки со временем «уплывают»: кто-то открыл порт для отладки, поставил пакет, поменял конфигурацию SSH. Поэтому аудит стоит запускать регулярно.
Для запуска по расписанию у Lynis есть ключ --cronjob: он отключает цвета и ожидание ввода.
# /etc/cron.d/lynis — еженедельный аудит в понедельник в 5:00
0 5 * * 1 root /usr/sbin/lynis audit system --cronjob > /var/log/lynis-weekly.log 2>&1Дальше отчёт можно отправлять по почте или собирать hardening index в мониторинг, чтобы видеть, если он резко упал.
Исправления удобнее вносить не руками на каждом сервере, а через систему управления конфигурацией. Для Ansible есть открытая коллекция devsec.hardening проекта DevSec: она применяет типовые настройки ОС и SSH. После её применения Lynis показывает, что ещё осталось.
Чем Lynis не является
- Это не антивирус и не система обнаружения вторжений: он не ищет работающие атаки и вредоносный код.
- Это не сканер уязвимостей приложений: ошибки в коде вашего сайта он не найдёт.
- Высокий hardening index не означает, что сервер защищён: он показывает только то, насколько настройки соответствуют набору проверок Lynis.
Типичные ошибки
- Запуск без root — часть проверок пропущена, отчёт выглядит лучше, чем есть.
- Попытка исправить все советы подряд, включая неприменимые, — уходит время, а важное теряется.
- Аудит один раз после установки и никогда больше.
- Применение советов без проверки — например, ужесточение SSH без проверки входа из второй сессии заканчивается потерей доступа.
- Версия из репозитория дистрибутива на год-два старше актуальной: новых проверок в ней нет.
Аудит — последний слой в этом цикле, и начинать его лучше с базовых шагов из чек-листа «Купил VPS — что дальше?» и статьи «Новый сервер — это не чистый лист».
// Похожая задача
Если у вас похожая ситуация
Эта статья относится к одной из рабочих тем. Можно продолжить чтение по теме, перейти на главную, чтобы понять, чем я занимаюсь, или сразу открыть услуги.
Тема статьи
Безопасность и защита
SSL, hardening, доступы, защита сервисов и безопасные конфигурации.
Часто с этим приходят
- Настроить SSL, сертификаты и безопасные подключения
- Ограничить доступы и закрыть лишние точки входа
- Усилить конфигурацию сервера и сервисов
// Следующий шаг
Если вам нужна не только статья, а помощь по этой теме, удобнее сразу перейти в услугу. Главная и подборка материалов остаются рядом.
Открыть услуги// Contact
Нужна помощь?
Свяжись со мной и я помогу решить проблему
Написать в TelegramОтвечаю в течение рабочего дня (03:00–13:00 GMT)
Или оставьте заявку здесь:
// Related