Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Внимание
Сбор журналов из многих приборов и устройств теперь поддерживается общим форматом событий (CEF) через AMA, Syslog через AMA или пользовательские журналы через соединитель данных AMA в Microsoft Sentinel. Дополнительные сведения см. в разделе Найдите свой соединитель данных Microsoft Sentinel.
Внимание
Эта статья ссылается на CentOS, дистрибутив Linux, который достиг состояния окончания жизни (EOL). Пожалуйста, рассмотрите возможность использования и планирования соответствующим образом. Дополнительные сведения см. в руководстве centOS End Of Life.
В этой статье описываются распространенные методы проверки и устранения неполадок соединителя данных CEF или Syslog для Microsoft Sentinel.
Например, если сообщения журнала не отображаются в таблицах Syslog или CommonSecurityLog , источник данных может не подключаться должным образом. Кроме того, может возникнуть другая причина, по которой ваши данные не получены.
Другие симптомы сбоя развертывания соединителя включают в себя отсутствие файлов security_events.conf или security-omsagent.config.conf или если сервер rsyslog не прослушивает порт 514.
Дополнительные сведения см. в разделах Подключение внешнего решения с помощью Common Event Format и Получение данных из источников на основе Linux с помощью системного журнала Syslog.
Если вы развернули соединитель с помощью метода, отличного от документируемой процедуры, и если у вас возникли проблемы, рекомендуется отменить развертывание и начать его, на этот раз после документированных инструкций.
В этой статье показано, как устранять неполадки соединителей CEF или Syslog с агентом Log Analytics. Сведения об устранении неполадок, связанных с приемом журналов CEF с помощью агента Azure Monitor (AMA), см. в инструкциях по подключению Общий формат событий (CEF) через AMA.
Внимание
28 февраля 2023 года мы внесли изменения в схему таблицы CommonSecurityLog. После этого изменения может потребоваться просмотреть и обновить пользовательские запросы. Дополнительные сведения см. в разделе рекомендуемых действий в этой записи блога. Содержимое из коробки (обнаружения, запросы поиска угроз, рабочие книги, парсеры и т. д.) обновлено в Microsoft Sentinel.
Применение данной статьи
Если информация в этой статье относится только к системным журналам или только для соединителей CEF, она представлена на отдельных вкладках. Убедитесь, что вы используете инструкции на вкладке, соответствующей типу соединителя.
Например, если вы устраняете неполадки соединителя CEF, начните с проверки подключения CEF. Если вы устраняете неполадки соединителя Syslog, начните с проверки предварительных требований соединителя данных.
Проверка подключения CEF
После развертывания средства пересылки журналов и настройки решения безопасности для отправки сообщений CEF выполните действия, описанные в этом разделе, чтобы проверить подключение между решением безопасности и Microsoft Sentinel.
Эта процедура относится только к подключениям CEF и не относится к подключениям Syslog.
Убедитесь, что у вас есть следующие предварительные требования:
Вы должны обладать повышенными правами (sudo) на сервере пересылки журналов вашего компьютера.
На компьютере сервера пересылки журналов установите python 2.7 или 3. Используйте команду
python --version, чтобы проверить.Возможно, вам потребуется идентификатор рабочей области и первичный ключ рабочей области в какой-то момент в этом процессе. Их можно найти в ресурсе рабочей области в разделе Управление агентами.
В меню навигации Microsoft Sentinel выберите Журналы. Запустите запрос с помощью схемы CommonSecurityLog, чтобы проверить, получаете ли вы журналы от вашего решения безопасности.
Это может занять около 20 минут, пока журналы не будут отображаться в Log Analytics.
Если результаты запроса не отображаются, убедитесь, что ваше решение безопасности создает сообщения журнала. Или попробуйте выполнить некоторые действия для генерации сообщений журнала и убедитесь, что они пересылаются на ваш назначенный перенаправитель Syslog-сообщений.
Чтобы проверить подключение между вашим решением безопасности, сервером пересылки журналов и Microsoft Sentinel, выполните следующий скрипт на сервере пересылки журналов, заменив заполнитель на идентификатор рабочей области. Этот сценарий проверяет, прослушивает ли управляющая программа правильные порты, настроена ли пересылка правильно, а также то, не блокирует ли что-то обмен данными между управляющей программой и агентом Log Analytics. Сценарий также отправляет имитационные сообщения TestCommonEventFormat для проверки сквозного подключения.
sudo wget -O cef_troubleshoot.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/CEF/cef_troubleshoot.py&&sudo python cef_troubleshoot.py [WorkspaceID]Вы можете получить сообщение, приглашающее вас выполнить команду, чтобы исправить проблему с сопоставлением поля "Компьютер". Дополнительные сведения см. в объяснении сценария проверки.
Вы можете получить сообщение, которое направит вас выполнить команду для устранения проблемы с разбором логов брандмауэра Cisco ASA. Дополнительные сведения см. в объяснении сценария проверки.
Описание сценария проверки CEF
В следующем разделе описывается сценарий проверки CEF для управляющей программы rsyslog и управляющей программы syslog-ng.
Демон rsyslog
Для управляющей программы rsyslog сценарий проверки CEF выполняет следующие проверки:
Проверяет, существует ли файл
/etc/opt/microsoft/omsagent/[WorkspaceID]/conf/omsagent.d/security_events.conf
существует и является действительным.Проверяет, содержит ли файл следующий текст:
<source> type syslog port 25226 bind 127.0.0.1 protocol_type tcp tag oms.security format /(?<time>(?:\w+ +){2,3}(?:\d+:){2}\d+|\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.[\w\-\:\+]{3,12}):?\s*(?:(?<host>[^: ]+) ?:?)?\s*(?<ident>.*CEF.+?(?=0\|)|%ASA[0-9\-]{8,10})\s*:?(?<message>0\|.*|.*)/ <parse> message_format auto </parse> </source> <filter oms.security.**> type filter_syslog_security </filter>Проверяет, настроен ли анализ событий брандмауэра Cisco ASA так, как ожидалось, с помощью следующей команды:
grep -i "return ident if ident.include?('%ASA')" /opt/microsoft/omsagent/plugin/security_lib.rbЕсли при синтаксическом анализе возникла проблема, скрипт создает сообщение об ошибке, которое направляет вас вручную для выполнения следующей команды (применение идентификатора рабочей области вместо заполнителя). Команда обеспечивает корректный синтаксический анализ и перезапуск агента.
# Cisco ASA parsing fix sed -i "s|return '%ASA' if ident.include?('%ASA')|return ident if ident.include?('%ASA')|g" /opt/microsoft/omsagent/plugin/security_lib.rb && sudo /opt/microsoft/omsagent/bin/service_control restart [workspaceID]
Проверяет, является ли поле Компьютер из источника syslog правильно сопоставленным в агенте Log Analytics, используя следующую команду:
grep -i "'Host' => record\['host'\]" /opt/microsoft/omsagent/plugin/filter_syslog_security.rbЕсли возникает проблема с сопоставлением, скрипт формирует сообщение об ошибке, которое направляет вас выполнить следующую команду вручную (заменив заполнитель на идентификатор рабочей области). Команда гарантирует правильное сопоставление и перезапускает агент.
# Computer field mapping fix sed -i -e "/'Severity' => tags\[tags.size - 1\]/ a \ \t 'Host' => record['host']" -e "s/'Severity' => tags\[tags.size - 1\]/&,/" /opt/microsoft/omsagent/plugin/filter_syslog_security.rb && sudo /opt/microsoft/omsagent/bin/service_control restart [workspaceID]
Проверяет наличие каких-либо улучшений безопасности на компьютере, которые могут блокировать сетевой трафик (например, брандмауэр узла).
Проверяет, правильно ли настроена управляющая программа syslog (rsyslog) для отправки сообщений (которые идентифицируется как CEF) агенту Log Analytics через TCP-порт 25226:
Файл конфигурации:
/etc/rsyslog.d/security-config-omsagent.confif $rawmsg contains "CEF:" or $rawmsg contains "ASA-" then @@127.0.0.1:25226Перезапускает демон syslog и агент Log Analytics.
service rsyslog restart /opt/microsoft/omsagent/bin/service_control restart [workspaceID]Проверяет, установлены ли необходимые подключения: порт TCP 514 для получения данных, порт TCP 25226 для внутреннего обмена данными между управляющей программой syslog и агентом Log Analytics:
netstat -an | grep 514 netstat -an | grep 25226Проверяет, получает ли управляющая программа syslog данные через порт 514, а агент через порт 25226:
sudo tcpdump -A -ni any port 514 -vv sudo tcpdump -A -ni any port 25226 -vvОтправляет тестовые данные на порт 514 на localhost. Эти данные можно увидеть в рабочей области Microsoft Sentinel, выполнив следующий запрос:
CommonSecurityLog | where DeviceProduct == "MOCK"
демон syslog-ng
Для демона syslog-ng скрипт валидации CEF выполняет следующие проверки:
Проверяет существует ли файл
/etc/opt/microsoft/omsagent/[WorkspaceID]/conf/omsagent.d/security_events.conf
Существует и является действительным.Проверяет, содержит ли файл следующий текст:
<source> type syslog port 25226 bind 127.0.0.1 protocol_type tcp tag oms.security format /(?<time>(?:\w+ +){2,3}(?:\d+:){2}\d+|\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.[\w\-\:\+]{3,12}):?\s*(?:(?<host>[^: ]+) ?:?)?\s*(?<ident>.*CEF.+?(?=0\|)|%ASA[0-9\-]{8,10})\s*:?(?<message>0\|.*|.*)/ <parse> message_format auto </parse> </source> <filter oms.security.**> type filter_syslog_security </filter>Проверяет, настроен ли анализ событий брандмауэра Cisco ASA так, как ожидалось, с помощью следующей команды:
grep -i "return ident if ident.include?('%ASA')" /opt/microsoft/omsagent/plugin/security_lib.rbЕсли при синтаксическом анализе возникла проблема, скрипт создает сообщение об ошибке, которое направляет вас вручную выполнить следующую команду (заменив заполнитель на идентификатор рабочей области). Команда обеспечивает правильный синтаксический анализ и перезапуск агента.
# Cisco ASA parsing fix sed -i "s|return '%ASA' if ident.include?('%ASA')|return ident if ident.include?('%ASA')|g" /opt/microsoft/omsagent/plugin/security_lib.rb && sudo /opt/microsoft/omsagent/bin/service_control restart [workspaceID]
Проверка того, является ли поле Компьютер источника syslog правильно отображено в агенте Log Analytics, с использованием следующей команды:
grep -i "'Host' => record\['host'\]" /opt/microsoft/omsagent/plugin/filter_syslog_security.rbЕсли возникла проблема с сопоставлением, скрипт создает сообщение об ошибке, которое направляет вас вручную для выполнения следующей команды (применение идентификатора рабочей области вместо заполнителя). Команда гарантирует правильное сопоставление и перезапускает агент.
# Computer field mapping fix sed -i -e "/'Severity' => tags\[tags.size - 1\]/ a \ \t 'Host' => record['host']" -e "s/'Severity' => tags\[tags.size - 1\]/&,/" /opt/microsoft/omsagent/plugin/filter_syslog_security.rb && sudo /opt/microsoft/omsagent/bin/service_control restart [workspaceID]
Проверяет наличие каких-либо улучшений безопасности на компьютере, которые могут блокировать сетевой трафик (например, брандмауэр узла).
Проверяет, правильно ли настроен демон syslog (syslog-ng) для отправки сообщений, которые идентифицируются как CEF с использованием регулярного выражения, агенту Log Analytics через TCP-порт 25226.
Файл конфигурации:
/etc/syslog-ng/conf.d/security-config-omsagent.conffilter f_oms_filter {match(\"CEF\|ASA\" ) ;};destination oms_destination {tcp(\"127.0.0.1\" port(25226));}; log {source(s_src);filter(f_oms_filter);destination(oms_destination);};
Перезапускает демон syslog и агент Log Analytics.
service syslog-ng restart /opt/microsoft/omsagent/bin/service_control restart [workspaceID]Проверяет, установлены ли необходимые подключения: порт TCP 514 для получения данных, порт TCP 25226 для внутреннего обмена данными между управляющей программой syslog и агентом Log Analytics:
netstat -an | grep 514 netstat -an | grep 25226Проверяет, получает ли управляющая программа syslog данные через порт 514, а агент через порт 25226:
sudo tcpdump -A -ni any port 514 -vv sudo tcpdump -A -ni any port 25226 -vvОтправляет тестовые данные на порт 514 на localhost. Эти данные можно увидеть в рабочей области Microsoft Sentinel, выполнив следующий запрос:
CommonSecurityLog | where DeviceProduct == "MOCK"
Проверьте предварительные условия для соединителя данных
Используйте следующие разделы, чтобы проверить, выполнены ли предварительные требования к соединителю данных CEF или Syslog.
Виртуальная машина Azure в качестве сборщика CEF
Если вы используете виртуальную машину Azure в качестве сборщика CEF, проверьте следующее:
Прежде чем развертывать сценарий Python для соединителя данных Common Event Format, убедитесь, что ваша виртуальная машина не подключена к имеющейся рабочей области Log Analytics. Эти сведения можно найти в списке виртуальных машин для рабочей области Log Analytics, где виртуальная машина, подключенная к рабочей области Syslog, отображается как Подключенная.
Убедитесь, что служба Microsoft Sentinel подключена к правильной рабочей области Log Analytics с установленным решением SecurityInsights.
Дополнительные сведения см. в разделе Шаг 1. Развертывание сервера пересылки журналов.
Убедитесь, что ваш компьютер правильно настроен и соответствует хотя бы минимальным необходимым требованиям. Дополнительные сведения см. в разделе Предварительные требования CEF.
Локальная виртуальная машина или виртуальная машина вне Azure
Если вы используете локальную машину или виртуальную машину, не относящуюся к Azure для соединителя данных, убедитесь, что вы выполнили сценарий установки при новой установке поддерживаемой операционной системы Linux:
Совет
Этот сценарий также можно найти на странице соединителя данных Common Event Format в Microsoft Sentinel.
sudo wget -O cef_installer.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/CEF/cef_installer.py&&sudo python cef_installer.py <WorkspaceId> <Primary Key>
Включите функционал CEF и сбор сведений о серьезности журналов.
Сервер Syslog, rsyslog или syslog-ng, пересылает все данные, определенные в соответствующем файле конфигурации, который автоматически заполняется параметрами, определенными в рабочей области Log Analytics.
Обязательно добавьте сведения о возможностях и уровнях серьезности журналов, которые необходимо интегрировать в Microsoft Sentinel. Подождите примерно 20 минут, пока не завершится настройка.
Дополнительные сведения см. в разделе Описание скрипта развертывания.
Например, выполните приведенную команду на сервере rsyslog, чтобы отобразить текущие параметры перенаправления Syslog и просмотреть все изменения в файле конфигурации.
cat /etc/rsyslog.d/security-config-omsagent.conf
В этом случае для сервера rsyslog должны отобразиться выходные данные, как показано ниже.
if $rawmsg contains "CEF:" or $rawmsg contains "ASA-" then @@127.0.0.1:25226
Устранение неполадок операционной системы
В этом разделе описывается, как устранять неполадки, которые определенно являются следствием конфигурации операционной системы.
Вот как можно устранить неполадки операционной системы.
Если вы еще этого не сделали, убедитесь, что вы работаете с поддерживаемой версией операционной системы и Python. Для получения дополнительной информации см. Предварительные требования CEF.
Если ваша виртуальная машина размещена в Azure, убедитесь, что группа безопасности сети (NSG) разрешает подключение по протоколу TCP/UDP от вашего клиента журнала (отправителя) через порт 514.
Убедитесь, что пакеты поступают в систему сбора Syslog. Чтобы записать пакеты Syslog, поступающие в сборщик Syslog, выполните следующее:
tcpdump -Ani any port 514 and host <ip_address_of_sender> -vvВыполните одно из следующих действий:
Если вы не видите поступающие пакеты, проверьте настройки группы безопасности NSG и путь маршрутизации к сборщику Syslog.
Если вы видите пакеты, поступающие, убедитесь, что они не отклоняются.
Если вы видите отклоненные пакеты, убедитесь, что IP-таблицы не блокируют подключения.
Чтобы убедиться, что пакеты не отклоняются, выполните следующую команду:
watch -n 2 -d iptables -nvLПроверьте, обрабатывает ли сервер CEF журналы. Запустить:
tail -f /var/log/messages or tail -f /var/log/syslogВсе обрабатываемые журналы CEF отображаются в виде обычного текста.
Убедитесь, что сервер rsyslog прослушивает TCP/UDP-порт 514. Запустить:
netstat -anp | grep syslogЕсли вы отправляете журналы CEF или ASA в сборщик Syslog, вы должны увидеть установленное подключение через TCP-порт 25226.
Например:
0 127.0.0.1:36120 127.0.0.1:25226 ESTABLISHED 1055/rsyslogdЕсли это подключение заблокировано, возможно, его блокирует процесс брандмауэра либо SELinux блокирует подключение к агенту OMS. Чтобы определить проблему, используйте соответствующие инструкции.
SELinux блокирует подключение к агенту OMS
Эта процедура позволяет проверить, находится ли SELinux в данный момент в состоянии permissive или блокирует подключение к агенту OMS. Эта процедура уместна, если ваша операционная система является дистрибутивом RedHat или CentOS, а также для соединителей данных CEF и Syslog.
Примечание.
Поддержка Microsoft Sentinel для CEF и Syslog включает только усиление защиты FIPS. Другие методы усиления защиты, такие как SELinux или CIS, в настоящее время не поддерживаются.
Запустить:
sestatusСтатус отображается как один из следующих:
-
disabled. Эта конфигурация поддерживается для подключения к Microsoft Sentinel. -
permissive. Эта конфигурация поддерживается для подключения к Microsoft Sentinel. -
enforced. Эта конфигурация не поддерживается, и необходимо либо отключить ее состояние, либо задать для него значениеpermissive.
-
Если в настоящий момент состояние установлено на
enforced, временно отключите его, чтобы убедиться, что именно это было причиной блокировки. Запустить:setenforce 0Примечание.
Это действие выключает SELinux только до перезагрузки сервера. Измените конфигурацию SELinux, чтобы она оставалась выключенной.
Чтобы убедиться, что изменение внесено успешно, выполните следующее:
getenforceДолжно быть возвращено состояние
permissive.
Внимание
После перезагрузки системы изменение этого параметра отменяется. Чтобы навсегда изменить этот параметр, задав для него значениеpermissive, измените файл /etc/selinux/config, изменив значение SELINUX на SELINUX=permissive.
Дополнительные сведения см. в документации по RedHat.
Блокирующая политика брандмауэра
Эта процедура позволяет проверить, блокирует ли политика брандмауэра подключение управляющей программы rsyslog к агенту OMS, и при необходимости отключить ее. Эта процедура относится как к соединителям данных CEF, так и к Syslog.
Выполните приведенную команду, чтобы проверить наличие отклонений в таблицах IP-адресов, указывающих на трафик, удаляемый политикой брандмауэра.
watch -n 2 -d iptables -nvLЧтобы не отключать политику брандмауэра, создайте правило политики, разрешающее подключения. Добавьте необходимые правила, чтобы открыть TCP/UDP-порты 25226 и 25224 в активном брандмауэре.
Например:
Every 2.0s: iptables -nvL rsyslog: Wed Jul 7 15:56:13 2021 Chain INPUT (policy ACCEPT 6185K packets, 2466M bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 6792K packets, 6348M bytes) pkts bytes target prot opt in out source destinationЧтобы открыть TCP/UDP-порты 25226 и 25224 в активном брандмауэре, добавьте необходимые правила.
Чтобы установить редактор политик брандмауэра, выполните команду:
yum install policycoreutils-pythonДобавьте правила брандмауэра в политику брандмауэра. Например:
sudo firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 25226 -j ACCEPT sudo firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p udp --dport 25224 -j ACCEPT sudo firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 25224 -j ACCEPTУбедитесь, что исключение добавлено. Запустить:
sudo firewall-cmd --direct --get-rules ipv4 filter INPUTПерезагрузите брандмауэр. Запустить:
sudo firewall-cmd --reload
Примечание.
Чтобы отключить брандмауэр, выполните: sudo systemctl disable firewalld
Проблемы, связанные с агентами Linux и OMS
Если описанные ранее в этой статье действия не устраняют проблему, возможно, у вас возникла проблема с подключением между агентом OMS и рабочей областью Microsoft Sentinel.
В таких случаях продолжите устранение неполадок, убедившись в следующем.
Убедитесь, что вы видите пакеты, поступающие на TCP/UDP-порт 514 на сборщике Syslog.
Убедитесь, что вы можете видеть, как журналы записываются в локальный файл журнала /var/log/messages или /var/log/syslog.
Убедитесь, что пакеты данных передаются через порт 25226
Убедитесь, что у виртуальной машины имеется исходящее подключение к TCP-порту 443 или что она может подключиться к конечным точкам Log Analytics.
Убедитесь, что политика брандмауэра обеспечивает доступ сборщика CEF к нужным URL-адресам. Дополнительные сведения см. в разделе Требования к брандмауэру агента Log Analytics.
Выполните следующую команду, чтобы определить, успешно ли агент взаимодействует с Azure или заблокирован его доступ к рабочей области Log Analytics.
Heartbeat
| where Computer contains "<computername>"
| sort by TimeGenerated desc
Если агент успешно обменивается данными, возвращается запись журнала. В противном случае агент OMS может быть заблокирован.