Как закрыть ненужные порты на windows 10

Агент Azure Monitor

Агент Log Analytics (или агент OMS, агент Azure Monitor — разные названия) — это компонент Linux, который использует Fluentd в фоновом режиме для сбора журналов и Collectd для сбора телеметрии и безопасной отправки их в облако. Компонент представляет собой автоматическое обновление, и агент может принимать некоторые из его параметров в зависимости от конфигурации в Azure (например, настраиваемые журналы из набора файлов для сбора серьезности и удобства). Кроме того, агент подключается к другим службам, таким как сбор сведений о связи (агент зависимостей) и т. д.

В основном развернуто

В случае виртуальной машины Azure я устанавливаю агент и его подключение непосредственно в графическом интерфейсе Log Analytics, но даже для локальной машины очень просто запустить один сценарий.

Агенты могут быть настроены либо централизованно, либо вручную с точки зрения установленной серьезности и средства сбора. Для простоты я буду использовать центральную настройку.

Затем я подключаюсь к виртуальной машине и генерирую сообщение системного журнала.

Я должен найти это в Log Analytics.

Как это работает

Давайте создадим этот формат сообщения и отправим его в системный журнал.

Конечно, в Azure Monitor у меня их два.

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

Конфигурацию агента можно найти по пути /etc/opt/microsoft/omsagend/cisloworkspace/conf и там будет файл omsagent.conf с базовой конфигурацией. В нем мы видим совпадения записей, которые фиксируют результат обработки и именно эта прислала нам заголовки syslog:

Как они туда попадают?Match захватывает тег oms.any, а тег с syslog настраивается в omsagent.d/syslog.conf:

Нет вида — давайте прослушаем странный порт 25244 по адресу loopback и подберем его с помощью тега oms.syslog, а затем воспользуемся каким-нибудь пользовательским фильтром filter_syslog (мы вернемся к этому чуть позже). Но кто на самом деле прислал этот странный порт? Для этого нам нужно посмотреть настройки rsyslog, конкретно в файле /etc/rsyslog.d/95-omsagent.conf:

Читайте также:  Как подключить dualsenses к компьютеру windows 11

Разве вы не знаете об этом? Это настройка, которую мы сделали в графическом интерфейсе. Системный журнал средства сбора журналов включен на всех серверах, а rsyslog перенаправляется на петлю и порт 25224 и непосредственно на сервер fluentd и, следовательно, на агент OMS. Вот как это все работает, и благодаря этому мы можем использовать множество других возможностей fluentd, включая другие ресурсы (такие как tail-файл, API, выбранный где-то еще, например, на /stats, какой-то обратный прокси, д.), фильтрация, разбор и преобразование.

Пользовательская таблица

Сначала мы начинаем отправлять эту информацию в отдельную таблицу. Мы не будем как-то составлять и отбирать сообщения (но могли бы), мы просто возьмем весь syslog, просто отправим его на другую таблицу (например, сценарий, где этот агент предназначен исключительно для сбора логов с определенного ваш брандмауэр). В файле системного журнала мы сначала меняем тег с oms.syslog на oms.api.tomas.

Поэтому syslog.conf будет выглядеть следующим образом:

Мы помечаем журналы системного журнала по-разному и помещаем их в пространство имен API. Теперь нам нужно будет изменить раздел совпадения в omsagent.conf, и, поскольку мы хотим показать простой путь, мы изменим существующее совпадение. Мы внесем одно небольшое, но важное изменение в раздел oms.**. Давайте изменим тип с out_oms наout_oms_api. Таким образом, вместо перехода к стандартной таблице агент будет отправлять данные в таблицу, имя которой будет соответствовать тегу с добавлением _CL, поэтому в моем случае я ожидаю создания таблицы tomas_CL.

Мы перезапускаем агент и пытаемся отправить несколько сообщений. Поскольку новая таблица создается автоматически, может пройти до 10 минут, прежде чем она отобразится в графическом интерфейсе (будет создана новая структура, индексы — тогда это будет значительно быстрее).

Читайте также:  Как вернуть стандартные обои на рабочий стол windows 10

