30 ноября 2020

🐧 Lynis, Lunar, LSAT и LBSA: изучаем набор утилит для аудита безопасности Linux

Более 7 лет работы в IT-сфере. Системное администрирование, frontend разработка, написание скриптов на Python.
Применение автоматизированных методов аудита – часть процесса обучения специалиста по кибербезопасности. Рассказываем об утилитах для Linux, помогающих выявить слабые места в системе.
🐧 Lynis, Lunar, LSAT и LBSA: изучаем набор утилит для аудита безопасности Linux

Среди среди пользователей и системных администраторов Linux считается безопасной ОС. При этом существует множество дистрибутивов со своими настройками по умолчанию, тысячами программных пакетов разных версий, а также работающими в фоновом режиме службами, о которых мы почти не заботимся. Это приводит к необходимости периодически проводить аудит безопасности ОС, чтобы избежать возможных проблем.

Кстати, новичкам стоит ознакомиться с нашим списком ресурсов для изучения Linux.

Чтобы определить состояние безопасности программного обеспечения, сети и работающих на компьютере служб, можно запустить несколько команд и получить фрагменты важной информации, но объем данных для анализа будет огромным – на помощь придут комплексные утилиты безопасности.

Lynis

результаты проверки Lynis
результаты проверки Lynis

Lynis – это инструмент аудита для UNIX-подобных систем, таких как Linux, OS X, Free/Net/Open BSD и других. Основная цель утилиты – проверить средства защиты и дать советы по настройке безопасности. Lynis сканирует общую информацию о системе, уязвимые пакеты программного обеспечения и возможные проблемы с конфигурацией.

Поддерживаемые дистрибутивы Linux

  • CentOS;
  • Debian;
  • Fedora;
  • OEL;
  • openSUSE;
  • RHEL;
  • Ubuntu;
запуск Lynis
запуск Lynis

Для чего предназначен

  • автоматизированный аудит безопасности;
  • тестирование на соответствие ISO27001, PCI-DSS, HIPAA;
  • обнаружение уязвимости;
  • конфигурирование и управление активами;
  • управление исправлениями для программного обеспечения;
  • укрепление системы;
  • тестирование на проникновение;
  • обнаружения вторжений.

Установка и запуск

Установка через YUM

        $ yum install lynis
    

Debian-подобные

        $ apt-get install lynis
    

openSUSE

        $ zypper install lynis
    

Установка через Git

        $ cd /usr/local
$ git clone https://github.com/CISOfy/lynis
$ cd lynis
    

Также вы можете напрямую скачать и распаковать архив с утилитой в предварительно созданный каталог. Lynis работает и без предварительной настройки, базовое сканирование запускается командой:

        $ lynis audit system
    
Lynis в работе
Lynis в работе

Полезные опции

-checkall, -c – запуск сканирования;

-check-update – проверка обновлений;

-cronjob – запускает Lynis через планировщик;

-quick, -Q – не ждать ввода пользователя, кроме ошибок;

-version, -V – выводит версию Lynis.

Lunar

<span>LUNAR</span>
LUNAR

LUNAR – сокращение от Lockdown UNix Auditing and Reporting. Этот сценарий генерирует отчет аудита безопасности хоста UNIX. Он основан на CIS и других фреймворках.

Поддерживаемые ОС и дистрибутивы Linux

  • RHEL 5,6,7;
  • Centos 5,6,7;
  • Scientific Linux;
  • SLES 10,11,12;
  • Debian;
  • Ubuntu;
  • Amazon Linux;
  • Solaris (6,7,8,9,10 и 11);
  • Mac OS X.

Утилита также поддерживает облачную платформу Amazone и контейнеры Docker.

Для чего предназначен

LUNAR обычно используется для оценки безопасности, самооценки или повышения безопасности системы.

Установка и запуск

LUNAR это сценарий командной строки sh, поэтому особых усилий по установке он не требует. Качаем архив с Github, распаковываем в соответствующую директорию и запускаем из командной строки.

        $ ./lunar.sh -a
    

Рекомендуется запускать в режиме аудита (параметр -a).

Lunar в работе
Lunar в работе

Полезные опции

Будьте внимательны и осторожны при запуске в режиме исправлений! У автора статьи при запуске в режиме изменений скрипт выкинул основного пользователя из группы sudoers, в результате пришлось грузиться из recovery mode и откатываться из бэкапа, благо lunar сам создает их перед внесением изменений.

Список параметров:

-a – запуск в режиме аудита (в систему не вносятся изменения);

-v – подробный режим [используется с -a и -A];

