Avancerad hantering av logginsamlare
Den här artikeln beskriver hur du konfigurerar avancerade alternativ för Defender for Cloud Apps logginsamlare för molnidentifiering.
Defender for Cloud Apps molnidentifiering fortsätter att fokusera på grundläggande brandväggsformat. Ändringar i loggarna som vidarebefordras på brandväggsnivå kanske inte fortsätter att fungera eller kan orsaka problem med parsning. Om du hittar fel av den här typen rekommenderar vi att du fortsätter att använda basbrandväggsformatet eller använder alternativ med den anpassade logginsamlaren. Mer information finns i Använda en anpassad loggparser.
Den här artikeln beskriver hur du ändrar konfigurationen för Defender for Cloud Apps Docker för molnidentifiering.
Ändra FTP-konfigurationen för logginsamlaren
Använd de här stegen i följande avsnitt för att ändra konfigurationen för din Defender for Cloud Apps Docker för molnidentifiering.
Verifiera logginsamlarens version
Om du vill kontrollera vilken version av logginsamlaren som är installerad på datorn ansluter du till logginsamlarens värd och kör:
cat /var/adallom/versions | grep columbus-
Ändra FTP-lösenordet
Den här proceduren beskriver hur du ändrar lösenordet som används för att komma åt logginsamlarfiler:
Anslut till logginsamlarens värd och kör:
docker exec -it <collector name> pure-pw passwd <ftp user>
Ange ditt nya lösenord och ange det igen för att bekräfta.
Kör följande kommando för att tillämpa ändringen:
docker exec -it <collector name> pure-pw mkdb
Du bör kunna visa följande innehåll:
run_logs
ssl_update
config.json
Anpassa certifikatfiler
Den här proceduren beskriver hur du anpassar certifikatfilerna som används för säkra anslutningar till Docker-instansen för molnidentifiering.
Öppna en FTP-klient och anslut till logginsamlarens värd.
Gå till
ssl_update
katalogen och ladda upp de nya certifikatfilerna, inklusive följande filer:Mottagartyp Nödvändiga filer FTP - pure-ftpd.pem: Innehåller nyckel- och certifikatdata Syslog - ca.pem: Certifikatutfärdarcertifikatet som användes för att signera klientens certifikat.
- server-key.pem och server-cert.pem: Logginsamlarens certifikat och nyckel
Syslog-meddelanden skickas via TLS till logginsamlaren, vilket kräver ömsesidig TLS-autentisering, inklusive autentisering av både klient- och servercertifikat.Filnamn är obligatoriska. Om någon av filerna saknas misslyckas uppdateringen.
I ett terminalfönster kör du:
docker exec -t <collector name> update_certs
Utdata bör se ut ungefär som följande kod:
root@DockerPlayground:~# docker exec -t columbus update_certs rsyslog: stopped rsyslog: started ftpd: stopped ftpd: started root@DockerPlayground:~#
I ett terminalfönster kör du:
docker exec <collector name> chmod -R 700 /etc/ssl/private/
Aktivera logginsamlaren bakom en proxy
Om du kör bakom en proxy kan logginsamlaren ha problem med att skicka data till Defender for Cloud Apps. Detta kan till exempel inträffa eftersom logginsamlaren inte litar på proxyns rotcertifikatutfärdare och inte kan ansluta till Microsoft Defender for Cloud Apps för att hämta dess konfiguration eller ladda upp de mottagna loggarna.
Följande procedurer beskriver hur du aktiverar logginsamlaren bakom en proxy.
Tips
Du kanske också vill ändra de certifikat som används av logginsamlaren för Syslog eller FTP, eller lösa anslutningsproblem från brandväggar och proxyservrar till logginsamlaren. Mer information finns i Ändra FTP-konfigurationen för logginsamlaren.
Konfigurera logginsamlaren bakom en proxy
Kontrollera att du har utfört de steg som krävs för att köra Docker på en Windows- eller Linux-dator och har laddat ned Defender for Cloud Apps Docker-avbildningen till värddatorn.
Mer information finns i Konfigurera automatisk logguppladdning för kontinuerliga rapporter.
Verifiera skapande av Docker-logginsamlarecontainer
Kontrollera att containern har skapats och körs. Kör i gränssnittet:
docker ps
Du bör se något som liknar följande utdata:
Kopiera certifikatet för proxyrotcertifikatutfärdare till containern
Kopiera CA-certifikatet till containern Defender for Cloud Apps från den virtuella datorn. I följande exempel heter containern Ubuntu-LogCollector och CA-certifikatet heter Proxy-CA.crt.
Följande kommando kopierar certifikatet till en mapp i containern som körs. Kör kommandot på Ubuntu-värden:
docker cp Proxy-CA.crt Ubuntu-LogCollector:/var/adallom/ftp/discovery
Ange att konfigurationen ska fungera med CA-certifikatet
Gå till containern. Kör följande kommando för att öppna bash i containern för logginsamlaren:
docker exec -it Ubuntu-LogCollector /bin/bash
Gå till Java-mappen
jre
från ett bash-fönster i containern. Använd följande kommando för att undvika ett versionsrelaterat sökvägsfel:cd "$(find /opt/jdk/*/jre -name "bin" -printf '%h' -quit)" cd bin
Importera rotcertifikatet som du kopierade tidigare från identifieringsmappen till Java KeyStore och definiera ett lösenord.
Standardlösenordet är
changeit
. Mer information finns i Ändra Lösenordet för Java KeyStore../keytool --import --noprompt --trustcacerts --alias SelfSignedCert --file /var/adallom/ftp/discovery/Proxy-CA.crt --keystore ../lib/security/cacerts --storepass <password>
Kontrollera att certifikatet har importerats korrekt till CA-nyckelarkivet. Kör följande kommando för att söka efter aliaset som du angav under importen (SelfSignedCert):
./keytool --list --keystore ../lib/security/cacerts | grep self
Det importerade certifikatutfärdarcertifikatet för proxyservern visas.
Begränsa IP-adresser som skickar syslog-meddelanden till logginsamlaren i Linux
För att skydda docker-avbildningen och se till att endast en IP-adress tillåts skicka syslog-meddelanden till logginsamlaren skapar du en IP-tabellregel på värddatorn för att tillåta indatatrafik och släppa trafiken som kommer via specifika portar, till exempel TCP/601 eller UDP/514, beroende på distributionen.
Följande kommando visar ett exempel på hur du skapar en IP-tabellregel som kan läggas till på värddatorn. Med den här tabellregeln kan IP-adressen 1.2.3.4 ansluta till containern för logginsamlaren via TCP-port 601 och släppa alla andra anslutningar som kommer från andra IP-adresser via samma port.
iptables -I DOCKER-USER \! --src 1.2.3.4 -m tcp -p tcp --dport 601 -j DROP
Ange att logginsamlaren ska köras med den nya konfigurationen
Containern är nu klar.
Kör kommandot collector_config med den API-token som du använde när logginsamlaren skapades. Till exempel:
När du kör kommandot anger du en egen API-token, till exempel collector_config abcd1234abcd1234abcd1234abcd1234 ${CONSOLE} ${COLLECTOR}
Till exempel:
Logginsamlaren kan nu kommunicera med Defender for Cloud Apps. När data har skickats till Defender for Cloud Apps ändras logginsamlarens status från Felfri till Ansluten. Till exempel:
Obs!
Om du till exempel måste uppdatera logginsamlarens konfiguration för att lägga till eller ta bort en datakälla måste du normalt ta bort containern och utföra föregående steg igen.
För att undvika detta kan du köra verktyget collector_config igen med den nya API-token som genereras i Defender for Cloud Apps.
Ändra Lösenordet för Java KeyStore
Stoppa Java KeyStore-servern.
Öppna ett bash-gränssnitt i containern och gå till mappen appdata/conf .
Om du vill ändra lösenordet för serverns KeyStore kör du:
keytool -storepasswd -new newStorePassword -keystore server.keystore -storepass changeit
Standardserverlösenordet är
changeit
.Om du vill ändra certifikatlösenordet kör du:
keytool -keypasswd -alias server -keypass changeit -new newKeyPassword -keystore server.keystore -storepass newStorePassword
Standardserveraliaset är server.
Öppna filen server-install\conf\server\secured-installed.properties i en textredigerare. Lägg till följande rader med kod och spara sedan ändringarna:
- Ange det nya Java KeyStore-lösenordet för servern:
server.keystore.password=newStorePassword
- Ange det nya certifikatlösenordet för servern:
server.key.password=newKeyPassword
- Ange det nya Java KeyStore-lösenordet för servern:
Starta servern.
Flytta logginsamlaren till en annan datapartition i Linux
Många företag har krav på att flytta data till en separat partition. Den här proceduren beskriver hur du flyttar Defender for Cloud Apps Docker-logginsamlaravbildningar till en datapartition på Linux-värden.
Den här proceduren beskriver hur du flyttar data till en partition som kallas datalager och förutsätter att du redan har monterat partitionen. Till exempel:
Att lägga till och konfigurera en ny partition på Linux-värden ingår inte i omfånget för den här guiden.
Så här flyttar du logginsamlaren till en annan partition:
Stoppa Docker-tjänsten. Springa:
service docker stop
Flytta logginsamlardata till den nya partitionen. Springa:
mv /var/lib/docker /datastore/docker
Ta bort den gamla Docker-lagringskatalogen (/var/lib/docker) och skapa en symbolisk länk till den nya katalogen (/datalager/docker). Springa:
rm -rf /var/lib/docker && ln -s /datastore/docker /var/lib/
Starta Docker-tjänsten. Springa:
service docker start
Du kan också kontrollera statusen för logginsamlaren. Springa:
docker ps
Granska logginsamlarens diskanvändning i Linux
Den här proceduren beskriver hur du granskar användningen och platsen för logginsamlaredisken.
Identifiera sökvägen till katalogen där logginsamlardata lagras. Springa:
docker inspect <collector_name> | grep WorkDir
Till exempel:
Hämta storleken på logginsamlarens disk med hjälp av den identifierade sökvägen utan suffixet "/work". Springa:
du -sh /var/lib/docker/overlay2/<log_collector_id>/
Obs!
Om du bara behöver veta storleken på disken kan du använda följande kommando i stället:
docker ps -s
Flytta logginsamlaren till en tillgänglig värd
I reglerade miljöer kan åtkomst till Docker Hubs där logginsamlaravbildningen finns blockeras. Detta förhindrar Defender for Cloud Apps från att importera data från logginsamlaren och kan lösas när jag flyttar logginsamlaravbildningen till en tillgänglig värd.
Den här proceduren beskriver hur du laddar ned logginsamlaravbildningen med hjälp av en dator som har åtkomst till Docker Hub och importerar den till målvärden.
Den nedladdade avbildningen kan importeras antingen i din privata lagringsplats eller direkt på värden. Den här proceduren beskriver hur du laddar ned logginsamlaravbildningen till din Windows-dator och sedan använder WinSCP för att flytta logginsamlaren till målvärden.
Förhandskrav
Kontrollera att Du har Docker installerat på värden. Använd till exempel någon av följande nedladdningar:
Efter nedladdningen använder du Dockers offlineinstallationsguide för att installera operativsystemet.
Starta processen genom att exportera logginsamlaravbildningen och importera sedan avbildningen till målvärden.
Exportera logginsamlaravbildningen från din Docker Hub
Följande procedurer beskriver hur du exporterar logginsamlaravbildningen med hjälp av Linux eller Windows.
Exportera avbildningen i Linux
På en Linux-dator som har åtkomst till Docker Hub kör du följande kommando för att installera Docker och ladda ned logginsamlaravbildningen.
curl -o /tmp/MCASInstallDocker.sh https://adaprodconsole.blob.core.windows.net/public-files/MCASInstallDocker.sh && chmod +x /tmp/MCASInstallDocker.sh; /tmp/MCASInstallDocker.sh
Exportera logginsamlaravbildningen. Springa:
docker save --output /tmp/mcasLC.targ mcr.microsoft.com/mcas/logcollector chmod +r /tmp/mcasLC.tar
Viktigt
Se till att använda utdataparametern för att skriva till en fil i stället för STDOUT.
Ladda ned logginsamlaravbildningen till din Windows-dator med
C:\mcasLogCollector\
WinSCP. Till exempel:
Exportera avbildningen i Windows
Installera Docker Desktop på en Windows 10 dator som har åtkomst till Docker Hub.
Ladda ned logginsamlaravbildningen. Springa:
docker login -u caslogcollector -p C0llector3nthusiast docker pull mcr.microsoft.com/mcas/logcollector
Exportera logginsamlaravbildningen. Springa:
docker save --output C:\mcasLogCollector\mcasLC.targ mcr.microsoft.com/mcas/logcollector
Viktigt
Se till att använda utdataparametern för att skriva till en fil i stället för STDOUT.
Importera och läsa in logginsamlaravbildningen till målvärden
Den här proceduren beskriver hur du överför den exporterade avbildningen till målvärden.
Ladda upp logginsamlaravbildningen till målvärden under
/tmp/
. Till exempel:På målvärden importerar du logginsamlaravbildningen till dockeravbildningslagringsplatsen. Springa:
docker load --input /tmp/mcasLC.tar
Till exempel:
Du kan också kontrollera att importen har slutförts. Springa:
docker image ls
Till exempel:
Nu kan du fortsätta att skapa logginsamlaren med hjälp av avbildningen från målvärden.
Definiera anpassade portar för Syslog- och FTP-mottagare för logginsamlare i Linux
Vissa organisationer har ett krav på att definiera anpassade portar för Syslog- och FTP-tjänster.
När du lägger till en datakälla använder Defender for Cloud Apps logginsamlare specifika portnummer för att lyssna efter trafikloggar från en eller flera datakällor.
I följande tabell visas standardlyssningsportarna för mottagare:
Mottagartyp | Portar |
---|---|
Syslog | * UDP/514 – UDP/51x * TCP/601 - TCP/60x |
FTP | * TCP/21 |
Använd följande steg för att definiera anpassade portar:
I Microsoft Defender-portalen väljer du Inställningar. Välj sedan Cloud Apps.
Under Cloud Discovery väljer du Automatisk logguppladdning. Välj sedan fliken Logginsamlare .
På fliken Logginsamlare lägger du till eller redigerar en logginsamlare och när du har uppdaterat datakällorna kopierar du körningskommandot från dialogrutan. Till exempel:
Om det används som det anges konfigurerar kommandot som tillhandahålls av guiden logginsamlaren för att använda portarna 514/udp och 515/udp. Till exempel:
(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
Till exempel:
Innan du använder kommandot på värddatorn ändrar du kommandot så att det använder dina anpassade portar. Om du till exempel vill konfigurera logginsamlaren att använda UDP-portarna 414 och 415 ändrar du kommandot enligt följande:
(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
Till exempel:
Obs!
Endast Docker-mappningen ändras. De internt tilldelade portarna ändras inte så att du kan välja valfri lyssningsport på värden.
Verifiera trafik- och loggformatet som tas emot av logginsamlaren i Linux
Ibland kan du behöva undersöka problem som följande:
- Logginsamlare tar emot data: Verifiera att logginsamlare tar emot Syslog-meddelanden från dina enheter och inte blockeras av brandväggar.
- Mottagna data har rätt loggformat: Verifiera loggformatet så att du kan felsöka parsningsfel genom att jämföra loggformatet som förväntas av Defender for Cloud Apps och det som skickas av installationen.
Använd följande steg för att kontrollera att trafik tas emot av logginsamlare:
Logga in på servern som är värd för Docker-containern.
Kontrollera att logginsamlaren tar emot Syslog-meddelanden med någon av följande metoder:
Använd tcpdump eller ett liknande kommando för att analysera nätverkstrafik på port 514:
tcpdump -Als0 port 514
Om allt är korrekt konfigurerat bör du se nätverkstrafik från dina installationer. Till exempel:
Använd netcat eller ett liknande kommando för att analysera nätverkstrafik på värddatorn:
Installera netcat och wget.
Ladda ned en exempelloggfil från Microsoft Defender XDR. Packa upp loggfilen om det behövs.
I Microsoft Defender XDR går du till Cloud Apps och väljer Cloud Discovery ActionsCreate Cloud Discovery snapshot report (Molnidentifieringsögonblicksrapport>>).
Välj den datakälla som du vill ladda upp loggfilerna från.
Välj Visa och verifiera och högerklicka sedan på Ladda ned exempellogg och kopiera URL-adresslänken.
Välj Stäng>Avbryt.
Springa:
wget <URL_address_to_sample_log>
Kör
netcat
för att strömma data till logginsamlaren.cat <path_to_downloaded_sample_log>.log | nc -w 0 localhost <datasource_port>
Om insamlaren är korrekt konfigurerad finns loggdata i meddelandefilen och kort därefter laddas den upp till Defender for Cloud Apps.
Granska relevanta filer i Defender for Cloud Apps Docker-containern:
Logga in på containern. Springa:
docker exec -it <Container Name> bash
Kontrollera om Syslog-meddelanden skrivs till meddelandefilen. Springa:
cat /var/adallom/syslog/<your_log_collector_port>/messages
Om allt är korrekt konfigurerat bör du se nätverkstrafik från dina installationer. Till exempel:
Obs!
Den här filen fortsätter att skrivas tills den når 40 KB i storlek. Till exempel:
Granska loggarna som laddades upp till Defender for Cloud Apps i
/var/adallom/discoverylogsbackup
katalogen. Till exempel:Verifiera loggformatet som tas emot av logginsamlaren genom att jämföra meddelandena som lagras i
/var/adallom/discoverylogsbackup
med exempelloggformatet som finns i guiden Defender for Cloud Apps Skapa logginsamlare.
Skriva utdata från meddelandefilen till en lokal fil
Om du vill använda en egen exempellogg men inte har åtkomst till installationen använder du följande kommandon för att skriva utdata från meddelandefilen , som finns i logginsamlarens syslog-katalog, till en lokal fil på värden:
docker exec CustomerLogCollectorName tail -f -q /var/adallom/syslog/<datasource_port>/messages > /tmp/log.log
Jämför utdatafilen (/tmp/log.log
) med meddelandena som lagras i /var/adallom/discoverylogsbackup
katalogen.
Uppdatera logginsamlarens version
När du uppdaterar logginsamlaren:
- Innan du installerar den nya versionen måste du stoppa logginsamlaren och ta bort den aktuella avbildningen.
- När du har installerat den nya versionenuppdaterar du certifikatfilerna.
Nästa steg
Om du stöter på problem är vi här för att hjälpa till. Om du vill ha hjälp eller support för ditt produktproblem öppnar du ett supportärende.