- Проверяем уровень защищённости Linux с помощью утилиты Lynis
- Устанавливаем Lynis
- Запускаем Lynis
- Запускаем аудит Linux-системы
- Изучаем отчёты
- Попытка не пытка
- На правах рекламы
- Лучшие дистрибутивы для проведения тестирования на проникновение
- Kali Linux
- BlackArch
- Parrot Security OS
- BackBox
- Pentoo Linux
- Network Security Toolkit
- DEFT Linux
- Samurai Web Security Framework
- Pentest Box
- Santoku Linux
- WifiSlax
- Лучшие инструменты аудита безопасности Linux
- Аудит безопасности Linux собственными силами
- Практические аспекты аудита безопасности Linux
- Инструменты аудита безопасности Linux
- Lynis — auditing system hardening testing
- Профили
- Оценка hardening state
- Lunar — a UNIX security auditing tool
- Nix Auditor — a CIS Audit made easier
- Loki — Simple IOC and Incident Response Scanner
- Linux Security Auditing Tool (LSAT)
- Заключение
Проверяем уровень защищённости Linux с помощью утилиты Lynis
Разбираемся, как использовать одну из самых мощных свободно распространяемых утилит для аудита Linux-систем.
Вы когда-нибудь задумывались о том, насколько безопасна ваша Linux-система? Существует множество дистрибутивов Linux (каждый со своими настройками по умолчанию), на которых вы запускаете десятки программных пакетов с разными номерами версий. Кроме того, на вашей ОС в фоновом режиме работает множество сервисов, о которых вы порой не знаете или не думаете.
Чтобы получить информацию о системе, то есть проверить общее состояние программного обеспечения, сети и служб, работающих на вашем компьютере с установленной ОС Linux, достаточно выполнить несколько команд. Но что теперь делать с полученной информацией? Как в ней разобраться? Ведь объём данных, которые вам нужно проанализировать, огромен.
Было бы намного лучше, если бы вы могли просто запустить инструмент, который генерирует структурированный отчёт об уровне защищенности системы. Lynis — популярный инструмент с открытым исходным кодом, который позволяет провести аудит систем на базе Linux и Unix.
«Он выполняет всестороннее сканирование настроек безопасности и запускается на самой системе. Основная цель — протестировать средства защиты и выдать рекомендации по дальнейшему повышению уровня защищённости системы. Он также сканирует общесистемную информацию, информацию об установленных пакетах и возможных ошибках конфигурации. Lynis [обычно] используют системные администраторы и специалисты по безопасности для оценки уровня защищённости систем», — говорится на сайте проекта.
Устанавливаем Lynis
Для установки Lynis можно использовать менеджеры пакетов. При условии, что у вашей системы Linux с актуальностью версий в репозитории всё в порядке, утилиту можно установить так:
Однако, если версия утилиты в вашем репозитории не самая последняя, лучше установить Lynis с GitHub (я использую систему Red Hat Linux, но аналогичные команды работают в любом дистрибутиве Linux):
Как только вы клонируете хранилище, зайдите в него и посмотрите, что вам доступно, найдите файл с именем lynis. На самом деле это shell-скрипт, так что вы можете открыть его и почитать, что он делает. Фактически, Lynis в основном и реализован с использованием скриптов:
Запускаем Lynis
Начнём знакомство с Lynis, запустив справку с помощью флага -h:
Так вы можете ознакомиться с основными командами утилиты. Например, давайте узнаем её версию:
Чтобы получить полный список команд Lynis, введите:
Запускаем аудит Linux-системы
Всё начинается со следующей команды:
После запуска команды мы получим детальный отчёт. Не пугайтесь, мы в нём разберёмся чуть позже. Прочие результаты работы команд тоже сохраняются, так что и к ним вы можете вернуться позже.
Вот здесь Lynis хранит логи:
Вы можете проверить, были ли на самом деле созданы все необходимые файлы:
Изучаем отчёты
Lynis предоставляет довольно подробные отчеты, поэтому я расскажу лишь о некоторых важных разделах. Самое первое, что делает Lynis при инициализации, — выясняет полную информацию об операционной системе, работающей на компьютере. Затем утилита проверяет, какие системные инструменты и плагины у вас установлены:
Отчёт делится на различные разделы, и каждый раздел начинается с [+]. Некоторые из разделов можно увидеть ниже
Для большей наглядности Lynis использует условные обозначения в виде цветов:
- зелёный: всё хорошо
- жёлтый: не нашёл всё необходимое, или возникла спорная ситуация
- красный: это проблема, стоит с ней разобраться
В моём случае большинство проблем (красных меток) было найдено в разделе Kernel Hardening. Ядро имеет различные настраиваемые параметры, которые определяют его работу, и некоторые из этих параметров отвечают за безопасность. Дистрибутив может не устанавливать их по умолчанию по разным причинам, но вы должны изучить каждый из них и посмотреть, нужно ли вам менять его значение в зависимости от ваших требований к безопасности:
Посмотрите на SSH, например. Это важная часть системы, и она должна быть защищена. Здесь ничего не выделено красным, но у Lynis есть много предложений по повышению уровня защищённости службы SSH:
На моей системе не запущен ни один контейнер и ни одна виртуальная машина. Так что, увы, тут почитать будет нечего.
Lynis проверяет привилегии некоторых файлов, так как это важно с точки зрения безопасности.
В конце отчёта Lynis вносит предложения по исправлению, основанные на результатах аудита. Каждое предложение начинается с описания, а рядом в скобках указывается тест (TEST-ID), который его сгенерировал. В следующей строке предлагается решение проблемы, если оно существует:
Lynis даёт возможность найти дополнительную информацию о каждом предложении по исправлению с помощью команды show details, за которой следует номер теста TEST-ID:
Например, чтобы узнать дополнительную информацию для теста SSH-7408 я ввожу $ ./lynis show details SSH-7408 и получаю:
Попытка не пытка
Так что, если вы хотите больше узнать о безопасности вашей Linux-системы, обратите внимание на Lynis. И, если вы хотите больше узнать о том, как работает эта утилита, как собирает всю эту информацию, — покопайтесь в её shell-скриптах. Как и в случае с другими утилитами, имеет смысл сначала опробовать её на виртуальной машине.
А какие инструменты используете вы? Поделитесь в комментариях.
На правах рекламы
VDSina предлагает серверы на любой операционной системе — выбирайте одну из предустановленных ОС, либо устанавливайте из своего образа. Серверы с посуточной оплатой или уникальное на рынке предложение — вечные серверы!
Источник
Лучшие дистрибутивы для проведения тестирования на проникновение
Существует несколько популярных securty дистрибутивов, содержащих большинство популярных утилит и приложений для проведения тестирования на проникновение. Обычно они основаны на существующих Linux-дистрибутивах и представляют из себя их переработанные версии. В этой статье будут представлены наиболее известные из них.
Kali Linux
Наиболее популярный дистрибутив на сегодняшний день. Является преемником Backtrack Linux.
Kali Linux является невероятно мощным инструментом для тестирования на проникновение, который поставляется с более чем 600 security-утилитами, такими как: Wireshark, Nmap, Armitage, Aircrack, Burp Suite, и т.д.
Существует несколько видов этого дистрибутива для различных платформ, таких как ARM, систем виртуализации, инстансов для проведения атак с мобильных платформ — Kali Nethunter.
В данный момент дистрибутив реализован в виде роллинг-релиза, который гарантирует, что вы всегда будете обладать новейшими версиями лучших инструментов и утилит для проведения тестирования на проникновение.
BlackArch
BlackArch Linux создан специально для пентестеров и специалистов по безопасности. Он поддерживает архитектуры i686 и x86_64. В комплект установки сейчас входит 1359 утилит для тестирования на проникновение и их число постоянно увеличивается. Основан на Arch Linux.
Количество утилит действительно довольно внушительное, но, некоторые из них имеют схожий функционал и новичку может быть довольно сложно разобраться в таком количестве программ.
Parrot Security OS
Набирающий популярность security-дистрибутив, основанный на Debian-linux. Довольно простой в освоении, подходит и для новичков и для профессионалов. Этот дистрибутив нацелен как на проведение тестирования на проникновение, так и на анонимную работу в сети Интернет.
Довольно легкий и эффективный инструмент, многие security специалисты нашли в нем замену все более «прожорливому» Kali, тем более что Parrot использует репозитории Kali для обновления.
BackBox
BackBox основанный на Ubuntu легковесный дистрибутив. В прямом сравнении с Kali проиграет по многим пунктам. В нем нет такого количества разнообразных инструментов, утилит и фреймворков доступных прямо “из коробки”. Нет оптимизаций ядра и прочих твиков.
Благодаря легковесной оболочке XFCE BackBox Linux больше подходит для повседневного использования в качестве рабочей лошадки на вашем личном компьютере. Существует режим — Anonymous mode – весь системный траффик пропускается через TOR-прокси. Скрипт запуска меняет MAC-адрес системы и hostname, также при выключении режима все временные файлы удаляются с помощью интегрированного пакета BleachBit.
Backbox Linux может стать отличной альтернативой Kali Linux для тех, кто ищет баланс между функциональностью и удобством повседневного использования.
Pentoo Linux
Pentoo — security дистрибутив, основанный на популярном дистрибутиве Gentoo Linux, фанатами которого являются разработчики Pentoo. Содержит множество security-утилит.
Одной из особенностей является нативная поддержка Hardened Gentoo — несколько изменений в компиляторе и ядре, которые увеличивают общую защищенность системы от взлома.
Network Security Toolkit
Network Security Toolkit — это один из многих дистрибутивов Linux типа Live CD, направленных на анализ безопасности сети. NST дает администраторам простой доступ к широкому множеству открытых сетевых приложений, многие из которых включены в сотню лучших средств безопасности, рекомендованных сайтом insecure.org. Основан на Fedora Linux.
Обладая сбалансированным набором средств сетевого мониторинга, анализа и безопасности, может дать явные преимущества сетевому администратору, для контроля безопасности вверенной ему инфраструктуры.
DEFT Linux
Это дистрибутив разработан на платформе Lubuntu и оснащен удобным графическим интерфейсом. Кроме того, в продукт добавлен набор профильных утилит, начиная антивирусами, системами поиска информации в кэше браузра, сетевыми сканерами и утилитами для выявления руткитов и заканчивая инструментами, необходимыми при проведении поиска скрытых на диске данных.
Основное предназначение — проведение мероприятий по форензике — анализа последствий взлома компьютерных систем, определения потерянных и скомпрометированных данных, а также для сбора т.н. цифровых доказательств совершения киберпреступлений.
Samurai Web Security Framework
Основное предназначение этого дистрибутива — тестирование на проникновения различных веб-приложений.
Поставляется в виде образа виртуальной машины, содержащий наиболее популярные Open Source утилиты для сбора информации и проведения различных атак на веб-приложения.
Pentest Box
PentestBox не похож на другие security-дистрибутивы, которые работают на виртуальных машинах. Было бы не совсем правильным называть эту сборку дистрибутивом, это скорее набор *nix-like утилит работающий в Windows окружении.
Имеет собственную оболочку, интерфейс выполнен в виде командной строки, содержит большое количество утилит, список которых можно самостоятельно дополнять/кастомизировать.
Если Вы Windows пользователь и Вас пугает установка виртуальных машин или Linux, Вы можете попробовать поработать с этой оболочкой.
Santoku Linux
Дистрибутив построен на основе Ubuntu linux. Представлен только в виде X64 платформы.
Эта сборка предназначена для анализа мобильных устройств и приложений — проведения анализа безопасности, извлечения данных, реверс-инжениринга, форензики, также содержит средства разработки.
WifiSlax
Это специализированный дистрибутива с подборкой инструментов для проверки безопасности систем WiFi-сетей и проведения криминалистического анализа. Дистрибутив построен на базе Slackware linux.
В настоящее время, это один из наиболее часто используемых инструментов для аудита WiFi сетей, в него включены большинстов популярных утилит для анализа защищенности беспроводных сетей, поддерживается большинство производитей сетевых карт.
Источник
Лучшие инструменты аудита безопасности Linux
В сегодняшней статье мы познакомим вас с лучшими утилитами аудита безопасности Linux или как говорят наши англоязычные коллеги — Hardening Linux. Итак, тема статьи проверка уровня защищенности Linux-систем и оценка корректности конфигов с точки зрения информационной безопасности. Разумеется, мы не только сделаем обзор программ, но и приведем примеры их использования.
Аудит безопасности Linux собственными силами
Перед системными администраторами, а уж тем более перед аудиторами информационной безопасности часто встают задачи проверить защищенность большого количества хостов за очень короткое время. И конечно, для решения этих задач в Enterprise-сегменте есть специализированные инструменты, к примеру такие, как сетевые сканеры безопасности. Уверен, что все они — от open sources движка OpenVAS до коммерческих продуктов типа Nessus или Nexpose — известны нашему читателю. Но данный софт обычно используется, чтобы искать устаревшее и потому уязвимое программное обеспечение и затем запустить патч-менеджмент. Кроме этого не все сканеры безопасности учитывают определенные специфические особенности встроенных механизмов защиты ОС Linux и других продуктов с открытым исходным кодом. Ну и не в последнюю очередь значение имеет цена вопроса, ведь платные продукты могут позволить себе разве что компании, выделяющие под это дело какие-то бюджеты.
Вот поэтому сегодня речь пойдет о специализированном наборе бесплатных утилит, которые могут диагностировать текущий уровень защищенности системы, оценить потенциальные риски, к примеру «лишние сервисы», торчащие в интернет, или небезопасный конфиг по умолчанию, и в определенных случаях предложить варианты исправления найденных аудитом проблем. Еще одно преимущество использования этих инструментов заключается в возможности тиражировать типовые сценарии проверки фермы из любого количества Linux-систем и создавать документально подтвержденную базу тестов в виде логов и отдельных отчетов.
Практические аспекты аудита безопасности Linux
Если посмотреть глазами аудитора, то подход к тестированию можно разделить на два типа.
Первый — это соответствие так называемым compliance-требованиям, здесь проверяется наличие обязательных элементов защиты, прописанных в каком-либо международном стандарте или «best practice». Классический пример — требования PCI DSS для платежных ИТ-систем, SOX404, NIST-800 series, MITRE.
Второй — это сугубо рациональный подход, основанный на вопросе «А что еще можно сделать, чтобы усилить защищенность?». Тут нет обязательных требований — только твои знания, светлая голова и умелые руки. К примеру, это обновление версии ядра и/или пакетов приложений, включение шифрования томов, форсирование SELinux, настройка файрвола iptables.
Все, что относится ко второму подходу, принято называть специальным термином Linux hardening, что еще можно определить как «действия, направленные на усиление уровня исходной защищенности ОС (или ПО) преимущественно штатными средствами».
Соответствие compliance-требованиям, как правило, проверяют при подготовке к прохождению обязательного аудита типа PCI DSS или другого сертификационного аудита. Мы же больше уделим внимание Hardening-составляющей. Все крупные вендоры предлагают для своих продуктов Hardening Guidelines — руководства, содержащие советы и рекомендации, как усилить защищенность, учитывая штатные механизмы безопасности и специфику ПО. Так, подобные руководства есть у Red Hat, Debian, Oracle, Cisco.
Кстати, у нас уже когда-то была статья про настройку опций Hardening, но в той статье речь шла именно о настройке. Мы же сначала проверим нашу систему с помощью специализированных утилит, то есть проведем аудит безопасности, оценим текущий уровень защиты, а потом уже накрутим туда security option, если в этом будет необходимость. Ну или еще как вариант: если сервер уже настроен с точки зрения безопасности, наши инструменты смогут это проверить и, возможно, подсказать, что же можно сделать еще.
Инструменты аудита безопасности Linux
Lynis — auditing system hardening testing
Lynis — первая в нашем списке инструментов и, пожалуй, самая навороченная тулза для аудита Linux-систем. При этом она довольно простая в использовании и очень наглядная — все тесты и их отчеты выводятся на экран. Утилита сканирует настройки текущего уровня безопасности и определяет состояние защищенности (hardening state) хоста. Найденные тревожные сигналы и важные алерты безопасности, сгруппированные по блокам, выводятся в консоль терминала и отдельно в файл отчета. Кроме сведений о безопасности, Lynis также поможет получить общую информацию о системе, информацию об установленных пакетах и возможных ошибках конфигурации, обновлениях ядра и т.п.
Разработчиками Lynis заявлена поддержка огромного числа операционных систем: от Arch, BackTrack, Kali до разновидностей Debian/Ubuntu, RHEL/CentOS, SuSE, BSD-семейства (FreeBSD, NetBSD, OpenBSD, DragonFly BSD), а также более редких HPUX, Solaris 10+, TrueOS и macOS.
Вся документация с более подробным описанием и примерами использования доступна в разделе Lynis Documentation на официальном сайте CISOfy. Если не хотите ограничиваться предлагаемыми тестами, есть возможность разработки собственных. Более подробно об этом написано в разделе Lynis Software Development Kit. Ну и для тех, кто еще сомневается, устанавливать или нет утилиту, разработчики подготовили маленькое demo, показывающее, как происходит процесс установки и первичный запуск.
Кроме бесплатной версии, которую мы и будем чуть ниже использовать, разработчики предлагают решение Enterprise-уровня. В этом случае к стандартной поставке добавляется веб-интерфейс для администрирования, опциональные дашборды, дополнительная документация (hardening snippets) и развернутый план корректировки выявленных нарушений. И это еще не все, данное решение ко всему прочему вы можете получить в виде облачного сервиса (Software-as-a-Service).
Lynis выполняет огромное количество отдельных тестов, чтобы определить состояние защищенности системы. Сама проверка защищенности заключается в выполнении набора шагов от инициализации программы до генерации отчета.
Поскольку Lynis весьма гибкий и многопрофильный инструмент, он используется для различных целей. К примеру, типовые варианты использования Lynis включают:
- аудит безопасности (типовой сценарий, задаваемый пользователем);
- тестирование на соответствие требованиям (например, PCI DSS, HIPAA, SOX404, OpenSCAP, NSA);
- обнаружение уязвимостей (устаревшее ПО);
- режим Penetration testing (попытка эскалации привилегий);
- улучшение системы (незадействованные твики ядра, демонов и прочего).
Установить утилиту вы можете несколькими способами — как с помощью загрузки из хранилища GitHub:
так и установкой из репозитория Debian/Ubuntu:
И для RPM-ориентированных дистрибутивов (предварительно добавив соответствующие репозитории):
Установка на macOS:
Чтобы запустить Lynis, достаточно указать хотя бы один ключ. К примеру, для запуска всех имеющихся тестов следует указать ключ -c (check all, проверить все):
Инициализация тестов
Результаты тестов из группы System Tool and Boot & Services
Результаты тестов из группы Kernel and Memory & Process auditing
Результаты тестов из группы User and Group & Authentication
Перед аудитом всегда полезно проверить, доступна ли новая версия Lynis:
У утилиты Lynis, помимо стандартного, существует еще один режим — непривилегированного запуска:
Если же вы хотите поместить имя аудитора, запустившего тестирование, просто добавьте параметр -auditor :
На любом этапе аудита безопасности Linux процесс проверки может быть продолжен (Enter) или принудительно прекращен (Ctrl+C). Результаты выполненных тестов будут писаться в журнал Lynis в каталог /var/log/lynis.log. Учтите, что лог-файл будет перезаписываться при каждом следующем запуске утилиты.
Для тестирования на постоянной основе в автоматическом режиме можно назначить соответствующее задание в планировщик Cron с помощью ключа -cronjob. В таком случае Lynis будет запускаться по заданному шаблону (конфигу) и не будет выводить никаких интерактивных лишних сообщений, вопросов и предупреждений. Все результаты будут сохранятся в лог. К примеру, вот скрипт запуска утилиты с настройками по умолчанию раз в месяц:
Сохраните этот скрипт в каталог /etc/cron.monthly/lynis. И не забудьте добавить пути для сохранения логов (/usr/local/lynis and /var/log/lynis), иначе возможна некорректная работа.
Можно посмотреть список всех доступных для вызова команд:
Вывод доступных команд
Можно также взглянуть на настройки из конфига по умолчанию:
Краткая инструкция по работе с утилитой:
Варианты возможных статусов по результатам проверки ограничиваются следующим списком: NONE, WEAK, DONE, FOUND, NOT_FOUND, OK, WARNING.
Пример вывода статусов
Запуск отдельных тестов в Lynis
На практике бывает необходимо провести лишь некоторые определенные тесты. К примеру, если ваш сервер выполняет только функции Mail Server или Apache. Для этого мы можем использовать параметр -tests. Синтаксис команды выглядит таким образом:
Если вам сложно разобраться из-за большого количества идентификаторов тестов, то вы можете использовать групповой параметр -test-category. С помощью данной опции Lynis запускает идентификаторы только тех тестов, которые входят в определенную категорию. Например, мы планируем запустить тесты брандмауэра и ядра:
Список всех доступных тестов можно посмотреть в разделе Controls.
Помимо этого, функциональность Lynis расширяют различные дополнения, которые можно дописывать самостоятельно, а можно подкладывать новые в существующую директорию.
Все предупреждения (Warnings) будут перечислены после результатов. Каждое начинается с текста предупреждения, потом рядом в скобках указывается тест, который его сгенерировал. В следующей строке предлагается решение проблемы, если оно конечно существует. По факту последняя строка — это URL-адрес, по которому вы сможете посмотреть подробности и найти дополнительные рекомендации, как устранить возникшую проблему.
Вывод рекомендаций, как устранять найденные проблемы
Профили
Профили, которые управляют аудитом, определяются в файлах с расширением .prf, расположенных в каталоге /etc/lynis. Профиль по умолчанию называется, предсказуемо, default.prf. Разработчики не советуют править его напрямую: любые изменения, которые вы хотите внести в аудит, лучше добавлять в файл custom.prf, находящийся в том же каталоге.
Создаем и редактируем кастомный профиль:
В данном файле можно определить список тестов, которые необходимо исключить из аудита Lynis. Например:
- FILE-6310: проверка разделов;
- HTTP-6622: тест установки nginx;
- HTTP-6702: тест установки Apache.
Чтобы исключить какой-то определенный тест, воспользуйтесь директивой skip-test и укажите ID теста. Например, так:
Оценка hardening state
По результатам выполнения всех тестов в конце каждого вывода аудита утилиты (чуть ниже раздела предложений) вы найдете раздел, который будет выглядеть примерно так:
Итоговая оценка hardening state
Данный результат, выраженный числом, показывает количество пройденных тестов и индекс безопасности системы, то есть hardening index — конечное число, с помощью которого Lynis дает оценку общего уровня безопасности сервера. И очень важно не забывать, что индекс безопасности изменяется в зависимости от количества исправленных предупреждений и выполненных рекомендаций Lynis. Поэтому после исправлений найденных проблем повторный аудит безопасности может показать совсем другое число!
Lunar — a UNIX security auditing tool
Lunar — это набор нативных скриптов, написанных на языке командной оболочки bash, которые тестируют целевую Linux-машину и генерируют по результатам проверки заключение аудита безопасности. Инструмент основан на стандартах CIS и других мировых фреймворках по безопасности.
Заявлена поддержка всех популярных систем: Linux — RHEL и CentOS с версии 5, SLES начиная с версии 10, Debian/Ubuntu, Amazon Linux, Solaris с версии 6, macOS (последние билды), FreeBSD (частично), AIX (частично) и даже ESXi.
Кроме прочего, инструмент поддерживает облачную платформу Amazon Web Services (AWS) и контейнеры Docker. Подробное описание все функций, а также примеры запуска Lunar и инициации тестов приведены в подробной документации Wiki на GitHub.
Примеры запуска команд из CLI:
Просмотр всех параметров запуска Lunar
Запуск Lunar в режиме аудита безопасности, то есть без внесения изменений в систему:
Запуск Lunar в режиме аудита безопасности и предоставления большей информации:
Выполнение только тестов на основе оболочки:
Запуск в режиме исправления, то есть с внесением изменений в систему:
Просмотр предлагаемых изменений (твиков) системы до их внесения в конфиги:
Пример запуска тестов для web-сервера Apache
Nix Auditor — a CIS Audit made easier
Nix Auditor — это очередной скрипт для проверки, соответствует ли безопасность Linux-систем требованиям показателя CIS. Ориентирован на RHEL, CentOS и прочие RPM-дистрибутивы.
Разработчики заявляют о таких преимуществах Nix Auditor:
- скорость сканирования — провести базовую проверку ОС можно менее чем за 120 секунд и тут же получить отчет;
- точность проверки — работа Nix Auditor проверена на разных версиях дистрибутивов CentOS и Red Hat;
- настраиваемость — исходники с документацией к программе лежат на GitHub, поэтому код легко настраивается в соответствии с типом ОС и набором элементов системы, которые необходимо проверить;
- простота использования — достаточно сделать стартовый скрипт исполняемым, и тот уже готов к проверке.
Пример выполнения команд для загрузки утилиты с GitHub-хранилища и последующего запуска скрипта:
Пример вывода информации после запуска Nix Auditor
Loki — Simple IOC and Incident Response Scanner
Утилита Loki — не совсем классический инструмент для проведения аудита Linux, но он отлично подходит для поиска следов взлома, что является форензикой, но отчасти можно отнести и к практике аудита.
По заверениям разработчиков, вот такие возможности дает нам Loki — Simple IOC and Incident Response Scanner:
I. Четыре способа выявить взлом:
- имена файлов (соответствие регулярному выражению полного пути файла);
- проверка в соответствии с правилами Yara (поиск на соответствие сигнатурам Yara по содержимому файлов и памяти процессов);
- проверка и анализ хешей (сравнение просканированных файлов с хешами (MD5, SHA-1, SHA-256) известных вредоносных файлов);
- проверка обратной связи C2 (сравнивает конечные точки технологического соединения с C2 IOC).
II. Дополнительные проверки:
- проверка файловой системы Regin (через —reginfs);
- проверка аномалий системных и пользовательских процессов;
- сканирование распакованных SWF;
- проверка дампа SAM;
- проверка DoublePulsar — попытка выявить бэкдор DoublePulsar, слушающий порты 445/tcp и 3389/tcp.
Чуть-чуть коснемся того, как программа определяет факт взлома. Типовыми признаками (Indicators of Compromise), свидетельствующими, что компьютер был скомпрометирован (то есть взломан), могут быть:
- появление на компьютере вредоноса (вирусов, майнеров, бэкдоров, троянов, крипторов, кейлоггеров, и так далее), а также хакерских утилит (например, для исследования сети, эксплуатации уязвимостей, сбора учетных данных);
- появление неизвестных новых исполнимых и других файлов, даже если они не детектируются антивирусным движком как malware-код;
- аномальная сетевая активность (подключение к удаленным хостам, открытие для прослушивания портов неизвестными программами и прочее);
- аномальная активность на дисковых устройствах (I/O) и повышенное потребление ресурсов системы (CPU, RAM, Swap).
Перед началом инсталляции нужно доустановить несколько зависимых пакетов. Это colorama (дает расцветку строк в консоли), psutil (утилита проверки процессов) и, если еще не установлен, пакет Yara.
Итак, приступаем. Установка в Kali Linux (предварительно должен быть установлен пакет Yara, который по умолчанию уже установлен в Kali Linux):
Установка в Ubuntu/Debian:
Установка в BlackArch:
Пример использования
Некоторые опции запуска:
Loki Scanner после первого запуска
Кстати, после установки Loki Scanner неплохо бы проверить локальную базу IoC на обновления, сделать это можете с помощью команды Upgrader:
Пример ведения лога при сканировании
В первую очередь пристальное внимание обращаем на сообщения, выделенные красным. В поле DESCRIPTION дано описание файла и причины его подозрительности. Обычно это вирусы, бэкдоры и другие подобные им программы.
Информация об обнаруженных вредоносных файлах
Linux Security Auditing Tool (LSAT)
LSAT — заключительный в нашей подборке инструмент аудита безопасности Linux. Особенность данной утилиты в ее модульном дизайне, который, по заверениям разработчика, умеет добавлять новые функции проверки очень оперативно. На данный момент в утилите заявлена поддержка всех самых распространенных ОС: Linux — Gentoo, Red Hat, Debian, Mandrake на архитектуре x86; SunOS (2.x), Red Hat, Mandrake на архитектуре Sparc; а также Apple macOS.
LSAT устанавливается с помощью сборки из исходников и имеет заранее заготовленный автоконфиг — autoconf. Если вы не собираетесь его править на свой вкус, то можно сразу запустить компиляцию:
Либо для Debian/Ubuntu-дистрибутивов установить пакет можно прямо из репозитория:
Запускается LSAT с помощью команды /lsat и добавленными опциями:
Заключение
Мы рассмотрели с вами самые ходовые и в то же время очень крутые и функциональные инструменты и программы для аудита безопасности Linux-серверов. Теперь вы сможете основательно подготовиться к сертификационному или какому-либо другому compliance-аудиту. Это также позволит вам объективно оценить текущий уровень защищенности и в автоматическом или полуавтоматическом режиме настроить свою армию Linux-машин на максимальный показатель hardening index!
Источник