-d – просмотр предлагаемых изменений системы до их внесения в конфиги;

-s – запуск в выборочном режиме;

-l – запуск в режиме блокировки (внесение изменений);

-S – список всех функций UNIX, доступных для выборочного режима;

-W – список всех функций AWS, доступных для выборочного режима;

-D – список всех функций Docker, доступных для выборочного режима;

-Z – показать изменения, ранее внесенные в систему;

-b – список файлов резервных копий;

-n – выводить доступные сегменты кода;

-u – восстановление из резервной копии.

LSAT

Linux security auditing tool (LSAT) имеет модульную конструкцию, поэтому можно быстро добавлять новые функции. LSAT проверяет записи inetd, просматривает ненужные пакеты RPM и проверяет версии ядра.

Поддерживаемые ОС и дистрибутивы Linux

  • Gentoo;
  • RedHat;
  • Debian;
  • Mandrake;
  • Linux Mint 18;
  • CentOS 7
  • Sparc: Sun OS (2.x);
  • Redhat sparc, Mandrake Sparc;
  • Apple OS X;
  • Должен нормально работать под Slackware и другими дистрибутивами Linux.

Для чего предназначен

Комплексный аудит безопасности ОС.

Установка и запуск

LSAT устанавливается с помощью сборки из исходников и имеет заранее заготовленный автоконфиг — autoconf.

        $ ./configure
$ make

    


Для установки в систему на /usr/local/bin

        $ make install
    
запуск LSAT для Debian
запуск LSAT для Debian

Полезные опции

-d diff – текущий и старый md5, вывод в lsatmd5.diff;

-m – тест для конкретного дистрибутива:

  • redhat;
  • debian;
  • mandrake;
  • solaris;
  • gentoo;
  • macosx.

-a – показать расширенную страницу справки;

-o – имя выходного файла, по умолчанию lsat.out

-r – проверить целостность rpm, только redhat или mandrake;

-s – тихий режим;

-v – подробный вывод;

-w – выходной файл в формате HTML;

-x – исключить модули из списка файлов из проверок.

LBSA

Это базовый сценарий аудита безопасности Linux для непрерывного применения политик (CPE). Запускать его можно из командной строки от имени пользователя root или на регулярной основе с использованием планировщика.

Для чего предназначен

Цель сценария – сообщить администратору возможные настройки, которые можно изменить, чтобы обеспечить безопасность системы.

В настоящее время скрипт ищет:

  • распространенные уязвимости безопасности в настройке учетной записи для входа в Linux;
  • распространенные уязвимости безопасности в настройках SSH;
  • распространенные уязвимости безопасности во временных файловых системах и файловых системах с общей памятью (например: /tmp, /var/tmp, /dev/shm);
  • рекомендации по разрешениям файловой системы, которые могут усилить защиту большинства систем, не влияя на нормальную работу;
  • Heartbeat и разрешения файла конфигурации DRBD;

Использование

LBSA в работе
LBSA в работе

Полную версию скрипта можно взять на официальной странице.

В некоторых случаях рекомендации могут привести к снижению удобства использования. Как и в случае с любыми изменениями в системе, вы должны понимать последствия любых изменений, прежде чем вносить их.

Если рекомендаций нет, сценарий просто выводит единственную строку с сообщением «System Checks Completed». Этот сценарий должен работать «из коробки» и рекомендовать лишь несколько небольших, но важных изменений в системе, которые должно быть легко внести.

В заключении

Как наиболее универсальный инструмент для комплексного аудита, из перечисленных мы можем рекомендовать Lynis. Он поможет провести всестороннюю проверку и выявить самые уязвимые части системы. В качестве скрипта для периодической профилактики удобно использовать LBSA.

Надеемся, что вам пригодится наша статья, возможно вас также заинтересует материал о минимальных настройках безопасности для защиты виртуального выделенного сервера (VPS) на базе Linux.

***

Хочу научиться программировать с нуля, но не знаю, с чего начать. Что делать?

Можно учиться самостоятельно (долго) или пойти на курсы с преподавателями (быстро). Плюс нужно учитывать, что джунов много, конкуренция выше и работодатели повышают порог вхождения при найме на работу. Чтобы получить актуальные знания, мы в proglib.academy запустили курсы:

  • Основы программирования на Python.
  • Профессия Python-разработчик.
  • Алгоритмы и структуры данных.
  • Математика для Data Science.
  • Профессия Data Science.
  • Frontend Basic: принцип работы современного веба.
  • Профессия Фронтенд-разработчик.
  • Обработка естественного языка. Полный курс.

На подходе еще больше 10 курсов для взрослых и детей.

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