Avancerad hantering av logginsamlare

Den här artikeln beskriver hur du konfigurerar avancerade alternativ för Defender för molnet Apps molnidentifieringslogginsamlare.

Defender för molnet Molnidentifiering för appar 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 din Defender för molnet Apps Cloud Discovery Docker.

Ä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 för molnet Apps Cloud Discovery Docker.

Verifiera logginsamlarens version

Om du vill kontrollera vilken version av logginsamlaren som för närvarande är installerad på systemet 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:

  1. Anslut till logginsamlarens värd och kör:

    docker exec -it <collector name> pure-pw passwd <ftp user>
    
  2. Ange ditt nya lösenord och ange det igen för att bekräfta det.

  3. 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.

  1. Öppna en FTP-klient och anslut till logginsamlarens värd.

  2. Navigera 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.

  3. 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:~#
    
  4. 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 för molnet Apps. Detta kan till exempel inträffa eftersom logginsamlaren inte litar på proxyns rotcertifikatutfärdare och inte kan ansluta till Microsoft Defender för molnet Apps för att hämta konfigurationen eller ladda upp de mottagna loggarna.

Följande procedurer beskriver hur du aktiverar logginsamlaren bakom en proxyserver.

Dricks

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 docker-avbildningen Defender för molnet Apps till värddatorn.

Mer information finns i Konfigurera automatisk logguppladdning för kontinuerliga rapporter.

Verifiera att Docker-logginsamlaren skapas

Kontrollera att containern har skapats och körs. Kör i gränssnittet:

docker ps

Nu bör du se utdata som ser ut ungefär så här:

Skärmbild av Docker-containern som körs.

Kopiera ca-certifikatet för proxyroten till containern

Från den virtuella datorn kopierar du CA-certifikatet till containern Defender för molnet Apps. 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

  1. 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
    
  2. 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
    
  3. 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>
    
  4. Kontrollera att certifikatet har importerats korrekt till CA-nyckelarkivet. Kör följande kommando för att söka efter det alias som du angav under importen (SelfSignedCert):

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

Du bör se ditt importerade certifikat för proxycertifikatutfärdare. Till exempel:

Skärmbild av keytool-gränssnittet.

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 över 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:

Skärmbild av dialogrutan Skapa logginsamlare.

När du kör kommandot anger du en egen API-token, till exempel collector_config abcd1234abcd1234abcd1234abcd1234 ${CONSOLE} ${COLLECTOR}

Till exempel:

Skärmbild av ett exempel på konfigurationsuppdatering.

Logginsamlaren kan nu kommunicera med Defender för molnet Apps. När data har skickats till Defender för molnet Apps ändras logginsamlarens status från Felfri till Anslut ed. Till exempel:

Skärmbild av uppladdningsstatusen.

Kommentar

Om du till exempel måste uppdatera konfigurationen av logginsamlaren, 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 för molnet Apps-portalen.

Ändra Java KeyStore-lösenordet

  1. Stoppa Java KeyStore-servern.

  2. Öppna ett bash-gränssnitt i containern och gå till mappen appdata/conf .

  3. Om du vill ändra serverns KeyStore-lösenord kör du:

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

    Standardserverlösenordet är changeit.

  4. 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.

  5. Öppna filen server-install\conf\server\secured-installed.properties i en textredigerare. Lägg till följande kodrader och spara sedan ändringarna:

    1. Ange det nya Java KeyStore-lösenordet för servern: server.keystore.password=newStorePassword
    2. Ange det nya certifikatlösenordet för servern: server.key.password=newKeyPassword
  6. 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 docker-logginsamlareavbildningar för Defender för molnet Apps 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:

Lista över Linux-partitioner.

Att lägga till och konfigurera en ny partition på Linux-värden finns inte i omfånget för den här guiden.

Så här flyttar du logginsamlaren till en annan partition:

  1. Stoppa Docker-tjänsten. Kör:

    service docker stop
    
  2. Flytta logginsamlardata till den nya partitionen. Kör:

    mv /var/lib/docker /datastore/docker
    
  3. Ta bort den gamla Docker-lagringskatalogen (/var/lib/docker) och skapa en symbolisk länk till den nya katalogen (/datalager/docker). Kör:

    rm -rf /var/lib/docker && ln -s /datastore/docker /var/lib/
    
  4. Starta Docker-tjänsten. Kör:

    service docker start
    
  5. Du kan också kontrollera statusen för logginsamlaren. Kör:

    docker ps
    

Granska logginsamlarens diskanvändning i Linux

Den här proceduren beskriver hur du granskar användningen och platsen för logginsamlaredisken.

  1. Identifiera sökvägen till katalogen där logginsamlardata lagras. Kör:

    docker inspect <collector_name> | grep WorkDir
    

    Till exempel:

    Skärmbild av hur du identifierar logginsamlarens katalog.

  2. Hämta storleken på logginsamlarens disk med hjälp av den identifierade sökvägen utan suffixet "/work". Kör:

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

    Skärmbild av hur du identifierar logginsamlarens storlek på disken.

    Kommentar

    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 för molnet Appar 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örutsättningar

  1. Kontrollera att Du har Docker installerat på värden. Använd till exempel någon av följande nedladdningar:

  2. 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 logginsamlareavbildningen från Docker Hub

