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

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

Итак, решения ITAM (IT Asset Management) призваны аккумулировать максимально доступное количество информации об ИТ-активах. Достичь этого можно, во-первых, за счет интеграции с информационными системами: данные из Active Directory, WSUS и SCCM серверов Microsoft, решений для контроля за сетевой инфраструктурой (например, Infoblox или Skybox), систем Helpdesk, даже выгрузки из ERP-систем могут содержать интересующую информацию для учета ИТ активов. Во-вторых, средства защиты информации, такие как IDS/IPS-системы, сетевые системы аутентификации (например, Cisco Identity Services Engine или CheckPoint Identity Awareness blade), сканеры сети, анализаторы защищенности и сканеры уязвимостей могут обогатить ITAM сведениями о сетевой активности и конфигурации устройств в сети. И, наконец, сами ITAM-системы могут получать самостоятельно информацию агентным либо безагентным способом. В случае агентного способа на устройства устанавливается агент — клиент ITAM, который собирает информацию об устройстве и передает на сервер ITAM системы для инвентаризации ИТ активов. В случае же безагентного варианта сам ITAM-сервер подключается к интересующему хосту и получает от него информацию, однако, для данного способа необходимы соответствующие полномочия доступа. Подробнее на сайте https://u-connect.ru.

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

1. Получение данных из Active Directory.

Любой аутентифицированный пользователь домена по умолчанию может получить все данные объектов AD (за исключением тех, доступ к которым специально ограничен ACL). Целесообразно будет получить информацию о структуре домена, понять, в каких OU находятся ПК и сервера, где хранятся данные о пользователях и служебных учетных записях. Из атрибутов объекта типа «Компьютер» можно получить данные об установленной ОС (атрибуты operatingSystem и operatingSystemVersion), а также об активности устройства (атрибут lastLogon). В целях упрощения инвентаризации в поле «Описание» администраторы могут вносить характеризующие объект данные, при этом конфиденциальные сведения лучше заносить в виде некого цифрового кода или индекса, сопоставление которых с реальным бизнес-процессом или функцией производится в другой системе.

2. Получение данных с устройств.

Как правило, при инвентаризации получают информацию о конфигурации устройства (версия ОС, установленное ПО, MAC-адрес) и данные о залогиненном пользователе.

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

· PowerShell Remoting можно использовать в современных версиях ОС (начиная с Windows 7), он работает поверх WinRM, можно создавать достаточно гибкие конструкции вида Invoke-Command -Computer pcname.domain.local . Пример для получения MAC-адреса удаленного устройства: Invoke-Command -Computer pcname.domain.local -ScriptBlock {getmac} -credential domain.local\user

· WinRM работает поверх WMI и также применяется в современных ОС, он позволяет давать удаленные команды вида winrs -r:pcname.domain -u:domain.local\user CommandName , где вместо CommandName можно использовать любую утилиту, которая отработает на удаленном ПК, например, getmac или ipconfig. При этом следует учесть, что по умолчанию WinRM использует Керберос для аутентификации, поэтому обратиться к удаленному ПК по IP-адресу не получится (при использовании IP-адреса аутентификация в инфраструктуре Windows переключается на NTLM). Кроме того, на удаленном ПК должна быть включена и настроена служба удаленного управления Windows (WS-Management).

· можно воспользоваться иными утилитами, позволяющими указывать в качестве параметра имя удаленного ПК, например:

getmac /s pcname.domain.local /fo list /v (при этом простейшим способом получения MAC-адреса удаленного устройства в пределах одного broadcast-домена будет вывод ARP-таблицы)

query user /server:pcname.domain.local

Можно также воспользоваться утилитами из пакета Microsoft Sysinternals Suite, такими как PsLoggedon и PsExec, которые можно использовать для выполнения команд на удаленных ПК.

2.2. Рассмотрим теперь случай, когда учетная запись для проведения инвентаризации ограничена.

Есть несколько причин использовать ограниченные учетные записи, и главная из них — опасность реализации т.н. replay-атак (атак повторного воспроизведения), примерами которых являются атаки Pass-the-Hash (PtH) и Pass-the-Ticket (PtT). Обе атаки используют сохраненные в памяти удаленного процесса lsass.exe соответственно NTLM-хэш и Керберос-билет. Теперь представим, что один из инвентаризируемых ПК заражен вредоносом, который обладает административными правами на зараженном ПК и может прочитать память процесса lsass.exe. Подключаясь к такому инфицированному ПК с учетной записью, обладающей админскими полномочиями на всех ПК в домене, мы рискуем значительно облегчить атакующим жизнь и получение доступа к другим устройствам в сети. Поэтому крайне рекомендуется использовать именно ограниченные учетные записи, которые, даже в случае их «угона», не позволят атакующему существенно развить атаку. Но лучше всего совместить минимальные полномочия и универсальность использования инструментов на различных версиях ОС, включая достаточно старые.