Гид по технологиям

Аудит удалённой системы с помощью Lynis

• 6 min read • Безопасность • Обновлено 23 Nov 2025
Аудит удалённой системы с Lynis
Аудит удалённой системы с Lynis

Скриншот логотипа или интерфейса Lynis

Что такое Lynis в две строки

Lynis — это бесплатный и open-source инструмент для аудита безопасности систем, распространяемый по лицензии GPL. Он проверяет конфигурацию Linux/Unix‑систем и даёт рекомендации по улучшению безопасности.

Основные варианты использования этой инструкции

  • Провести единичный удалённый аудит без установки пакетов на целевой хост.
  • Выполнять аудиты по расписанию, отправляя отчёты на центральную машину.
  • Быстро протестировать удалённую систему при аудите инвентаря.

Кому пригодится этот материал

  • Системным администраторам, которые хотят проводить аудит множества машин из одной точки.
  • Аудиторам, у которых есть доступ по SSH, но нет привилегий для установки ПО на удалённом хосте.
  • DevOps‑инженерам для быстрого сканирования CI/QA сред.

Ключевые термины

  • SSH — защищённый удалённый доступ по сети.
  • SCP — утилита для копирования файлов по SSH.
  • tar.gz — сжатый архив, используемый для упаковки каталога Lynis.

Предварительные требования

  • На локальной машине (в примере — Kali Linux) установлены Git и Lynis (или хотя бы доступ к исходникам Lynis через Git).
  • Между локальной и удалённой машинами настроено SSH‑подключение по паролю или ключам.
  • Доступ в сеть между машинами (в примере IP‑адреса: 192.168.199.161 и 192.168.199.150).

Важно: используйте обычные ASCII‑кавычки в командах: ‘YOUR_USERNAME’. Замените их на реальные учётные данные и IP‑адрес.

Экспериментальная среда (пример)

  • Локальная машина: Kali Linux (IP 192.168.199.161/24)
  • Удалённая машина: Ubuntu 20.04 (IP 192.168.199.150/24)

На локальной машине Lynis получен через Git и запускается от каталога, куда клонирован репозиторий — отсюда в примерах префикс ./lynis. Если Lynis установлен через пакетный менеджер (apt), достаточно вызвать lynis напрямую.

Пошаговая инструкция: аудит удалённой системы

Ниже показан полный рабочий процесс — от клонирования исходников до получения отчёта и очистки следов на целевом хосте.

1. Клонировать репозиторий Lynis на локальную машину

git clone https://github.com/CISOfy/lynis

Клонирование репозитория Lynis с GitHub

2. Подготовить каталог для архива

cd lynis
mkdir -p files
ls

Создайте каталог files, куда поместим итоговый архив.

3. Упаковать исходники в tar.gz архив (из родительского каталога)

Важно: запускать следующую команду «снаружи» каталога lynis, чтобы не добавлять лишний путь в архив.

cd ..
tar czf ./lynis/files/lynis-remote.tar.gz --exclude=files/lynis-remote.tar.gz ./lynis

Проверьте, что архив появился:

cd lynis
ls files/

Проверка наличия архива lynis-remote.tar.gz в каталоге files

4. Скопировать архив на удалённую систему

Используем scp. Замените YOUR_USERNAME и 192.168.199.150 на реальные данные удалённого хоста.

scp -q ./files/lynis-remote.tar.gz 'YOUR_USERNAME'@192.168.199.150:~/tmp-lynis-remote.tgz

Подтвердите fingerprint хоста и введите пароль, если требуется. После копирования на удалённом хосте появится файл tmp-lynis-remote.tgz в домашнем каталоге.

Архив появился на удалённой машине

5. Распаковать и запустить аудит удалённо по SSH

Команда ниже создаст временный каталог на удалённом хосте, распакует туда архив, удалит архив и запустит ./lynis audit system оттуда.

ssh 'YOUR_USERNAME'@192.168.199.150 "mkdir -p ~/tmp-lynis && cd ~/tmp-lynis && tar xzf ../tmp-lynis-remote.tgz && rm ../tmp-lynis-remote.tgz && cd lynis && ./lynis audit system"

Запуск сканирования удалённой машины через ssh

Запуск может занять от десятков секунд до нескольких минут, в зависимости от размера и конфигурации системы.

Пример фрагмента вывода (сокращённый):

[+] Kernel
------------------------------------
- Checking default run level                     [ RUNLEVEL 5 ]
- Checking CPU support (NX/PAE)
CPU support: PAE and/or NoeXecute supported     [ FOUND ]
- Checking kernel version and release            [ DONE ]
- Checking kernel type                            [ DONE ]
- Checking loaded kernel modules                  [ DONE ]
Found 147 active modules
- Checking Linux kernel configuration file        [ FOUND ]
- Checking default I/O kernel scheduler           [ NOT FOUND ]
- Checking for available kernel update            [ OK ]
- Checking core dumps configuration
- configuration in systemd conf files             [ DEFAULT ]
- configuration in etc/profile                    [ DEFAULT ]
- 'hard' configuration in security/limits.conf   [ DEFAULT ]
- 'soft' configuration in security/limits.conf   [ DEFAULT ]
- Checking setuid core dumps configuration         [ PROTECTED ]
- Check if reboot is needed                       [ NO ]
[+] Memory and Processes
...

6. Удалить временные файлы на удалённом хосте

После завершения сканирования удалите временный каталог:

ssh 'YOUR_USERNAME'@192.168.199.150 "rm -rf ~/tmp-lynis"

