В данном цикле статей мы глубже погрузимся в исследование агентов, расскажем, зачем они нужны, об их возможностях и нюансах работы с ними. А текущая статья, как вводная, даст общее понимание такого явления, кратко затронет типы агентов и общие форматы их внедрения в сетевую структуру.
Выстраивая систему защиты, организации используют множество технологий и их комбинаций для создания безопасной среды для своих активов, будь они что информационными, что физическими. Для каждой категории организаций существуют свои «правила», по которым оценивается качество выстроенной защиты, и проводятся регулярные проверки. Соответственно, для качественного обеспечения безопасности нужны полноценные вводные данные. Если упрощать, то от полноты и своевременности полученной информации зависит то или иное решение, принятое безопасниками. Без должного уровня информации и общей осведомленности бывает невозможным принятие верных решений и даже выполнение определенных процедур. Сейчас методов сбора данных достаточно много, а инструментов и того больше, но наибольшую полноту предоставляют такие сущности как агенты. Они получили широкое распространение в IT‑сфере, т.к. не требуют удаленного подключения к машине, авторизации и выполнения команд вручную, и внедрены во множество решений, преследующих различные цели: в антивирусы, системы управления событиями и даже сканеры уязвимостей.
Но вышеупомянутая простота поддержки и преимущество в полноте передаваемой информации — не единственные свойства, благодаря которым агенты пользуются популярностью. В зависимости от функционала и конфигурации агента, в перечень основных решаемых задач входят:
Сетевой мониторинг устройств (NOC) — время отклика узла, время и коды ответа сервиса, сбор логов сетевых сервисов.
Обеспечение информационной безопасности (SOC) — сбор логов, телеметрии с узла (обеспечение конфиденциальности, целостности, достоверности данных, повышение гарантии успешной доставки данных), обнаружение и блокировка вредоносной активности за счет перехвата системных событий с применением сигнатурного анализа, а также технологий Machine Learning(ML) (антивирус, EDR решения), обнаружение и предотвращение утечек за счет применения механизмов математической статистики и ML.
Агент представляет собой службу или программу‑посредника, которая собирает оперативную информацию с цели исследования и отправляет ее в «главный офис» — сервер обработки/хранения данных. К примеру, мы получаем содержимое журнала безопасности хоста с помощью агента, у которого есть доступ на чтение т.к. ему выданы соответствующие права. Далее агент передает собранные данные в систему, откуда уже наблюдает администратор. В случае управления одним хостом, агентский способ может показаться нецелесообразным, или, как минимум, не самым простым, но если идет речь о современной организации со сложной инфраструктурой, то агенты значительно упрощают работу специалистам информационной безопасности.
Существует два метода сбора данных агентом:
Пассивный сбор
Активный сбор
Пассивный агент не инициирует сбор самостоятельно, ждет получения новых событий на узле мониторинга, после чего отсылает данные на сервер с определенной периодичностью. Такие агенты проще в реализации и зачастую могут не иметь интерфейса. Этот метод подходит для сбора определенных типов данных, за которыми не требуется регулярное наблюдение. К примеру, максимальное количество одновременно поддерживаемых процессов ОС, статистика по входящему/исходящему трафику или работоспособность DNS‑сервера.
Активный метод же, наоборот, самостоятельно опрашивает цель по определенным протоколам управления/ сбора данных (WMI, RPC, WinRM) и в соответствии с политиками или заданным расписанием отправляет в основной сервер. Такой агент уже считается более сложным и требует предварительной настройки со стороны администратора. Зачастую используется системами мониторинга или при необходимости регулярного отслеживания состояния хоста. Он целесообразен для таких случаев, когда по тем или иным причинам невозможна установка дополнительных служб или приложений на целевое устройство.
Кроме метода сбора существует еще один формат, основанный на связи «конечное устройство‑агент», которым можно воспользоваться при внедрении агентов в инфраструктуру — речь о сообщении агента и конечного узла. В общем понимании есть два подхода к сбору данных. Первый — когда агент является внутренним пакетом исследуемой машины, т. е. буквально установлен на конкретный хост. Второй — когда агент сам является промежуточным хостом/сервером, который передает информацию с удаленных конечных устройств.
Первый случай можно представить следующей схемой:
Агент устанавливается на конечное устройство как программа и собирает данные прямо изнутри машины. Удобно для постоянного наблюдения за критичным активами, но только когда их немного. Развертка множества агентов на каждой интересующей машине потребует и определенных прав, и довольно большое количество времени, а в случае обновления агента станет и регулярной проблемой. Только при использовании сторонних инструментов (той же AD) данный процесс можно автоматизировать.
При использовании агента как посредника часть инфраструктуры будет выглядеть так:
Здесь агент устанавливается прямо на сервер‑коллектор (как пример, технология WEC/WEF), который сначала собирает данные сразу с нескольких машин, а потом передает их агенту для дальнейшей отправки главному серверу. Это позволяет покрыть бо́льшую площадь сети и, вероятно, сэкономить на лицензии.
Для более показательного сравнения рассмотрим безагентский способ сбора информации. В такой концепции взаимодействия данные передаются в центр обработки по различным протоколам сбора (указаны на схеме). Он в свою очередь фильтрует и систематизирует полученные данные в более общий формат для дальнейшей аналитики в ядре системы. Такой метод подходит для небольших сетей и чаще всего используется в продуктах типа SIEM с установкой all‑in‑one.
Подводя вводную часть этого цикла статей, можно уже выделить основные преимущества и недостатки работы с агентами:
+ Единоразовая первичная настройка
+ Безопасность и возможность управления потоком данных
+ Масштабируемость
+ Автоматизация сбора
+ Решение вопроса с закрытым контуром и невозможностью удаленного подключения
- Потребление производительности конечных устройств
- Требование перенастройки при нетипичной конфигурации конечных узлов/нетипичных запросов к сбору информации
- Несовместимость со всеми возможными типами устройств и ОС инфраструктуры
- Могут не соответствовать требованиям безопасности
Выбор между агентским и безагентским способами сбора стоит индивидуально перед каждой организацией и основывается в первую очередь на размерах организации, требованиях безопасности, мощности оборудования и человеческих ресурсах.
Shaman_RSHU
Пассивный агент тоже не панацея. На том же линуксе можно так настроить auditd, что он логами займёт весь процессор. Уж лучше делать активные запросы именно того, что необходимо периодически.