Zaawansowane zarządzanie modułem zbierającym dzienniki
W tym artykule opisano sposób konfigurowania zaawansowanych opcji dla modułów zbierających dzienniki odnajdywania w chmurze w usłudze Defender dla Chmury Apps.
Defender dla Chmury Apps cloud discovery nadal koncentruje się na podstawowych formatach zapory. Zmiany w dziennikach przekazywanych na poziomie zapory mogą nie działać lub mogą powodować problemy z analizowaniem. Jeśli znajdziesz błędy tego rodzaju, zalecamy dalsze używanie podstawowego formatu zapory lub użycie opcji z niestandardowym modułem zbierającym dzienniki. Aby uzyskać więcej informacji, zobacz Use a custom log parser (Używanie analizatora dzienników niestandardowych).
W tym artykule opisano sposób modyfikowania konfiguracji platformy Docker Defender dla Chmury Apps w chmurze.
Modyfikowanie konfiguracji protokołu FTP modułu zbierającego dzienniki
Wykonaj następujące kroki w poniższych sekcjach, aby zmodyfikować konfigurację platformy Docker Defender dla Chmury Apps w chmurze odnajdywania.
Weryfikowanie wersji modułu zbierającego dzienniki
Aby sprawdzić, czy wersja modułu zbierającego dzienniki jest obecnie zainstalowana w systemie, połącz się z hostem modułu zbierającego dzienniki i uruchom polecenie:
cat /var/adallom/versions | grep columbus-
Zmienianie hasła FTP
W tej procedurze opisano sposób zmiany hasła używanego do uzyskiwania dostępu do plików modułu zbierającego dzienniki:
Połącz się z hostem modułu zbierającego dzienniki i uruchom polecenie:
docker exec -it <collector name> pure-pw passwd <ftp user>
Wprowadź nowe hasło, a następnie wprowadź je ponownie, aby potwierdzić.
Uruchom następujące polecenie, aby zastosować zmianę:
docker exec -it <collector name> pure-pw mkdb
Powinna być widoczna następująca zawartość:
run_logs
ssl_update
config.json
Dostosowywanie plików certyfikatów
W tej procedurze opisano sposób dostosowywania plików certyfikatów używanych do bezpiecznych połączeń z wystąpieniem platformy Docker odnajdywania chmury.
Otwórz klienta FTP i połącz się z hostem modułu zbierającego dzienniki.
Przejdź do
ssl_update
katalogu i przekaż nowe pliki certyfikatów, w tym następujące pliki:Typ odbiorcy Wymagane pliki FTP - pure-ftpd.pem: zawiera dane klucza i certyfikatu Syslog - ca.pem: certyfikat urzędu certyfikacji, który został użyty do podpisania certyfikatu klienta.
- server-key.pem i server-cert.pem: certyfikat i klucz modułu zbierającego dzienniki
Komunikaty dziennika systemowego są wysyłane za pośrednictwem protokołu TLS do modułu zbierającego dzienniki, co wymaga wzajemnego uwierzytelniania TLS, w tym uwierzytelniania zarówno certyfikatów klienta, jak i serwera.Nazwy plików są obowiązkowe. Jeśli brakuje któregokolwiek z plików, aktualizacja zakończy się niepowodzeniem.
W oknie terminalu uruchom polecenie:
docker exec -t <collector name> update_certs
Dane wyjściowe powinny wyglądać podobnie do następującego kodu:
root@DockerPlayground:~# docker exec -t columbus update_certs rsyslog: stopped rsyslog: started ftpd: stopped ftpd: started root@DockerPlayground:~#
W oknie terminalu uruchom polecenie:
docker exec <collector name> chmod -R 700 /etc/ssl/private/
Włączanie modułu zbierającego dzienniki za serwerem proxy
Jeśli używasz serwera proxy, moduł zbierający dzienniki może mieć problemy z wysyłaniem danych do aplikacji Defender dla Chmury. Na przykład może się tak zdarzyć, ponieważ moduł zbierający dzienniki nie ufa głównemu urzędowi certyfikacji serwera proxy i nie może nawiązać połączenia z usługą Microsoft Defender dla Chmury Apps w celu pobrania konfiguracji lub przekazania odebranych dzienników.
Poniższe procedury opisują sposób włączania modułu zbierającego dzienniki za serwerem proxy.
Napiwek
Możesz również zmienić certyfikaty używane przez moduł zbierający dzienniki dla dziennika lub ftp lub rozwiązać problemy z łącznością z zapór i serwerów proxy do modułu zbierającego dzienniki. Aby uzyskać więcej informacji, zobacz Modyfikowanie konfiguracji protokołu FTP modułu zbierającego dzienniki.
Konfigurowanie modułu zbierającego dzienniki za serwerem proxy
Upewnij się, że wykonano kroki niezbędne do uruchomienia platformy Docker na maszynie z systemem Windows lub Linux i pomyślnie pobrano obraz platformy Docker aplikacji Defender dla Chmury na maszynie hosta.
Aby uzyskać więcej informacji, zobacz Konfigurowanie automatycznego przekazywania dzienników dla raportów ciągłych.
Weryfikowanie tworzenia kontenera modułu zbierającego dzienniki platformy Docker
Sprawdź, czy kontener został utworzony i jest uruchomiony. W powłoce uruchom polecenie:
docker ps
Powinny zostać wyświetlone dane wyjściowe podobne do poniższych:
Kopiowanie certyfikatu głównego urzędu certyfikacji serwera proxy do kontenera
Z maszyny wirtualnej skopiuj certyfikat urzędu certyfikacji do kontenera Defender dla Chmury Apps. W poniższym przykładzie kontener ma nazwę Ubuntu-LogCollector , a certyfikat urzędu certyfikacji nosi nazwę Proxy-CA.crt.
Następujące polecenie kopiuje certyfikat do folderu w uruchomionym kontenerze. Uruchom polecenie na hoście z systemem Ubuntu:
docker cp Proxy-CA.crt Ubuntu-LogCollector:/var/adallom/ftp/discovery
Ustawianie konfiguracji do pracy z certyfikatem urzędu certyfikacji
Przejdź do kontenera. Uruchom następujące polecenie, aby otworzyć powłokę bash w kontenerze modułu zbierającego dzienniki:
docker exec -it Ubuntu-LogCollector /bin/bash
W oknie powłoki bash wewnątrz kontenera przejdź do folderu Java
jre
. Aby uniknąć błędu ścieżki powiązanej z wersją, użyj następującego polecenia:cd "$(find /opt/jdk/*/jre -name "bin" -printf '%h' -quit)" cd bin
Zaimportuj skopiowany wcześniej certyfikat główny z folderu odnajdywania do magazynu kluczy Java i zdefiniuj hasło.
Domyślne hasło to
changeit
. Aby uzyskać więcej informacji, zobacz Zmienianie hasła magazynu kluczy Java../keytool --import --noprompt --trustcacerts --alias SelfSignedCert --file /var/adallom/ftp/discovery/Proxy-CA.crt --keystore ../lib/security/cacerts --storepass <password>
Sprawdź, czy certyfikat został poprawnie zaimportowany do magazynu kluczy urzędu certyfikacji. Uruchom następujące polecenie, aby wyszukać alias podany podczas importowania (SelfSignedCert):
./keytool --list --keystore ../lib/security/cacerts | grep self
Zostanie wyświetlony zaimportowany certyfikat urzędu certyfikacji serwera proxy.
Ograniczanie adresów IP wysyłających komunikaty dziennika systemowego do modułu zbierającego dzienniki w systemie Linux
Aby zabezpieczyć obraz platformy Docker i upewnić się, że tylko jeden adres IP może wysyłać komunikaty dziennika systemowego do modułu zbierającego dzienniki, utwórz regułę tabeli adresów IP na maszynie hosta, aby zezwolić na ruch wejściowy i usunąć ruch przychodzący przez określone porty, takie jak TCP/601 lub UDP/514, w zależności od wdrożenia.
Poniższe polecenie przedstawia przykład tworzenia reguły tabeli adresów IP, które można dodać do maszyny hosta. Ta reguła tabeli umożliwia połączenie adresu IP "1.2.3.4" z kontenerem modułu zbierającego dzienniki za pośrednictwem portu TCP 601 i usunięcie wszystkich innych połączeń pochodzących z innych adresów IP za pośrednictwem tego samego portu.
iptables -I DOCKER-USER \! --src 1.2.3.4 -m tcp -p tcp --dport 601 -j DROP
Ustawianie modułu zbierającego dzienniki do uruchomienia przy użyciu nowej konfiguracji
Kontener jest teraz gotowy.
Uruchom polecenie collector_config przy użyciu tokenu interfejsu API użytego podczas tworzenia modułu zbierającego dzienniki. Na przykład:
Po uruchomieniu polecenia określ własny token interfejsu API, na przykład collector_config abcd1234abcd1234abcd1234abcd1234 ${CONSOLE} ${COLLECTOR}
Na przykład:
Moduł zbierający dzienniki może teraz komunikować się z aplikacjami Defender dla Chmury. Po wysłaniu danych do aplikacji Defender dla Chmury stan modułu zbierającego dzienniki zmieni się z W dobrej kondycji na Połączono. Na przykład:
Uwaga
Jeśli musisz zaktualizować konfigurację modułu zbierającego dzienniki, aby dodać lub usunąć źródło danych, zwykle musisz usunąć kontener i wykonać poprzednie kroki ponownie.
Aby tego uniknąć, możesz ponownie uruchomić narzędzie collector_config przy użyciu nowego tokenu interfejsu API wygenerowanego w portalu Defender dla Chmury Apps.
Zmienianie hasła magazynu kluczy Java
Zatrzymaj serwer Java KeyStore.
Otwórz powłokę bash wewnątrz kontenera i przejdź do folderu appdata/conf .
Aby zmienić hasło magazynu kluczy serwera, uruchom polecenie:
keytool -storepasswd -new newStorePassword -keystore server.keystore -storepass changeit
Domyślne hasło serwera to
changeit
.Aby zmienić hasło certyfikatu, uruchom polecenie:
keytool -keypasswd -alias server -keypass changeit -new newKeyPassword -keystore server.keystore -storepass newStorePassword
Domyślny alias serwera to serwer.
W edytorze tekstów otwórz plik server-install\conf\server\secured-installed.properties . Dodaj następujące wiersze kodu, a następnie zapisz zmiany:
- Określ nowe hasło magazynu kluczy Java dla serwera:
server.keystore.password=newStorePassword
- Określ nowe hasło certyfikatu dla serwera:
server.key.password=newKeyPassword
- Określ nowe hasło magazynu kluczy Java dla serwera:
Uruchom serwer.
Przenoszenie modułu zbierającego dzienniki do innej partycji danych w systemie Linux
Wiele firm wymaga przeniesienia danych do oddzielnej partycji. W tej procedurze opisano sposób przenoszenia obrazów modułu zbierającego dzienniki Defender dla Chmury Apps do partycji danych na hoście systemu Linux.
W tej procedurze opisano przenoszenie danych do partycji o nazwie magazyn danych i przyjęto założenie, że partycja jest już zamontowana. Na przykład:
Dodawanie i konfigurowanie nowej partycji na hoście z systemem Linux nie znajduje się w zakresie tego przewodnika.
Aby przenieść moduł zbierający dzienniki do innej partycji:
Zatrzymaj usługę Platformy Docker. Uruchom:
service docker stop
Przenieś dane modułu zbierającego dzienniki do nowej partycji. Uruchom:
mv /var/lib/docker /datastore/docker
Usuń stary katalog magazynu platformy Docker (/var/lib/docker) i utwórz link symboliczny do nowego katalogu (/datastore/docker). Uruchom:
rm -rf /var/lib/docker && ln -s /datastore/docker /var/lib/
Uruchom usługę Platformy Docker. Uruchom:
service docker start
Opcjonalnie sprawdź stan modułu zbierającego dzienniki. Uruchom:
docker ps
Sprawdzanie użycia dysku modułu zbierającego dzienniki w systemie Linux
W tej procedurze opisano sposób przeglądania użycia i lokalizacji dysku modułu zbierającego dzienniki.
Zidentyfikuj ścieżkę do katalogu, w którym są przechowywane dane modułu zbierającego dzienniki. Uruchom:
docker inspect <collector_name> | grep WorkDir
Na przykład:
Pobierz rozmiar na dysku modułu zbierającego dzienniki przy użyciu zidentyfikowanej ścieżki bez sufiksu "/work". Uruchom:
du -sh /var/lib/docker/overlay2/<log_collector_id>/
Uwaga
Jeśli musisz tylko znać rozmiar dysku, możesz użyć następującego polecenia:
docker ps -s
Przenoszenie modułu zbierającego dzienniki do dostępnego hosta
W środowiskach regulowanych dostęp do usługi Docker Hubs, w których hostowany jest obraz modułu zbierającego dzienniki, może być zablokowany. Uniemożliwia to Defender dla Chmury Aplikacje importowania danych z modułu zbierającego dzienniki i można rozwiązać problem podczas przenoszenia obrazu modułu zbierającego dzienniki do dostępnego hosta.
W tej procedurze opisano sposób pobierania obrazu modułu zbierającego dzienniki przy użyciu komputera z dostępem do usługi Docker Hub i importowania go do hosta docelowego.
Pobrany obraz można zaimportować do repozytorium prywatnego lub bezpośrednio na hoście. W tej procedurze opisano sposób pobierania obrazu modułu zbierającego dzienniki na komputer z systemem Windows, a następnie przenoszenia modułu zbierającego dzienniki do hosta docelowego za pomocą narzędzia WinSCP.
Wymagania wstępne
Upewnij się, że na hoście zainstalowano platformę Docker. Na przykład użyj jednego z następujących plików do pobrania:
Po pobraniu użyj przewodnika instalacji w trybie offline platformy Docker, aby zainstalować system operacyjny.
Rozpocznij proces, eksportując obraz modułu zbierającego dzienniki, a następnie zaimportuj obraz do hosta docelowego.
Eksportowanie obrazu modułu zbierającego dzienniki z usługi Docker Hub
Poniższe procedury opisują sposób eksportowania obrazu modułu zbierającego dzienniki przy użyciu systemu Linux lub Windows.
Eksportowanie obrazu w systemie Linux
Na komputerze z systemem Linux, który ma dostęp do usługi Docker Hub, uruchom następujące polecenie, aby zainstalować platformę Docker i pobrać obraz modułu zbierającego dzienniki.
curl -o /tmp/MCASInstallDocker.sh https://adaprodconsole.blob.core.windows.net/public-files/MCASInstallDocker.sh && chmod +x /tmp/MCASInstallDocker.sh; /tmp/MCASInstallDocker.sh
Wyeksportuj obraz modułu zbierającego dzienniki. Uruchom:
docker save --output /tmp/mcasLC.targ mcr.microsoft.com/mcas/logcollector chmod +r /tmp/mcasLC.tar
Ważne
Pamiętaj, aby użyć parametru wyjściowego do zapisu w pliku zamiast STDOUT.
Pobierz obraz modułu zbierającego dzienniki na komputer z systemem Windows przy
C:\mcasLogCollector\
użyciu narzędzia WinSCP. Na przykład:
Eksportowanie obrazu w systemie Windows
Na komputerze z systemem Windows 10, który ma dostęp do usługi Docker Hub, zainstaluj program Docker Desktop.
Pobierz obraz modułu zbierającego dzienniki. Uruchom:
docker login -u caslogcollector -p C0llector3nthusiast docker pull mcr.microsoft.com/mcas/logcollector
Wyeksportuj obraz modułu zbierającego dzienniki. Uruchom:
docker save --output C:\mcasLogCollector\mcasLC.targ mcr.microsoft.com/mcas/logcollector
Ważne
Pamiętaj, aby użyć parametru wyjściowego do zapisu w pliku zamiast STDOUT.
Importowanie i ładowanie obrazu modułu zbierającego dzienniki do hosta docelowego
W tej procedurze opisano sposób transferu wyeksportowanego obrazu na hosta docelowego.
Przekaż obraz modułu zbierającego dzienniki do hosta docelowego w obszarze
/tmp/
. Na przykład:Na hoście docelowym zaimportuj obraz modułu zbierającego dzienniki do repozytorium obrazów platformy Docker. Uruchom:
docker load --input /tmp/mcasLC.tar
Na przykład:
Opcjonalnie sprawdź, czy importowanie zostało ukończone pomyślnie. Uruchom:
docker image ls
Na przykład:
Teraz możesz utworzyć moduł zbierający dzienniki przy użyciu obrazu z hosta docelowego.
Definiowanie niestandardowych portów dla odbiorników syslog i FTP dla modułów zbierających dzienniki w systemie Linux
Niektóre organizacje muszą definiować porty niestandardowe dla usług Syslog i FTP.
Podczas dodawania źródła danych moduły zbierające dzienniki Defender dla Chmury Apps używają określonych numerów portów do nasłuchiwania dzienników ruchu z co najmniej jednego źródła danych.
W poniższej tabeli wymieniono domyślne porty nasłuchiwania dla odbiorników:
Typ odbiorcy | Porty |
---|---|
Dziennik systemu | * UDP/514 - UDP/51x * TCP/601 — TCP/60x |
FTP | * TCP/21 |
Aby zdefiniować porty niestandardowe, wykonaj następujące kroki:
W witrynie Microsoft Defender Portal wybierz pozycję Ustawienia. Następnie wybierz pozycję Aplikacje w chmurze.
W obszarze Cloud Discovery wybierz pozycję Automatyczne przekazywanie dziennika. Następnie wybierz kartę Moduły zbierające dzienniki .
Na karcie Moduły zbierające dzienniki dodaj lub edytuj moduł zbierający dzienniki, a po zaktualizowaniu źródeł danych skopiuj polecenie run z okna dialogowego. Na przykład:
Jeśli jest używana jako podana, dostarczone przez kreatora polecenie konfiguruje moduł zbierający dzienniki do używania portów 514/udp i 515/udp. Na przykład:
(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
Na przykład:
Przed użyciem polecenia na maszynie hosta zmodyfikuj polecenie , aby używać portów niestandardowych. Aby na przykład skonfigurować moduł zbierający dzienniki do używania portów UDP 414 i 415, zmień polecenie w następujący sposób:
(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
Na przykład:
Uwaga
Modyfikowane jest tylko mapowanie platformy Docker. Porty przypisane wewnętrznie nie są zmieniane, umożliwiając wybranie dowolnego portu nasłuchiwania na hoście.
Weryfikowanie ruchu i formatu dziennika odebranego przez moduł zbierający dzienniki w systemie Linux
Czasami może być konieczne zbadanie problemów, takich jak:
- Moduły zbierające dzienniki odbierają dane: sprawdź, czy moduły zbierające dzienniki odbierają komunikaty dziennika systemowego z urządzeń i nie są blokowane przez zapory.
- Odebrane dane są w poprawnym formacie dziennika: zweryfikuj format dziennika, aby ułatwić rozwiązywanie problemów z błędami analizowania, porównując format dziennika oczekiwany przez aplikacje Defender dla Chmury i format wysyłany przez urządzenie.
Wykonaj następujące kroki, aby sprawdzić, czy ruch jest odbierany przez moduły zbierające dzienniki:
Zaloguj się do serwera hostowania kontenera platformy Docker.
Sprawdź, czy moduł zbierający dzienniki odbiera komunikaty dziennika systemowego przy użyciu dowolnej z następujących metod:
Użyj tcpdump lub podobnego polecenia, aby przeanalizować ruch sieciowy na porcie 514:
tcpdump -Als0 port 514
Jeśli wszystko jest poprawnie skonfigurowane, powinien zostać wyświetlony ruch sieciowy z urządzeń. Na przykład:
Użyj narzędzia netcat lub podobnego polecenia, aby przeanalizować ruch sieciowy na maszynie hosta:
Zainstaluj oprogramowanie netcat i wget.
Pobierz przykładowy plik dziennika z usługi Microsoft Defender XDR. W razie potrzeby rozpakuj plik dziennika.
W usłudze Microsoft Defender XDR w obszarze Aplikacje w chmurze wybierz pozycję Akcje>rozwiązania Cloud Discovery>Utwórz raport migawki rozwiązania Cloud Discovery.
Wybierz źródło danych, z którego chcesz przekazać pliki dzienników.
Wybierz pozycję Wyświetl, a następnie kliknij prawym przyciskiem myszy pozycję Pobierz przykładowy dziennik i skopiuj link adres URL.
Wybierz pozycję Zamknij>przycisk Anuluj.
Uruchom:
wget <URL_address_to_sample_log>
Uruchom polecenie
netcat
, aby przesłać strumieniowo dane do modułu zbierającego dzienniki.cat <path_to_downloaded_sample_log>.log | nc -w 0 localhost <datasource_port>
Jeśli moduł zbierający jest poprawnie skonfigurowany, dane dziennika znajdują się w pliku wiadomości i wkrótce po przekazaniu ich do portalu Defender dla Chmury Apps.
Sprawdź odpowiednie pliki w kontenerze platformy Docker aplikacji Defender dla Chmury:
Zaloguj się do kontenera. Uruchom:
docker exec -it <Container Name> bash
Ustal, czy komunikaty dziennika systemowego są zapisywane w pliku komunikatów. Uruchom:
cat /var/adallom/syslog/<your_log_collector_port>/messages
Jeśli wszystko jest poprawnie skonfigurowane, powinien zostać wyświetlony ruch sieciowy z urządzeń. Na przykład:
Uwaga
Ten plik będzie nadal zapisywany do momentu osiągnięcia rozmiaru 40 KB. Na przykład:
Przejrzyj dzienniki przekazane do usługi Defender dla Chmury Apps w
/var/adallom/discoverylogsbackup
katalogu. Na przykład:Zweryfikuj format dziennika odebrany przez moduł zbierający dzienniki, porównując komunikaty przechowywane w
/var/adallom/discoverylogsbackup
formacie przykładu dziennika podanym w kreatorze tworzenia modułu zbierającego dzienniki Defender dla Chmury Apps.
Zapisywanie danych wyjściowych pliku komunikatów w pliku lokalnym
Jeśli chcesz użyć własnego przykładowego dziennika, ale nie masz dostępu do urządzenia, użyj następujących poleceń, aby zapisać dane wyjściowe pliku komunikatów znajdującego się w katalogu syslog modułu zbierającego dzienniki, do pliku lokalnego na hoście:
docker exec CustomerLogCollectorName tail -f -q /var/adallom/syslog/<datasource_port>/messages > /tmp/log.log
Porównaj plik wyjściowy (/tmp/log.log
) z komunikatami przechowywanymi w /var/adallom/discoverylogsbackup
katalogu.
Aktualizowanie wersji modułu zbierającego dzienniki
Podczas aktualizowania modułu zbierającego dzienniki:
- Przed zainstalowaniem nowej wersji pamiętaj o zatrzymaniu modułu zbierającego dzienniki i usunięciu bieżącego obrazu.
- Po zainstalowaniu nowej wersji zaktualizuj pliki certyfikatów.
Następne kroki
Jeśli napotkasz jakiekolwiek problemy, jesteśmy tutaj, aby pomóc. Aby uzyskać pomoc lub pomoc techniczną dotyczącą problemu z produktem, otwórz bilet pomocy technicznej.