Поделиться через


Расширенное управление сборщиком журналов

В этой статье описывается настройка дополнительных параметров для сборщиков журналов Defender for Cloud Apps cloud discovery.

Defender for Cloud Apps обнаружение облака по-прежнему сосредоточено на базовых форматах брандмауэра. Изменения в журналах, пересылаемых на уровне брандмауэра, могут не работать или вызвать проблемы с синтаксический анализ. При обнаружении ошибок такого рода рекомендуется продолжать использовать базовый формат брандмауэра или использовать параметры с пользовательским сборщиком журналов. Дополнительные сведения см. в разделе Использование настраиваемого средства синтаксического анализа журналов.

В этой статье описывается, как изменить конфигурацию для docker обнаружения облачных Defender for Cloud Apps.

Изменение конфигурации FTP сборщика журналов

Выполните следующие действия в следующих разделах, чтобы изменить конфигурацию docker Defender for Cloud Apps облачного обнаружения.

Проверка версии сборщика журналов

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

cat /var/adallom/versions | grep columbus-

Изменение пароля FTP

В этой процедуре описывается изменение пароля, используемого для доступа к файлам сборщика журналов:

  1. Подключитесь к узлу сборщика журналов и выполните следующую команду:

    docker exec -it <collector name> pure-pw passwd <ftp user>
    
  2. Введите новый пароль, а затем введите его еще раз для подтверждения.

  3. Выполните следующую команду, чтобы применить изменение:

    docker exec -it <collector name> pure-pw mkdb
    

Вы сможете просмотреть следующее содержимое:

  • run_logs
  • ssl_update
  • config.json

Добавление файлов сертификатов

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

  1. Откройте FTP-клиент и подключитесь к узлу сборщика журналов.

  2. Перейдите в ssl_update каталог и отправьте новые файлы сертификатов, включая следующие:

    Тип получателя Требуемые файлы
    FTP - pure-ftpd.pem: включает данные ключа и сертификата.
    Системный журнал - ca.pem: сертификат центра сертификации, который использовался для подписи сертификата клиента.
    - server-key.pem и server-cert.pem: сертификат и ключ сборщика журналов

    Сообщения системного журнала отправляются по протоколу TLS сборщику журналов, что требует взаимной проверки подлинности TLS, включая проверку подлинности сертификатов клиента и сервера.

Файлы являются обязательными. Если какой-либо из файлов для типа получателя отсутствует, обновление завершается ошибкой.

  1. В окне терминала выполните следующую команду:

    docker exec -t <collector name> update_certs
    

    Выходные данные должны выглядеть примерно так:

    root@DockerPlayground:~# docker exec -t columbus update_certs
    rsyslog: stopped
    rsyslog: started
    ftpd: stopped
    ftpd: started
    root@DockerPlayground:~#
    
  2. В окне терминала выполните следующую команду:

    docker exec <collector name> chmod -R 700 /etc/ssl/private/
    

Включение сборщика журналов за прокси-сервером

Если вы работаете за прокси-сервером, у сборщика журналов могут возникнуть проблемы с отправкой данных в Defender for Cloud Apps. Например, это может произойти из-за того, что сборщик журналов не доверяет корневому центру сертификации прокси-сервера и не может подключиться к Microsoft Defender for Cloud Apps для получения конфигурации или отправки полученных журналов.

В следующих процедурах описано, как включить сборщик журналов за прокси-сервером.

Совет

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

Настройка сборщика журналов за прокси-сервером

Убедитесь, что вы выполнили необходимые действия для запуска Docker на компьютере с Windows или Linux и успешно загрузили образ Docker Defender for Cloud Apps на главный компьютер.

Дополнительные сведения см. в разделе Настройка автоматической отправки журналов для непрерывных отчетов.

Проверка создания контейнера сборщика журналов Docker

Убедитесь, что контейнер создан и запущен. В оболочке выполните следующую команду:

docker ps

Вы должны увидеть примерно следующее:

Снимок экрана: запущенный контейнер Docker.

Копирование сертификата корневого ЦС прокси-сервера в контейнер

Скопируйте сертификат ЦС из виртуальной машины в контейнер Defender for Cloud Apps. В следующем примере контейнер называется Ubuntu-LogCollector , а сертификат ЦС — Proxy-CA.crt.

Следующая команда копирует сертификат в папку в работающем контейнере. Выполните команду на узле Ubuntu:

docker cp Proxy-CA.crt Ubuntu-LogCollector:/var/adallom/ftp/discovery

Настройка конфигурации для работы с сертификатом ЦС

  1. Перейдите в контейнер. Выполните следующую команду, чтобы открыть bash в контейнере сборщика журналов:

    docker exec -it Ubuntu-LogCollector /bin/bash
    
  2. В окне bash внутри контейнера перейдите в папку Java jre . Чтобы избежать ошибки пути, связанной с версией, используйте следующую команду:

    cd "$(find /opt/jdk/*/jre -name "bin" -printf '%h' -quit)"
    cd bin
    
  3. Импортируйте корневой сертификат, скопированный ранее, из папки обнаружения в Хранилище ключей Java и определите пароль.

    Пароль по умолчанию — changeit. Дополнительные сведения см. в статье Изменение пароля Java KeyStore.

    ./keytool --import --noprompt --trustcacerts --alias SelfSignedCert --file /var/adallom/ftp/discovery/Proxy-CA.crt --keystore ../lib/security/cacerts --storepass <password>
    
  4. Убедитесь, что сертификат правильно импортирован в хранилище ключей ЦС. Выполните следующую команду, чтобы найти псевдоним, указанный во время импорта (SelfSignedCert):

    ./keytool --list --keystore ../lib/security/cacerts | grep self
    

    Отобразится импортированный сертификат ЦС прокси-сервера.

Ограничение IP-адресов, отправляя сообщения системного журнала сборщику журналов в Linux

Чтобы защитить образ Docker и убедиться, что только один IP-адрес может отправлять сообщения системного журнала сборщику журналов, создайте правило таблицы IP-адресов на хост-компьютере, чтобы разрешить входной трафик и удалить трафик, поступающий через определенные порты, например TCP/601 или UDP/514, в зависимости от развертывания.

Следующая команда демонстрирует пример создания правила таблицы IP-адресов, которое можно добавить на главный компьютер. Это табличное правило позволяет IP-адресу 1.2.3.4 подключаться к контейнеру сборщика журналов через TCP-порт 601 и удалять все остальные подключения, поступающие с других IP-адресов, через тот же порт.

iptables -I DOCKER-USER \! --src 1.2.3.4 -m tcp -p tcp --dport 601 -j DROP

Настройка сборщика журналов для запуска с новой конфигурацией

Контейнер готов.

collector_config Выполните команду, используя маркер API, который использовался при создании сборщика журналов. Например:

Снимок экрана: диалоговое окно

При выполнении команды укажите собственный токен API, например collector_config abcd1234abcd1234abcd1234abcd1234 ${CONSOLE} ${COLLECTOR}

Например:

Снимок экрана: пример обновления конфигурации.

Теперь сборщик журналов может взаимодействовать с Defender for Cloud Apps. После отправки данных в Defender for Cloud Apps состояние сборщика журналов изменяется с Исправно на Подключено. Например:

Снимок экрана: состояние отправки.

Примечание.

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

Чтобы избежать этого, можно повторно запустить средство collector_config с новым маркером API, созданным в Defender for Cloud Apps.

Изменение пароля Java KeyStore

  1. Остановите сервер Хранилища ключей Java.

  2. Откройте оболочку bash внутри контейнера и перейдите в папку appdata/conf .

  3. Чтобы изменить пароль сервера KeyStore, выполните следующую команду:

    keytool -storepasswd -new newStorePassword -keystore server.keystore
    -storepass changeit
    

    Пароль сервера по умолчанию — changeit.

  4. Чтобы изменить пароль сертификата, выполните следующую команду:

    keytool -keypasswd -alias server -keypass changeit -new newKeyPassword -keystore server.keystore -storepass newStorePassword
    

    Псевдоним сервера по умолчанию — сервер.

  5. В текстовом редакторе откройте файл server-install\conf\server\secured-installed.properties . Добавьте следующие строки кода, а затем сохраните изменения:

    1. Укажите новый пароль Java KeyStore для сервера: server.keystore.password=newStorePassword
    2. Укажите новый пароль сертификата для сервера: server.key.password=newKeyPassword
  6. Запустите сервер.

Перемещение сборщика журналов в другую секцию данных в Linux

Во многих компаниях требуется переместить данные в отдельную секцию. В этой процедуре описывается перемещение образов сборщика журналов Docker Defender for Cloud Apps в раздел данных на узле Linux.

В этой процедуре описывается перемещение данных в секцию с именем datastore и предполагается, что секция уже подключена. Например:

Список разделов Linux.

Добавление и настройка новой секции на узле Linux не включена в область этого руководства.

Чтобы переместить сборщик журналов в другую секцию:

  1. Остановите службу Docker. Бежать:

    service docker stop
    
  2. Переместите данные сборщика журналов в новую секцию. Бежать:

    mv /var/lib/docker /datastore/docker
    
  3. Удалите старый каталог хранилища Docker (/var/lib/docker) и создайте символьную ссылку на новый каталог (/datastore/docker). Бежать:

    rm -rf /var/lib/docker && ln -s /datastore/docker /var/lib/
    
  4. Запустите службу Docker. Бежать:

    service docker start
    
  5. При необходимости проверьте состояние сборщика журналов. Бежать:

    docker ps
    

Проверка использования диска сборщика журналов в Linux

В этой процедуре описывается, как проверить использование и расположение диска сборщика журналов.

  1. Определите путь к каталогу, в котором хранятся данные сборщика журналов. Бежать:

    docker inspect <collector_name> | grep WorkDir
    

    Например:

    Снимок экрана: определение каталога сборщика журналов.

  2. Получите размер на диске сборщика журналов, используя указанный путь без суффикса "/work". Бежать:

    du -sh /var/lib/docker/overlay2/<log_collector_id>/
    

    Снимок экрана: определение размера сборщика журналов на диске.

    Примечание.

    Если вам нужно знать только размер диска, можно использовать следующую команду: docker ps -s

Перемещение сборщика журналов на узел со специальными возможностями

В регулируемых средах доступ к Центрам Docker, в которых размещен образ сборщика журналов, может быть заблокирован. Это не позволяет Defender for Cloud Apps импортировать данные из сборщика журналов и может быть разрешено перемещение образа сборщика журналов на узел со специальными возможностями.

В этой процедуре описывается, как скачать образ сборщика журналов с помощью компьютера, имеющего доступ к Docker Hub, и импортировать его на целевой узел.

Скачанный образ можно импортировать в частный репозиторий или непосредственно на узле. В этой процедуре описывается, как скачать образ сборщика журналов на компьютер Windows, а затем с помощью WinSCP переместить сборщик журналов на целевой узел.

Предварительные условия

  1. Убедитесь, что на узле установлен Docker. Например, используйте один из следующих загрузок:

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

    Начните процесс, экспортировав образ сборщика журналов , а затем импортируйте образ на целевой узел.

Экспорт образа сборщика журналов из Docker Hub

В следующих процедурах описано, как экспортировать образ сборщика журналов с помощью Linux или Windows.

Экспорт образа в Linux

  1. На компьютере Linux с доступом к Docker Hub выполните следующую команду, чтобы установить Docker и скачать образ сборщика журналов.

    curl -o /tmp/MCASInstallDocker.sh https://adaprodconsole.blob.core.windows.net/public-files/MCASInstallDocker.sh && chmod +x /tmp/MCASInstallDocker.sh; /tmp/MCASInstallDocker.sh
    
  2. Экспорт образа сборщика журналов. Бежать:

    docker save --output /tmp/mcasLC.targ mcr.microsoft.com/mcas/logcollector
    chmod +r /tmp/mcasLC.tar
    

    Важно!

    Обязательно используйте выходной параметр для записи в файл вместо STDOUT.

  3. Скачайте образ сборщика журналов на компьютер Windows с C:\mcasLogCollector\ помощью WinSCP. Например:

    Снимок экрана: скачивание сборщика журналов на компьютер Windows.

Экспорт образа в Windows

  1. На Windows 10 компьютере с доступом к Docker Hub установите Docker Desktop.

  2. Скачайте образ сборщика журналов. Бежать:

    docker login -u caslogcollector -p C0llector3nthusiast
    docker pull mcr.microsoft.com/mcas/logcollector
    
  3. Экспорт образа сборщика журналов. Бежать:

    docker save --output C:\mcasLogCollector\mcasLC.targ mcr.microsoft.com/mcas/logcollector
    

    Важно!

    Обязательно используйте выходной параметр для записи в файл вместо STDOUT.

Импорт и загрузка образа сборщика журналов на целевой узел

В этой процедуре описывается передача экспортированного образа на конечный узел.

  1. Отправьте образ сборщика журналов на целевой узел в разделе /tmp/. Например:

    Снимок экрана: отправка сборщика журналов на целевой узел.

  2. На конечном узле импортируйте образ сборщика журналов в репозиторий образов Docker. Бежать:

    docker load --input /tmp/mcasLC.tar
    

    Например:

    Снимок экрана: импорт образа сборщика журналов в репозиторий Docker.

  3. При необходимости убедитесь, что импорт успешно завершен. Бежать:

    docker image ls
    

    Например:

    Снимок экрана: проверка успешности импорта сборщика журналов.

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

Определение пользовательских портов для приемников системного журнала и FTP для сборщиков журналов в Linux

В некоторых организациях требуется определить пользовательские порты для служб Syslog и FTP.

При добавлении источника данных сборщики журналов Defender for Cloud Apps используют определенные номера портов для прослушивания журналов трафика из одного или нескольких источников данных.

В следующей таблице перечислены порты прослушивания по умолчанию для получателей.

Тип получателя Порты
Системный журнал * UDP/514 — UDP/51x
* TCP/601 — TCP/60x
FTP * TCP/21

Чтобы определить настраиваемые порты, выполните следующие действия.

  1. На портале Microsoft Defender выберите Параметры. Затем выберите Облачные приложения.

  2. В разделе Cloud Discovery выберите Автоматическая отправка журнала. Затем перейдите на вкладку Сборщики журналов .

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

    Скопируйте команду run из мастера сборщика журналов.

    Если используется как указано, предоставленная мастером команда настраивает сборщик журналов для использования портов 514/udp и 515/udp. Например:

    (echo <credentials>) | docker run --name LogCollector1 -p 514:514/udp -p 515:515/udp -p 21:21 -p 20000-20099:20000-20099 -e "PUBLICIP='10.0.0.100'" -e "PROXY=" -e "SYSLOG=true" -e "CONSOLE=machine.us2.portal.cloudappsecurity.com" -e "COLLECTOR=LogCollector1" --security-opt apparmor:unconfined --cap-add=SYS_ADMIN --restart unless-stopped -a stdin -i mcr.microsoft.com/mcas/logcollector starter
    

    Например:

    Снимок экрана: команда, выполняемая из мастера сборщика журналов.

  4. Перед использованием команды на хост-компьютере измените команду, чтобы использовать пользовательские порты. Например, чтобы настроить сборщик журналов для использования портов UDP 414 и 415, измените команду следующим образом:

    (echo <credentials>) | docker run --name LogCollector1 -p 414:514/udp -p 415:515/udp -p 21:21 -p 20000-20099:20000-20099 -e "PUBLICIP='10.0.0.100'" -e "PROXY=" -e "SYSLOG=true" -e "CONSOLE=machine.us2.portal.cloudappsecurity.com" -e "COLLECTOR=LogCollector1" --security-opt apparmor:unconfined --cap-add=SYS_ADMIN --restart unless-stopped -a stdin -i mcr.microsoft.com/mcas/logcollector starter
    

    Например:

    Снимок экрана: настраиваемая команда выполнения.

    Примечание.

    Изменяется только сопоставление Docker. Внутренние порты не изменяются, что позволяет выбрать любой прослушивающий порт на узле.

Проверка трафика и формата журнала, полученных сборщиком журналов в Linux

Иногда может потребоваться изучить следующие проблемы:

  • Сборщики журналов получают данные. Убедитесь, что сборщики журналов получают сообщения системного журнала с устройств и не заблокированы брандмауэрами.
  • Полученные данные отображаются в правильном формате журнала. Проверьте формат журнала, чтобы устранить ошибки синтаксического анализа, сравнив формат журнала, ожидаемый Defender for Cloud Apps, и формат, отправленный (модуль).

Чтобы убедиться, что трафик получен сборщиками журналов, выполните следующие действия.

  1. Войдите на сервер, на котором размещен контейнер Docker.

  2. Убедитесь, что сборщик журналов получает сообщения системного журнала, используя любой из следующих методов:

    • Используйте tcpdump или аналогичную команду для анализа сетевого трафика через порт 514:

      tcpdump -Als0 port 514
      

      Если все настроено правильно, вы увидите сетевой трафик от устройств. Например:

      Снимок экрана: анализ сетевого трафика через tcpdump.

    • Используйте netcat или аналогичную команду для анализа сетевого трафика на хост-компьютере:

      1. Установите netcat и wget.

      2. Скачайте пример файла журнала из Microsoft Defender XDR. При необходимости распакуйте файл журнала.

        1. В Microsoft Defender XDR в разделе Облачные приложения выберите Cloud Discovery>Actions>Create Cloud Discovery snapshot отчет.

        2. Выберите источник данных , из которого нужно отправить файлы журнала.

        3. Выберите Просмотр и проверка , а затем щелкните правой кнопкой мыши Скачать пример журнала и скопируйте ссылку URL-адреса.

        4. Выберите Закрыть>отмену.

      3. Бежать:

        wget <URL_address_to_sample_log>
        
      4. Запустите netcat для потоковой передачи данных в сборщик журналов.

        cat <path_to_downloaded_sample_log>.log | nc -w 0 localhost <datasource_port>
        

      Если сборщик настроен правильно, данные журнала присутствуют в файле сообщений и вскоре после этого отправляются в Defender for Cloud Apps.

    • Проверьте соответствующие файлы в контейнере Docker Defender for Cloud Apps:

      1. Войдите в контейнер. Бежать:

        docker exec -it <Container Name> bash
        
      2. Определите, записываются ли сообщения системного журнала в файл сообщений. Бежать:

        cat /var/adallom/syslog/<your_log_collector_port>/messages
        

      Если все настроено правильно, вы увидите сетевой трафик от устройств. Например:

      Снимок экрана: анализ трафика с помощью команды cat.

      Примечание.

      Этот файл будет продолжать записываться в, пока он не достигнет размера 40 КБ. Например:

  3. Просмотрите журналы, отправленные в Defender for Cloud Apps в каталоге/var/adallom/discoverylogsbackup. Например:

    Просмотр отправленных файлов журнала.

  4. Проверьте формат журнала, полученный сборщиком журналов, сравнив хранящиеся в /var/adallom/discoverylogsbackup ней сообщения с форматом журнала, указанным в мастере создания сборщика журналов Defender for Cloud Apps.

Запись выходных данных файла сообщений в локальный файл

Если вы хотите использовать собственный образец журнала, но у вас нет доступа к (модуль), используйте следующие команды, чтобы записать выходные данные файла сообщений, расположенного в каталоге системного журнала сборщика журналов, в локальный файл на узле:

docker exec CustomerLogCollectorName tail -f -q /var/adallom/syslog/<datasource_port>/messages > /tmp/log.log

Сравните выходной файл (/tmp/log.log) с сообщениями, хранящимися в каталоге /var/adallom/discoverylogsbackup .

Обновление версии сборщика журналов

При обновлении сборщика журналов:

  • Перед установкой новой версии обязательно остановите сборщик журналов и удалите текущий образ.
  • После установки новой версииобновите файлы сертификатов.

Дальнейшие действия

Если у вас возникнут какие-либо проблемы, мы здесь, чтобы помочь. Чтобы получить помощь или поддержку по проблеме с продуктом, отправьте запрос в службу поддержки.