- Что такое SIEM
- Система мониторинга ИБ (SIEM) используя Sentinel Azure
- Настройка виртуальной машины в Azure
- Изменение правил брандмауэра для разрешения трафика
- Создание рабочего пространства Log Analytics
- Настройка Sentinel
- Подключение к ВМ через удаленный рабочий стол
- Запуск скрипта для получения геопозиции
- Создание пользовательских полей
- Тестирование извлеченных полей из необработанных данных
- Настройка карты с указанием страны
- Хакеры начинают атаку на ханипот
- Заключение
Microsoft Azure — это платформа предоставляющая ряд облачных сервисов. Azure используется для создания, развертывания и управления приложениями и сервисами. Microsoft Sentinel — это облачное решение для SIEM и SOAR на базе Azure. В статье покажу, как настроить и использовать Sentinel в Microsoft Azure для создания системы мониторинга ИБ-инцидентов (SIEM).
Еще по теме: Мониторинг событий в macOS с помощью ESF
Что такое SIEM
SIEM (Security Information and Event Management) – это система, объединяющая в себе средства сбора, анализа и корреляции информации об угрозах и инцидентах безопасности в реальном времени. Она позволяет выявлять аномальные активности, атаки и несанкционированный доступ, а также анализировать данные для принятия управленческих решений по усилению защиты.
Система мониторинга ИБ (SIEM) используя Sentinel Azure
Sentinel обеспечивает централизованный мониторинг и анализ безопасности для обнаружения и реагирования на угрозы кибербезопасности. Он интегрируется с другими решениями безопасности Microsoft и использует искусственный интеллект и машинное обучение для расширенного обнаружения угроз.
Настройка виртуальной машины в Azure
В первую очередь необходимо создать виртуальную машину в Microsoft Azure, которая будет открыта для доступа в Интернет в качестве ханипота (приманки), и в будущем будет атакована злоумшылениками.
Имя группы — Honeypotlab, а виртуальная машина на Windows 10 будет называться — Honeypot-vm.
Изменение правил брандмауэра для разрешения трафика
Откройте вкладку Networking (Сеть) и настройте новые правила брандмауэра так, чтобы все было открыто для доступа из Интернета. Цель сделать эту виртуальную машину максимально видимой и легко обнаруживаемой любыми возможными способами. Таким образом, независимо от того, используют ли злоумышленники TCP-пинги, SYN-сканирование или ICMP-пинги, они смогут быстро ее обнаружить.
Я установил * для порта назначения, открыв все порты. Также изменил Priority (Приоритет) на 100, и назвал это правило MENACE_ANY_IN.
Таким образом, я удалил стандартное правило входящих сообщений и создал собственное правило, которое разрешает все.
Создание рабочего пространства Log Analytics
В этом разделе я создал рабочее пространство Log Analytics с именем log-honeypot для получения журналов с виртуальной машины, таких как журналы событий Windows. Я создал пользовательский журнал, содержащий географическую информацию, чтобы определить местоположение злоумышленников.
Настройка Sentinel
Я настроил Microsoft Sentinel, SIEM, используемый для визуализации данных об атаках, а затем выбрал рабочее пространство анализа логов, к которому хотел подключиться, — «log-honeypot».
Подключение к ВМ через удаленный рабочий стол
Подключение к «Honeypot-vm» через удаленный рабочий стол (RDP)
Первая попытка входа не удалась.
Войдя в систему, я перешел в меню Start (Пуск) → Event Viewer (Просмотр событий).
Здесь в Event Viewer мы видим событие Audit Failure Event ID 4625, на котором я сосредоточил свое внимание в рамках данного проекта. Audit Failure и Event ID 4625 — это событие безопасности, которое говорит о неудачной попытке входа учетной записи.
Я попытался снова войти в систему с недопустимым именем пользователя johnfail10.
Затем я открыл свойства события для дальнейшего изучения, и увидел попытку входа johnfail0, которое является именем пользователя, с которым я пытался войти в систему. Также видна причина сбоя: «Неизвестное имя пользователя или неверный пароль». Я пытался войти в систему с рабочей станции JBTECH, а Source Network Address — это мой IP-адрес, с которого я пытался войти в виртуальную машину.
Event Viewer можно использовать после того, как меня обнаружат в Интернете. Здесь будут отображаться все их IP-адреса. Далее программно с помощью PowerShell я взял IP-адрес, показанный выше, затем использовал IP Geolocation API для создания пользовательского журнала, отправил этот журнал в рабочее пространство Log Analytics в Azure и использовал Sentinel SIEM для считывания страны, долготы и широты, чтобы определить злоумышленников.
Запуск скрипта для получения геопозиции
Этот скрипт PowerShell содержит все события журнала событий — Security Log, фиксирует все события неудачных попыток входа в систему и создает новый файл журнала. Я добавил свой API-ключ и запустил скрипт.
Фиолетовый цвет появляется, когда в окне просмотра событий включен журнал неудачных попыток входа. Скрипт ищет в Event Viewer события 4625 неудачных входов в систему, извлекает их и использует API для получения данных геопозиции. Затем создается файл журнала неудачных попыток входа под названием failed_rdp.
Последняя строка — это неудачный вход johnfail0, с предыдущей попытки входа в систему. Все вышеприведенное — это пример данных, которые я буду использовать для обучения рабочей среды Log Analytics тому, что нужно искать в файле журнала.
Используя недопустимые имена пользователей johnfail2 и johnfail4, я создал еще три события неудачного входа в систему, которые отобразились фиолетовым цветом и были отправлены в файл журнала failed_rdp.
Как уже упоминалось, я использовал данные выборки из файла журнала failed_rdp для создания пользовательского журнала в рабочем пространстве Log Analytics, что позволит мне обучить его выводить пользовательский журнал такого типа с данными геолокации.
Мой запрос исключит данные выборки и все, что связано с хостом выборки, чтобы предотвратить их появление, когда SIEM honeypot будет полностью функционировать.
Я выполнил приведенный ниже запрос для проверки Security Event для журналов событий Windows, и он отобразил все неудачные попытки входа по RDP.
1 2 |
SecurityEvent | where EventID == 4625 |
Я выполнил следующий запрос, и он отобразил все данные выборки и последние попытки, в которых не удалось войти в систему:
1 |
FAILED_RDP_WITH_GEO_CL |
Создание пользовательских полей
Я взял исходные данные и извлек из них определенные поля, чтобы создать поля долготы, широты, страны, временной метки и другие поля.
Тестирование извлеченных полей из необработанных данных
Я протестировал извлечение полей из необработанных данных пользовательского журнала, вернувшись на виртуальную машину и намеренно не сумев войти в систему. Затем я выполнил запрос Failed_RDP, чтобы убедиться, что журналы поступают и правильно анализируются.
Настройка карты с указанием страны
Я настроил параметры карты, чтобы установить геокарту. Назвал карту Filed RDP World Map.
После настройки карты я подождал от 30 минут до часа, чтобы посмотреть, обнаружили ли ВМ другие пользователи.
В нижней части карты видно, где мне не удалось войти в ВМ четыре раза из США и IP-адрес. Журнал синхронизировался с рабочей областью Log Analytics, был запущен запрос в Sentinel, и мы увидим постепенное увеличение, отображаемое на карте при каждой неудачной попытке входа в виртуальную машину honeypot.
Хакеры начинают атаку на ханипот
Проверив мой сценарий PowerShell, мы видим, что пользователи на Филиппинах обнаружили мою ВМ и пытаются взломать ее.
Со временем вы увидите все больше попыток входа в удаленный рабочий стол от людей, пытающихся войти в ВМ honeypot с различными именами пользователей из разных точек мира.
Заключение
Azure Sentinel представляет собой мощное средство для создания системы мониторинга ИБ, обеспечивая высокий уровень защиты организации от киберугроз. Правильная настройка и использование данного инструмента позволяет оперативно реагировать на инциденты и повышает общий уровень информационной безопасности.
ПОЛЕЗНЫЕ ССЫЛКИ:
- Анализ компьютерных вирусов в домашней лаборатории
- Вот что произойдет если пробросить RDP через роутер
- Защита локальной сети используя Wazuh на Raspberry Pi
- Инструменты для обеспечения безопасности Active Directory