Log Analytics взял данные и создал хорошо проиндексированные столбцы, имя которых представляет собой исходное имя, символ подчеркивания и определенный тип (например, s как строку). Молодцы, у нас есть свой стол и мы можем продолжать.

Проанализировано в агенте

Агент в настоящее время отправляет нам данные в отдельной таблице в структуре guest, identity, time и т.д., а затем сообщение в качестве счетчика. Однако в моих отчетах есть четкая структура, и теперь мы можем экспортировать ее прямо в агент и отправлять в структурированном виде. Примечание на данный момент — я буду действовать, поскольку другие голоса не доходят до меня. Если бы это было так, нам пришлось бы назначать разные теги разным типам голосов с помощью селекторов и каждый раз обрабатывать их по-разному с помощью правил фильтрации. Это работает, но сегодня мы тестируем простой сценарий, в котором наш агент отвечает за сбор только одного типа данных, например, от брандмауэра.

Давайте дополним файл syslog.conf функцией разбора, которая будет реагировать на поле сообщения и использовать регулярное выражение. Вы можете прочитать об этом во многих местах в Интернете, поэтому я не буду вдаваться в подробности, просто скажу, что это чрезвычайно мощный инструмент. Мы не используем их так много. Нам нужно захватить отдельные данные и использовать именованные группы, что будет означать создание этой колонкиимя.

Я рекомендую сначала отладить его в каком-нибудь онлайн-редакторе. Я пришел к этому регулярному выражению:

Кратко о том, как это работает:

  1. Найти оповещение=
  2. Далее будет то, что мы хотим извлечь (это делают фигурные скобки) и назвать оповещение (это делают пробелы)
  3. Ищем любой символ (точка) в любое время (звездочка)
  4. Мы все еще ищем пробел в заказе, но он уже вне группы (мы не хотим его здесь фиксировать). Но нам нужно найти первое слово по порядку (это вопросительный знак) и пробел пишется \s
  5. Затем мы позволяем произвольным символам произвольно скручиваться (хотя на самом деле это тратится впустую)
  6. Давайте захватим srchip
  7. Захватим srcport
  8. Ловим dstport, но он последний, поэтому в конце будет не пробел, а конец сообщения (доллар)
Читайте также:  Как прописать vlan на windows

У нас есть Rexex, запишем его в syslog.conf. Это будет раздел фильтра типа синтаксического анализатора, а формат не является регулярным выражением, заключенным в косую черту.

Давайте перезапустим агент и попробуем отправить несколько сообщений.

Отфильтровано

Предположим, что мы не хотим отправлять другие оповещения, кроме underAttack. Мы можем добавить еще один этап фильтрации с помощью syslog.conf.

Давайте перезапустим сервис и попробуем отправить туда пару звонков.

Успешно, теперь мы видим только недоатаку.

Больше возможностей с Fluentd

Fluentd — относительно мощный инструмент, и я не хочу вдаваться в подробности, я даже не пробовал его. Но мы можем упомянуть еще несколько интересных вещей:

  • Есть источник типа exec, т.е. выполнение какой-то команды или скрипта и отправка результата — например, нужно собрать данные с какой-то конечной точки через curl
  • Fluentd может прослушивать некоторые порты и получать JSON.данные
  • Содержит парсеры для форматов JSON или CSV
  • У меня есть интересные плагины, которые, например, умеют обнаруживать многострочные исключения и собирать их в одну строку (это классическая проблема исключений приложений, которые включают в лог стек вызовов и удаляют его, что потом появится отдельными буквами)
  • На входе может быть хвост, т.е. шум, который приложение записывает в файл. Вам не нужно настраивать его вручную, он поддерживается непосредственно на портале Azure (настраиваемый журнал), и он может сгенерировать конфигурацию за вас.

Например, я использовал парсер JSON для интеграции центра безопасности ESET в Azure Sentinel: https://github.com/tkubica12/eset-smc-azure-sentinel

Альтернативные варианты

Не меняя сведений, существуют другие способы получить данные в Azure Monitor:

Поделиться с друзьями
ОС советы