Följande procedurer beskriver hur du exporterar logginsamlaravbildningen med Hjälp av Linux eller Windows.

Exportera avbildningen i Linux

  1. 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
    
  2. Exportera logginsamlarens avbildning. Kör:

    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.

  3. Ladda ned logginsamlaravbildningen till din Windows-dator under C:\mcasLogCollector\ med WinSCP. Till exempel:

    Skärmbild av nedladdning av logginsamlaren till en Windows-dator.

Exportera avbildningen i Windows

  1. Installera Docker Desktop på en Windows 10-dator som har åtkomst till Docker Hub.

  2. Ladda ned logginsamlaravbildningen. Kör:

    docker login -u caslogcollector -p C0llector3nthusiast
    docker pull mcr.microsoft.com/mcas/logcollector
    
  3. Exportera logginsamlarens avbildning. Kör:

    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.

  1. Ladda upp logginsamlaravbildningen till målvärden under /tmp/. Till exempel:

    Skärmbild av att ladda upp logginsamlaren till målvärden.

  2. På målvärden importerar du logginsamlaravbildningen till Docker-avbildningslagringsplatsen. Kör:

    docker load --input /tmp/mcasLC.tar
    

    Till exempel:

    Skärmbild av import av logginsamlaravbildningen till Docker-lagringsplatsen.

  3. Du kan också kontrollera att importen har slutförts. Kör:

    docker image ls
    

    Till exempel:

    Skärmbild av att kontrollera att logginsamlarens import lyckades.

    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 för molnet Apps-logginsamlare specifika portnummer för att lyssna efter trafikloggar från en eller flera datakällor.

Följande tabell visar standardlyssningsportarna för mottagare:

Mottagartyp Hamnar
Syslog * UDP/514 – UDP/51x
* TCP/601 - TCP/60x
FTP * TCP/21

Använd följande steg för att definiera anpassade portar:

  1. I Microsoft Defender-portalen väljer du Inställningar. Välj sedan Cloud Apps.

  2. Under Cloud Discovery väljer du Automatisk logguppladdning. Välj sedan fliken Logginsamlare .

  3. 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:

    Kopiera körningskommandot från guiden Logginsamlare.

    Om det används enligt det angivna kommandot konfigurerar kommandot logginsamlaren 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:

    Skärmbild av kommandokörningen från guiden logginsamlare.

  4. 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:

    Skärmbild av ett anpassat körningskommando.

    Kommentar

    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 för molnet Apps och det som skickas av installationen.

Använd följande steg för att kontrollera att trafik tas emot av logginsamlare:

  1. Logga in på servern som är värd för Docker-containern.

  2. 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 enheter. Till exempel:

      Skärmbild av analys av nätverkstrafik via tcpdump.

    • Använd netcat eller ett liknande kommando för att analysera nätverkstrafik på värddatorn:

      1. Installera netcat och wget.

      2. Ladda ned en exempelloggfil från Microsoft Defender XDR. Packa upp loggfilen om det behövs.

        1. I Microsoft Defender XDR går du till Cloud Apps och väljer Cloud Discovery Actions>Create Cloud Discovery snapshot report (Molnidentifieringsögonblicksrapport>).

        2. Välj den datakälla som du vill ladda upp loggfilerna från.

        3. Välj Visa och verifiera och högerklicka sedan på Ladda ned exempelloggen och kopiera URL-adresslänken.

        4. Välj Stäng>Avbryt.

      3. Kör:

        wget <URL_address_to_sample_log>
        
      4. 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 portalen Defender för molnet Apps.

    • Granska relevanta filer i dockercontainern Defender för molnet Apps:

      1. Logga in på containern. Kör:

        docker exec -it <Container Name> bash
        
      2. Kontrollera om Syslog-meddelanden skrivs till meddelandefilen. Kör:

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

      Om allt är korrekt konfigurerat bör du se nätverkstrafik från dina enheter. Till exempel:

      Skärmbild av analys av trafik med hjälp av kommandot cat.

      Kommentar

      Den här filen fortsätter att skrivas tills den når 40 KB i storlek. Till exempel:

  3. Granska loggarna som laddades upp till Defender för molnet Apps i /var/adallom/discoverylogsbackup katalogen. Till exempel:

    Granska uppladdade loggfiler.

  4. Verifiera loggformatet som tas emot av logginsamlaren genom att jämföra meddelandena som lagras i /var/adallom/discoverylogsbackup med exempelloggformatet i guiden skapa logginsamlare i Defender för molnet-appar.

Skriva utdata från meddelandefilen till en lokal fil

Om du vill använda din 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 versionen uppdaterar du certifikatfilerna.

Nästa steg

Om du stöter på problem är vi här för att hjälpa till. Om du vill få hjälp eller support för ditt produktproblem öppnar du ett supportärende.