7. Получить журналы и отчёты на локальную машину

На удалённой машине Lynis по умолчанию создаёт lynis.log и lynis-report.dat в домашнем каталоге (если запускали без sudo, файлы создаются в домашнем каталоге пользователя). Скопируйте их:

scp -q 'YOUR_USERNAME'@192.168.199.150:~/lynis.log ./files/192.168.199.150-lynis.log
scp -q 'YOUR_USERNAME'@192.168.199.150:~/lynis-report.dat ./files/192.168.199.150-lynis-report.dat

Скачивание логов и отчётов Lynis на локальную машину

8. Очистка логов на удалённом хосте (при запуске от непривилегированного пользователя)

ssh 'YOUR_USERNAME'@192.168.199.150 "rm ~/lynis.log ~/lynis-report.dat"

Удаление логов Lynis на удалённой машине

После этого следов аудита (кроме пакета lynis, если он был установлен) не останется в домашнем каталоге пользователя.

Критерии приёмки

  • Отчёт lynis-report.dat и лог lynis.log успешно скопированы на локальную машину.
  • На удалённом хосте не осталось временных каталогов и файлов (~/tmp-lynis, tmp-lynis-remote.tgz, lynis.log, lynis-report.dat).
  • Процесс аудита завершился без фатальных ошибок в выводе.

Когда этот подход не подходит (ограничения)

  • Нет SSH‑доступа к удалённой машине.
  • Политика безопасности запрещает копирование и запуск произвольного кода, даже временно.
  • Целевая система — Windows или специальная ОС, для которых Lynis не предназначен.

Альтернативные подходы

  • Установить Lynis на удалённой машине через пакетный менеджер и запускать локально через SSH без архивации.
  • Использовать rsync вместо scp для передачи при медленных/нестабильных соединениях:
rsync -avz ./lynis 'YOUR_USERNAME'@192.168.199.150:~/tmp-lynis
  • Использовать Ansible для массового запуска Lynis на множестве хостов и централизации результатов.

Мини‑методология для регулярных удалённых проверок

  1. Подготовка: проверить ключи SSH и разрешения, настроить директорию для отчётов.
  2. Деплой: заархивировать текущую версию Lynis и отправить на все цели.
  3. Выполнение: запуск ./lynis audit system через SSH параллельно (GNU Parallel / pssh / Ansible).
  4. Сбор: скопировать lynis.log и lynis-report.dat в центральный репозиторий.
  5. Анализ: агрегировать предупреждения и рекомендации, приоритизировать по риску.
  6. Очистка: удалить временные файлы на целевых хостах.

Чек‑лист ролей

  • Для администратора сервера:
    • Проверить доступ по SSH и права пользователя.
    • Убедиться в наличии свободного места, куда будет распакован архив.
  • Для аудитора:
    • Подготовить шаблон действий на основе результатов Lynis (что фиксировать, какие файлы сохранять).
    • Анализировать lynis-report.dat и формировать plan‑of‑action.
  • Для владельца приложения/сервиса:
    • Проверить рекомендации, касающиеся конфигурации сервисов.
    • Планировать исправления по приоритету.

Decision flowchart (общая логика принятия решения)

flowchart TD
  A[Есть SSH‑доступ?] -->|Да| B[Отправить архив и запустить Lynis]
  A -->|Нет| C[Нужен другой метод: агент/установка/доступ по VPN]
  B --> D{Аудит завершился успешно?}
  D -->|Да| E[Скопировать отчёты и очистить]
  D -->|Нет| F[Проверить ошибки, повторить с sudo или локально]

Советы по безопасности и приватности

  • Используйте SSH‑ключи с passphrase и агент ssh‑agent для автоматизации.
  • Запускайте аудит с минимально необходимыми привилегиями; если нужно больше прав (например, проверка конфигураций, доступных только root), используйте sudo на целевом хосте, но документируйте причину.
  • Не храните журналы и отчёты с чувствительной информацией в общедоступных местах без шифрования.

Обработка ошибок и отладка

  • Если scp завершается с ошибкой Fingerprint/Host key mismatch — убедитесь в правильности DNS/IP и удалите запись из ~/.ssh/known_hosts, если это безопасно.
  • Если ./lynis не запускается на удалённом хосте, проверьте исполнение (chmod +x lynis) и зависимости (perl и прочие компоненты).

Когда результаты могут вводить в заблуждение

  • Некоторые предупреждения Lynis — это рекомендации, зависящие от контекста (например, отключение сервиса может нарушить работу приложения). Всегда оценивайте влияние перед изменениями.

Короткий план действий после получения отчёта

  1. Соберите все предупреждения и рекомендации от Lynis.
  2. Разбейте их по уровням риска: критично / средне / низко.
  3. Для критичных рекомендаций подготовьте план исправлений и сроки.
  4. Повторите аудит после исправлений.

Резюме

Мы разобрали полный цикл удалённого аудита системы с помощью Lynis: подготовка архива, копирование на целевой хост, удалённый запуск аудита, выгрузка отчётов и очистка временных данных. Этот подход полезен для единичных и массовых проверок, когда необходимо минимально вмешиваться в удалённую систему.

В следующих материалах можно углубиться в разбор конкретных предупреждений Lynis, в автоматизацию (Ansible/cron) и в интеграцию результатов в систему трекинга задач.

Важно: всегда согласовывайте действия по аудиту с владельцем инфраструктуры и документируйте шаги для воспроизводимости и соответствия требованиям безопасности.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро