Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описано, как настроить расширенные параметры для сборщиков журналов Cloud Discovery в Defender for Cloud Apps.
Defender for Cloud Apps обнаружение облака по-прежнему сосредоточено на базовых форматах брандмауэра. Изменения, вносимые в журналы, пересылаемые на уровне брандмауэра, могут перестать работать или вызвать проблемы с разбором. При обнаружении ошибок такого рода рекомендуется продолжать использовать базовый формат брандмауэра или использовать параметры с пользовательским сборщиком журналов. Дополнительные сведения см. в разделе Использование настраиваемого средства синтаксического анализа журналов.
В этой статье описано, как изменить конфигурацию Docker-образа обнаружения облака в Defender for Cloud Apps.
Изменение конфигурации FTP сборщика журналов
Выполните действия, описанные в статье "Проверка версии сборщика журналов", изменение пароля FTP и добавление файлов сертификатов для изменения конфигурации для Defender for Cloud Apps cloud discovery Docker.
Проверка версии сборщика журналов
Чтобы проверить версию сборщика журналов, установленную в системе, подключитесь к узлу сборщика журналов и выполните следующую команду, чтобы проверить установленную версию компонента сборщика:
cat /var/adallom/versions | grep columbus-
Изменение пароля FTP
В этой процедуре описывается изменение пароля, используемого для доступа к файлам сборщика журналов:
Подключитесь к узлу сборщика журналов и выполните следующую команду:
docker exec -it <collector name> pure-pw passwd <ftp user>Введите новый пароль, а затем введите его еще раз для подтверждения.
Выполните следующую команду, чтобы применить изменение:
docker exec -it <collector name> pure-pw mkdb
В корневом каталоге FTP сборщика журналов можно просмотреть следующее содержимое:
run_logsssl_updateconfig.json
Добавление файлов сертификатов
В этой процедуре описано, как добавить необходимые файлы сертификатов, используемые для защищённых подключений к экземпляру Docker Cloud Discovery.
Откройте FTP-клиент и подключитесь к узлу сборщика журналов.
Перейдите в
ssl_updateкаталог и отправьте новые файлы сертификатов, включая следующие:Тип получателя Требуемые файлы FTP - pure-ftpd.pem: включает данные ключа и сертификата. Syslog - ca.pem: сертификат центра сертификации, который использовался для подписи сертификата клиента.
- server-key.pem и server-cert.pem: сертификат и ключ сборщика журналов
Сообщения системного журнала отправляются по протоколу TLS сборщику журналов, что требует взаимной проверки подлинности TLS, включая проверку подлинности сертификатов клиента и сервера.
Файлы являются обязательными. Если какой-либо из файлов для типа получателя отсутствует, обновление завершается ошибкой.
В окне терминала выполните следующую команду:
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:~#В окне терминала выполните следующую команду:
docker exec <collector name> chmod -R 700 /etc/ssl/private/
Включение сборщика журналов за прокси-сервером
Если вы используете прокси-сервер, у сборщика журналов могут возникнуть проблемы с отправкой данных в Defender for Cloud Apps. Например, сбои подключения могут произойти, так как сборщик журналов не доверяет корневому центру сертификации прокси-сервера и не может подключаться к Microsoft Defender for Cloud Apps для получения конфигурации или отправки полученных журналов.
Чтобы включить сборщик журналов за прокси-сервером, настройте сборщик журналов за прокси-сервером, проверьте создание контейнера сборщика журналов Docker, скопируйте сертификат корневого ЦС прокси-сервера в контейнер и задайте конфигурацию для работы с сертификатом ЦС.
Совет
Вы также можете изменить сертификаты, используемые сборщиком журналов для syslog или FTP, или устранить проблемы с подключением брандмауэров и прокси-серверов к сборщику журналов. Дополнительные сведения см. в разделе Изменение конфигурации FTP сборщика журналов.
Настройте сборщик журналов за прокси-сервером
Убедитесь, что вы выполнили необходимые действия для запуска Docker на компьютере с Windows или Linux и успешно загрузили образ Docker Defender for Cloud Apps на главный компьютер.
Дополнительные сведения см. в разделе Настройка автоматической отправки журналов для непрерывных отчетов.
Проверьте создание контейнера для сбора журналов Docker
Убедитесь, что контейнер создан и запущен. В оболочке выполните следующую команду:
docker ps
Вы должны увидеть нечто похожее на следующий результат:
Скопируйте корневой сертификат центра сертификации прокси-сервера в контейнер
Скопируйте сертификат ЦС из виртуальной машины в контейнер Defender for Cloud Apps. В следующем примере контейнер называется Ubuntu-LogCollector , а сертификат ЦС — Proxy-CA.crt.
Следующая команда копирует сертификат центра сертификации прокси-сервера в каталог discovery работающего контейнера, чтобы сборщик журналов мог доверять прокси-серверу. Выполните команду на узле Ubuntu:
docker cp Proxy-CA.crt Ubuntu-LogCollector:/var/adallom/ftp/discovery
Настройка конфигурации для работы с сертификатом ЦС
Выполните следующие действия, чтобы импортировать сертификат ЦС прокси-сервера в Java KeyStore контейнера, чтобы сборщик журналов доверял прокси-серверу.
Войдите в контейнер. Выполните следующую команду, чтобы открыть bash в контейнере сборщика журналов:
docker exec -it Ubuntu-LogCollector /bin/bashВ окне bash внутри контейнера перейдите в папку Java
jre. Чтобы избежать ошибки пути, связанной с версией, используйте следующую команду:cd "$(find /opt/jdk/*/jre -name "bin" -printf '%h' -quit)" cd binИмпортируйте корневой сертификат, скопированный ранее, из папки обнаружения в Хранилище ключей Java и определите пароль.
Пароль по умолчанию —
changeit. Чтобы изменить пароль по умолчанию, см. раздел "Изменение пароля Java KeyStore"../keytool --import --noprompt --trustcacerts --alias SelfSignedCert --file /var/adallom/ftp/discovery/Proxy-CA.crt --keystore ../lib/security/cacerts --storepass <password>Убедитесь, что сертификат правильно импортирован в хранилище ключей ЦС. Выполните следующую команду, чтобы найти псевдоним, указанный во время импорта (SelfSignedCert):
./keytool --list --keystore ../lib/security/cacerts | grep selfОтобразится импортированный сертификат ЦС прокси-сервера.
Ограничьте IP-адреса, отправляющие сообщения syslog коллектору логов в 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
Выполните следующие действия, чтобы изменить пароль Java KeyStore, используемый сборщиком журналов.
Остановите сервер Хранилища ключей Java.
Откройте оболочку bash внутри контейнера и перейдите в папку appdata/conf .
Чтобы изменить пароль сервера KeyStore, выполните следующую команду:
keytool -storepasswd -new newStorePassword -keystore server.keystore -storepass changeitПароль сервера по умолчанию —
changeit.Чтобы изменить пароль сертификата, выполните следующую команду:
keytool -keypasswd -alias server -keypass changeit -new newKeyPassword -keystore server.keystore -storepass newStorePasswordПсевдоним сервера по умолчанию — сервер.
В текстовом редакторе откройте файл server-install\conf\server\secured-installed.properties . Добавьте следующие строки кода, а затем сохраните изменения:
- Укажите новый пароль Java KeyStore для сервера:
server.keystore.password=newStorePassword - Укажите новый пароль сертификата для сервера:
server.key.password=newKeyPassword
- Укажите новый пароль Java KeyStore для сервера:
Запустите сервер.
Перемещение сборщика журналов в другую секцию данных в Linux
Во многих компаниях требуется переместить данные в отдельную секцию. В этой процедуре описывается перемещение образов сборщика журналов Docker Defender for Cloud Apps в раздел данных на узле Linux.
В этой процедуре описывается перемещение данных в секцию с именем datastore и предполагается, что секция уже подключена. Например:
Добавление и настройка новой секции на узле Linux не включена в область этого руководства.
Чтобы переместить сборщик журналов в другой раздел:
Остановите службу Docker. Запуск:
service docker stopПереместите данные сборщика журналов в новую секцию. Запуск:
mv /var/lib/docker /datastore/dockerУдалите старый каталог хранилища Docker (/var/lib/docker) и создайте символьную ссылку на новый каталог (/datastore/docker). Запуск:
rm -rf /var/lib/docker && ln -s /datastore/docker /var/lib/Запустите службу Docker. Запуск:
service docker startПри необходимости убедитесь, что контейнер сборщика журналов запущен, перечислив активные контейнеры Docker. Запуск:
docker ps
Проверьте использование диска сборщика журналов в Linux
В этой процедуре описано, как проверить использование дискового пространства и местоположение диска сборщика журналов.
Определите путь к каталогу, в котором хранятся данные сборщика журналов. Запуск:
docker inspect <collector_name> | grep WorkDirНапример:
Определите размер, занимаемый сборщиком журналов на диске, используя определённый путь без суффикса "/work". Запуск:
du -sh /var/lib/docker/overlay2/<log_collector_id>/Примечание.
Если вам нужно знать только размер диска, можно использовать следующую команду:
docker ps -s
Переместить сборщик журналов на доступный узел
В регулируемых средах доступ к Центрам Docker, в которых размещен образ сборщика журналов, может быть заблокирован. Это не позволяет Defender for Cloud Apps импортировать данные из сборщика журналов; эту проблему можно устранить, переместив образ сборщика журналов на доступный узел.
В этой процедуре описывается, как скачать образ сборщика журналов с помощью компьютера, имеющего доступ к Docker Hub, и импортировать его на целевой узел.
Скачанный образ можно импортировать либо в ваш закрытый репозиторий, либо непосредственно на хост. В этой процедуре описано, как скачать образ сборщика журналов на компьютер под управлением Windows, а затем с помощью WinSCP перенести образ сборщика журналов на целевой хост.
Предварительные условия
Перед началом работы убедитесь, что выполнены следующие предварительные требования.
Убедитесь, что на узле установлен Docker. Например, используйте один из следующих загрузок:
После скачивания используйте автономное руководство по установке Docker, чтобы установить операционную систему.
Начните процедуру автономного переноса с экспорта образа сборщика журналов, а затем импортируйте образ на целевой хост.
Экспортируйте образ сборщика логов из вашего Docker Hub
Чтобы экспортировать образ сборщика журналов, используйте экспорт образа в Linux или экспорт образа в Windows в зависимости от операционной системы.
Экспорт образа в Linux
Выполните следующие действия, чтобы экспортировать образ сборщика журналов с компьютера Linux.
На компьютере Linux с доступом к Docker Hub выполните следующую команду, чтобы установить Docker и скачать образ сборщика журналов.
curl -o /tmp/MCASInstallDocker.sh https://discoveryresources-cdn-prod.cloudappsecurity.com/prod1/public-files/MCASInstallDocker.sh && chmod +x /tmp/MCASInstallDocker.sh; /tmp/MCASInstallDocker.shЭкспортируйте образ сборщика логов. Запуск:
docker save --output /tmp/mcasLC.targ mcr.microsoft.com/mcas/logcollector chmod +r /tmp/mcasLC.tarВажно!
Обязательно используйте выходной параметр для записи в файл вместо STDOUT.
Скачайте образ сборщика журналов на компьютер Windows в папку
C:\mcasLogCollector\с помощью WinSCP. Например:
Экспорт образа в Windows
Выполните следующие действия, чтобы экспортировать образ сборщика журналов с компьютера Windows.
На Windows 10 компьютере с доступом к Docker Hub установите Docker Desktop.
Скачайте образ сборщика журналов. Запуск:
docker login -u caslogcollector -p C0llector3nthusiast docker pull mcr.microsoft.com/mcas/logcollectorЭкспортируйте образ сборщика логов. Запуск:
docker save --output C:\mcasLogCollector\mcasLC.targ mcr.microsoft.com/mcas/logcollectorВажно!
Обязательно используйте выходной параметр для записи в файл вместо STDOUT.
Импортируйте и загрузите образ сборщика журналов на целевой хост
В этой процедуре описывается передача экспортированного образа на конечный узел.
Загрузите образ сборщика журналов на целевой хост в каталог
/tmp/. Например:
На конечном узле импортируйте образ сборщика журналов в репозиторий образов Docker. Запуск:
docker load --input /tmp/mcasLC.tarНапример:
При необходимости убедитесь, что импорт успешно завершен. Запуск:
docker image lsНапример:
Теперь можно приступить к созданию сборщика журналов, используя образ с целевого хоста.
Настройка пользовательских портов для приёмников Syslog и FTP для сборщиков журналов в Linux-системах
В некоторых организациях требуется определить пользовательские порты для служб Syslog и FTP.
При добавлении источника данных сборщики журналов Defender for Cloud Apps используют определенные номера портов для прослушивания журналов трафика из одного или нескольких источников данных.
В следующей таблице перечислены порты прослушивания по умолчанию для получателей.
| Тип получателя | Порты |
|---|---|
| Системный журнал | * UDP/514 - UDP/51x * TCP/601 — TCP/60x |
| FTP | * TCP/21 |
Чтобы определить настраиваемые порты, выполните следующие действия.
На портале Microsoft Defender выберите Параметры. Затем выберите Облачные приложения.
В разделе Cloud Discovery выберите Автоматическая отправка журнала. Затем перейдите на вкладку Сборщики журналов.
На вкладке Сборщики журналов добавьте или измените сборщик журналов, а после обновления источников данных скопируйте команду 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Например:
Перед использованием команды на хост-компьютере измените команду, чтобы использовать пользовательские порты. Например, чтобы настроить сборщик журналов для использования портов 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, с форматом, отправленным вашим устройством.
Чтобы убедиться, что трафик получен сборщиками журналов, выполните следующие действия.
Войдите на сервер, на котором размещен контейнер Docker.
Убедитесь, что сборщик журналов получает сообщения системного журнала, используя любой из следующих методов:
Используйте tcpdump или аналогичную команду для анализа сетевого трафика через порт 514:
tcpdump -Als0 port 514Если все настроено правильно, вы увидите сетевой трафик от устройств. Например:
Используйте netcat или аналогичную команду для анализа сетевого трафика на хост-компьютере:
Установите netcat и wget.
Скачайте пример файла журнала из Microsoft Defender XDR. При необходимости распакуйте файл журнала.
В Microsoft Defender XDR в разделе Облачные приложения выберите Cloud Discovery>Действия>Создать моментальный отчет Cloud Discovery.
Выберите источник данных , из которого нужно отправить файлы журнала.
Выберите Просмотр и проверка , а затем щелкните правой кнопкой мыши Скачать пример журнала и скопируйте ссылку URL-адреса.
Выберите Закрыть>Отмена.
Запустить:
wget <URL_address_to_sample_log>Запустите
netcat, чтобы передавать данные в потоковом режиме в сборщик журналов.cat <path_to_downloaded_sample_log>.log | nc -w 0 localhost <datasource_port>
Если сборщик настроен правильно, данные журнала присутствуют в файле сообщений и отправляются в Defender for Cloud Apps вскоре после записи.
Проверьте соответствующие файлы в контейнере Docker Defender for Cloud Apps:
Войдите в контейнер. Запуск:
docker exec -it <Container Name> bashОпределите, записываются ли сообщения системного журнала в файл сообщений. Запуск:
cat /var/adallom/syslog/<your_log_collector_port>/messages
Если все настроено правильно, вы увидите сетевой трафик от устройств. Например:
Примечание.
Запись в этот файл будет продолжаться, пока его размер не достигнет 40 КБ. Например:
Просмотрите журналы, загруженные в Defender for Cloud Apps в каталоге
/var/adallom/discoverylogsbackup. Например:
Проверьте формат журнала, полученного сборщиком журналов, сравнив сообщения, хранящиеся в
/var/adallom/discoverylogsbackup, с примером формата журнала, приведённым в мастере Defender for Cloud Apps Создание сборщика журналов.
Запись выходных данных файла сообщений в локальный файл
Если вы хотите использовать собственный пример журнала, но у вас нет доступа к устройству, вы можете записать входящие сообщения Системного журнала из определенного порта источника данных в локальный файл для устранения неполадок. Используйте следующую команду, чтобы непрерывно отслеживать файл messages из каталога syslog сборщика журналов и записывать вывод в локальный файл на хосте:
docker exec CustomerLogCollectorName tail -f -q /var/adallom/syslog/<datasource_port>/messages > /tmp/log.log
Сравните выходной файл (/tmp/log.log) с сообщениями, хранящимися в каталоге /var/adallom/discoverylogsbackup .
Обновление версии сборщика журналов
При обновлении сборщика логов:
- Перед установкой новой версии обязательно остановите сборщик журналов и удалите текущий образ.
- После установки новой версииобновите файлы сертификатов.
Дальнейшие действия
Если у вас возникнут какие-либо проблемы, мы здесь, чтобы помочь. Чтобы получить помощь или поддержку по проблеме с продуктом, отправьте запрос в службу поддержки.