Мониторинг атак

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Каким образом можно мониторить количество атак, которые проводятся по отношению к инфраструктуре компании? Один из способов это установка специальных систем, которые называются honeypot. Honeypot это ловушка, позволяющая полностью или частично записать последовательность действий, которые выполняются атакующим. В данной статье попробуем выбрать и настроить honeypot, а в качестве системы мониторинга будем использовать ELK стек.

Выбор honeypot

Любая атака на информационную систему возможна в случае наличия в этой системе уязвимости. Классов уязвимостей достаточно много, для примера можно использовать TOP 25 MITRE. Это только самые популярные уязвимости. Если проанализировать список, то можно заметить, что уязвимости в списке могут быть обнаружены в разных частях операционой системы и любого программного обеспечения.

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

  1. Атаки на веб-приложение

  2. Атаки на операционные системы серверов и пользователей

  3. Атаки на сетевое оборудование

Для всех типов атак существуют свои версии ловушек, которые могут предоставить информацию по атакующим узлам и набору программного обеспечения, которое интересует атакующих. В этой статье будем рассматривать ловушки, которые доступны в OpenSource.

Ловушки для веба

Самый распространенный вид ловушек, в большинстве случаев представляет собой отладочную версию веб-приложения. Почти всегда используется для мониторинга атак на конкретные популярные CMS. Из-за большого количества фреймворков и языков программирования в этой области, создание общей ловушки достаточно сложный процесс. Поэтому ловушки строятся или под публичную уязвимость или под одно приложение. Примеры проектов, которые могут быть использованы для мониторинга атак:

  • Ловушка для форм Symfony2 EoHoneypotBundle;

  • Ловушка на Python для эмуляции классов уязвимостей Share;

  • Ловушка для nodeJS приложений;

  • Ловушка c уязвимой версией Drupal CMS;

  • Ловушки для отслеживания атак на ELK.

Ловушки для сервисов ОС

Отдельный набор ловушек, который старается подражать действиям сервисов операционных систем. Обычно для мониторинга и логирования используется эмулятор, который перехватывает системные вызовы для ядра ОС и пишет все промежуточные данные. Примеры имплементации таких ловушек:

  • Ловушка, которая представляет собой ADB сервис ОС Androidl

  • Ловушка эмулирующая SMB протокол;

  • Ловушка для мониторинга атак на RDP.

Настройка

Для полноты покрытия атак попробуем настроить ловушку, которая включает в себя все типы ловушек. Проводить настройку нашей ловушки будем на базе операционной системы Ubuntu 20.04, которая запущена на виртуальной машине Virtual Box. Чтобы максимально упросить процесс настройки и не терять времени на поиск зависимостей для ловушки, будем использовать готовые Image, которые доступны на Docker Hub. Для быстрого обнаружения уже собранных Image воспользуемся поисковиком Google и введем следующий запрос:

honeypot ELK inurl:hub.docker.com

Поисковик на Docker Hub не работает гибко с критериями, которые необходимо найти в описании Image. В итоге у нас есть обширный набор Image с уязвимыми версиями ELK и Image с ELK в качестве системы накопления и визуализации.

Для экспериментов возьмем вот этот проект. Он сразу включает в себя ELK+honeypot. Клонируем проект на машину с предустановленным Docker:

git clone https://github.com/kobadlve/underworld.git

Зайдем в склонированную директорию и выполним команды:

docker-compose build
docker-compose up

Но не всё так просто, чтобы сборка прошла успешно придется локально выкачать Logstash отсюда. И отредактировать вот этот файл.

FROM logstash

MAINTAINER kobadlve
USER root #<= new line
ADD conf/ /root/conf
...

И после этого можно перезапускать команды на сборку и запуск ловушки. По результатам, если провести сканирование машины с ловушкой будет вот такой результат nmap:

Теперь отправляя запросы на открытые порты можно наблюдать в Kibana (порт машины с ловушкой 5601). Все действия, которые выполняются в процессе отправки данных на каждый из портов. Таким образом можно теперь мониторить атаки, которые могут быть проведены на информационную систему.


Прямо сейчас в OTUS открыт набор на новый поток курса "Мониторинг и логирование: Zabbix, Prometheus, ELK". Уже сегодня пройдет бесплатный вебинар в рамках которого вы сможете узнать о карьерных перспективах в данной области.

Записаться на вебинар

Также предлагаем посмотреть запись демо-урока курса по теме: "ELK стэк"

Источник: https://habr.com/ru/company/otus/blog/552608/


Интересные статьи

Интересные статьи

Вот уже четвертый год я занимаюсь организацией того, что принято называть Observability. Набранный за это время опыт я обличаю в текст, делюсь им с вами в виде размышления-рекомендации и ...
После нападения на Капитолий правоохранительные органы работают сверхурочно, чтобы установить виновных и привлечь их к ответственности за попытку восстания. В распоряжении спецслужб е...
В условиях когда большая часть заявок на кредит рассматривается автоматически, мониторинг становится особенно важным. Всё ли работает в штатном режиме, как меняются ключевые показатели, какие изм...
Однажды, в понедельник, мне пришла в голову мысль — "а покопаюсь ка я в новом ядре" (новым относительно, но об этом позже). Мысль не появилась на ровном месте, а предпосылками для нее стали: ...
Всем привет. Ни для кого не секрет, что ежемесячно OTUS запускает несколько абсолютно новых уникальных курсов, в этом месяце в их число вошел курс «Пентест. Практика тестирования на проникновение...