Gestione avanzata dell'agente di raccolta log

Questo articolo descrive come configurare le opzioni avanzate per gli agenti di raccolta log di cloud discovery delle app Defender per il cloud.

Defender per il cloud App cloud Discovery continua a concentrarsi sui formati firewall di base. Le modifiche apportate ai log inoltrati a livello di firewall potrebbero non continuare a funzionare o potrebbero causare problemi con l'analisi. Se si riscontrano errori di questo ordinamento, è consigliabile continuare a usare il formato del firewall di base o usare le opzioni con l'agente di raccolta log personalizzato. Per altre informazioni, vedere Uso del parser di log personalizzato.

Questo articolo descrive come modificare la configurazione per l'app Defender per il cloud Cloud Discovery Docker.

Modificare la configurazione FTP dell'agente di raccolta log

Usare questi passaggi nelle sezioni seguenti per modificare la configurazione per le app Defender per il cloud Cloud Discovery Docker.

Verificare la versione dell'agente di raccolta log

Per verificare la versione dell'agente di raccolta log attualmente installata nel sistema, connettersi all'host dell'agente di raccolta log ed eseguire:

cat /var/adallom/versions | grep columbus-

Modificare la password FTP

Questa procedura descrive come modificare la password usata per accedere ai file dell'agente di raccolta log:

  1. Connessione all'host dell'agente di raccolta log ed eseguire:

    docker exec -it <collector name> pure-pw passwd <ftp user>
    
  2. Immettere la nuova password e quindi immetterla di nuovo per confermare.

  3. Eseguire il comando seguente per applicare la modifica:

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

Dovrebbe essere possibile visualizzare il contenuto seguente:

  • run_logs
  • ssl_update
  • config.json

Personalizzare i file di certificato

Questa procedura descrive come personalizzare i file di certificato usati per le connessioni sicure all'istanza docker di Cloud Discovery.

  1. Aprire un client FTP e connettersi all'host dell'agente di raccolta log.

  2. Passare alla ssl_update directory e caricare i nuovi file di certificato, inclusi i file seguenti:

    Tipo di ricevitore File obbligatori
    FTP - pure-ftpd.pem: include i dati della chiave e del certificato
    Syslog - ca.pem: certificato dell'autorità di certificazione usato per firmare il certificato del client.
    - server-key.pem e server-cert.pem: il certificato e la chiave dell'agente di raccolta log

    I messaggi Syslog vengono inviati tramite TLS all'agente di raccolta log, che richiede l'autenticazione TLS reciproca, inclusa l'autenticazione dei certificati client e server.

    I nomi file sono obbligatori. Se uno dei file non è presente, l'aggiornamento ha esito negativo.

  3. In una finestra del terminale eseguire:

    docker exec -t <collector name> update_certs
    

    L'output dovrebbe essere simile al codice seguente:

    root@DockerPlayground:~# docker exec -t columbus update_certs
    rsyslog: stopped
    rsyslog: started
    ftpd: stopped
    ftpd: started
    root@DockerPlayground:~#
    
  4. In una finestra del terminale eseguire:

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

Abilitare l'agente di raccolta log dietro un proxy

Se si esegue dietro un proxy, l'agente di raccolta log potrebbe avere problemi durante l'invio di dati alle app di Defender per il cloud. Ad esempio, questo problema può verificarsi perché l'agente di raccolta log non considera attendibile l'autorità di certificazione radice del proxy e non è in grado di connettersi a Microsoft Defender per il cloud App per recuperare la configurazione o caricare i log ricevuti.

Le procedure seguenti descrivono come abilitare l'agente di raccolta log dietro un proxy.

Suggerimento

È anche possibile modificare i certificati usati dall'agente di raccolta log per Syslog o FTP oppure risolvere i problemi di connettività dai firewall e dai proxy all'agente di raccolta log. Per altre informazioni, vedere Modificare la configurazione FTP dell'agente di raccolta log.

Configurare l'agente di raccolta log dietro un proxy

Assicurarsi di aver eseguito i passaggi necessari per eseguire Docker in un computer Windows o Linux e aver scaricato correttamente l'immagine Docker delle app Defender per il cloud nel computer host.

Per altre informazioni, vedere Configurare il caricamento automatico dei log per i report continui.

Convalidare la creazione del contenitore dell'agente di raccolta log Docker

Verificare che il contenitore sia stato creato ed eseguito. Nella shell eseguire:

docker ps

Verrà visualizzata una schermata simile all'output seguente:

Screenshot del contenitore Docker in esecuzione.

Copiare il certificato CA radice proxy nel contenitore

Dalla macchina virtuale copiare il certificato della CA nel contenitore Defender per il cloud Apps. Nell'esempio seguente, il contenitore è denominato Ubuntu-LogCollector e il certificato della CA è denominato Proxy-CA.crt.

Il comando seguente copia il certificato in una cartella nel contenitore in esecuzione. Eseguire il comando nell'host Ubuntu:

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

Impostare la configurazione per l'utilizzo del certificato della CA

  1. Passare al contenitore. Eseguire il comando seguente per aprire bash nel contenitore dell'agente di raccolta log:

    docker exec -it Ubuntu-LogCollector /bin/bash
    
  2. Da una finestra bash all'interno del contenitore passare alla cartella Java jre . Per evitare un errore di percorso correlato alla versione, usare il comando seguente:

    cd "$(find /opt/jdk/*/jre -name "bin" -printf '%h' -quit)"
    cd bin
    
  3. Importare il certificato radice copiato in precedenza dalla cartella di individuazione nell'archivio chiavi Java e definire una password.

    La password predefinita è changeit. Per altre informazioni, vedere Modificare la password dell'archivio chiavi Java.

    ./keytool --import --noprompt --trustcacerts --alias SelfSignedCert --file /var/adallom/ftp/discovery/Proxy-CA.crt --keystore ../lib/security/cacerts --storepass <password>
    
  4. Verificare che il certificato sia stato importato correttamente nell'archivio chiavi della CA. Eseguire il comando seguente per cercare l'alias specificato durante l'importazione (SelfSignedCert):

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

Verrà visualizzato il certificato della CA del proxy importato. Ad esempio:

Screenshot dell'interfaccia keytool.

Limitare gli indirizzi IP che inviano messaggi syslog all'agente di raccolta log in Linux

Per proteggere l'immagine Docker e assicurarsi che sia consentito inviare i messaggi syslog all'agente di raccolta log, creare una regola di tabella IP nel computer host per consentire il traffico di input e eliminare il traffico proveniente su porte specifiche, ad esempio TCP/601 o UDP/514, a seconda della distribuzione.

Il comando seguente illustra un esempio di come creare una regola di tabella IP che può essere aggiunta al computer host. Questa regola di tabella consente all'indirizzo IP '1.2.3.4'' di connettersi al contenitore dell'agente di raccolta log sulla porta TCP 601 e eliminare tutte le altre connessioni provenienti da altri indirizzi IP sulla stessa porta.

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

Impostare l'agente di raccolta log per l'esecuzione con la nuova configurazione

Il contenitore è ora pronto.

Eseguire il comando collector_config usando il token API usato durante la creazione dell'agente di raccolta log. Ad esempio:

Screenshot della finestra di dialogo Crea agente di raccolta log.

Quando si esegue il comando, specificare il proprio token API, ad esempio collector_config abcd1234abcd1234abcd1234abcd1234 ${CONSOLE} ${COLLECTOR}

Ad esempio:

Screenshot di un esempio di aggiornamento della configurazione.

L'agente di raccolta log è ora in grado di comunicare con le app di Defender per il cloud. Dopo l'invio di dati alle app di Defender per il cloud, lo stato dell'agente di raccolta log passa da Integro a Connessione ed. Ad esempio:

Screenshot dello stato di caricamento.

Nota

Se è necessario aggiornare la configurazione dell'agente di raccolta log, per aggiungere o rimuovere un'origine dati, ad esempio, in genere è necessario eliminare il contenitore ed eseguire nuovamente la procedura precedente.

Per evitare questo problema, è possibile eseguire nuovamente lo strumento collector_config con il nuovo token API generato nel portale delle app di Defender per il cloud.

Modificare la password dell'archivio chiavi Java

  1. Arrestare il server Dell'archivio chiavi Java.

  2. Aprire una shell bash all'interno del contenitore e passare alla cartella appdata/conf .

  3. Per modificare la password dell'archivio chiavi del server, eseguire:

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

    La password del server predefinita è changeit.

  4. Per modificare la password del certificato, eseguire:

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

    L'alias del server predefinito è server.

  5. In un editor di testo aprire il file server-install\conf\server\secured-installed.properties . Aggiungere le righe di codice seguenti e quindi salvare le modifiche:

    1. Specificare la nuova password dell'archivio chiavi Java per il server: server.keystore.password=newStorePassword
    2. Specificare la nuova password del certificato per il server: server.key.password=newKeyPassword
  6. Avviare il server.

Spostare l'agente di raccolta log in una partizione di dati diversa in Linux

Molte aziende hanno la necessità di spostare i dati in una partizione separata. Questa procedura descrive come spostare le immagini dell'agente di raccolta log Docker delle app Defender per il cloud in una partizione di dati nell'host Linux.

Questa procedura descrive lo spostamento di dati in una partizione denominata archivio dati e presuppone che la partizione sia già stata montata. Ad esempio:

Elenco di partizioni Linux.

L'aggiunta e la configurazione di una nuova partizione nell'host Linux non rientra nell'ambito di questa guida.

Per spostare l'agente di raccolta log in una partizione diversa:

  1. Arrestare il servizio Docker. Eseguire:

    service docker stop
    
  2. Spostare i dati dell'agente di raccolta log nella nuova partizione. Eseguire:

    mv /var/lib/docker /datastore/docker
    
  3. Rimuovere la directory di archiviazione Docker precedente (/var/lib/docker) e creare un collegamento simbolico alla nuova directory (/datastore/docker). Eseguire:

    rm -rf /var/lib/docker && ln -s /datastore/docker /var/lib/
    
  4. Avviare il servizio Docker. Eseguire:

    service docker start
    
  5. Facoltativamente, verificare lo stato dell'agente di raccolta log. Eseguire:

    docker ps
    

Esaminare l'utilizzo del disco dell'agente di raccolta log in Linux

Questa procedura descrive come esaminare l'utilizzo e il percorso del disco dell'agente di raccolta log.

  1. Identificare il percorso della directory in cui sono archiviati i dati dell'agente di raccolta log. Eseguire:

    docker inspect <collector_name> | grep WorkDir
    

    Ad esempio:

    Screenshot di come identificare la directory dell'agente di raccolta log.

  2. Ottenere le dimensioni su disco dell'agente di raccolta log usando il percorso identificato senza il suffisso "/work". Eseguire:

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

    Screenshot di come identificare le dimensioni dell'agente di raccolta log su disco.

    Nota

    Se è sufficiente conoscere le dimensioni del disco, è possibile usare il comando seguente: docker ps -s

Spostare l'agente di raccolta log in un host accessibile

Negli ambienti regolamentati, l'accesso a Docker Hubs in cui è ospitata l'immagine dell'agente di raccolta log può essere bloccato. Ciò impedisce alle app di Defender per il cloud di importare i dati dall'agente di raccolta log e può essere risolto spostando l'immagine dell'agente di raccolta log in un host accessibile.

Questa procedura descrive come scaricare l'immagine dell'agente di raccolta log usando un computer che ha accesso all'hub Docker e importarlo nell'host di destinazione.

L'immagine scaricata può essere importata nel repository privato o direttamente nell'host. Questa procedura descrive come scaricare l'immagine dell'agente di raccolta log nel computer Windows e quindi usare WinSCP per spostare l'agente di raccolta log nell'host di destinazione.

Prerequisiti

  1. Assicurarsi di aver installato Docker nell'host. Ad esempio, usare uno dei download seguenti:

  2. Dopo il download, usare la guida all'installazione offline di Docker per installare il sistema operativo.

    Avviare il processo esportando l'immagine dell'agente di raccolta log e quindi importando l'immagine nell'host di destinazione.

Esportare l'immagine dell'agente di raccolta log dall'hub Docker

Le procedure seguenti descrivono come esportare l'immagine dell'agente di raccolta log usando Linux o Windows.

Esportare l'immagine in Linux

  1. In un computer Linux che ha accesso all'hub Docker eseguire il comando seguente per installare Docker e scaricare l'immagine dell'agente di raccolta log.

    curl -o /tmp/MCASInstallDocker.sh https://adaprodconsole.blob.core.windows.net/public-files/MCASInstallDocker.sh && chmod +x /tmp/MCASInstallDocker.sh; /tmp/MCASInstallDocker.sh
    
  2. Esportare l'immagine dell'agente di raccolta log. Eseguire:

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

    Importante

    Assicurarsi di usare il parametro di output per scrivere in un file invece di STDOUT.

  3. Scaricare l'immagine dell'agente di raccolta log nel computer C:\mcasLogCollector\ Windows usando WinSCP. Ad esempio:

    Screenshot del download dell'agente di raccolta log in un computer Windows.

Esportare l'immagine in Windows

  1. In un computer Windows 10 che ha accesso all'hub Docker installare Docker Desktop.

  2. Scaricare l'immagine dell'agente di raccolta log. Eseguire:

    docker login -u caslogcollector -p C0llector3nthusiast
    docker pull mcr.microsoft.com/mcas/logcollector
    
  3. Esportare l'immagine dell'agente di raccolta log. Eseguire:

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

    Importante

    Assicurarsi di usare il parametro di output per scrivere in un file invece di STDOUT.

Importare e caricare l'immagine dell'agente di raccolta log nell'host di destinazione

Questa procedura descrive come trasferire l'immagine esportata nell'host di destinazione.

  1. Caricare l'immagine dell'agente di raccolta log nell'host di destinazione in /tmp/. Ad esempio:

    Screenshot del caricamento dell'agente di raccolta log nell'host di destinazione.

  2. Nell'host di destinazione importare l'immagine dell'agente di raccolta log nel repository di immagini Docker. Eseguire:

    docker load --input /tmp/mcasLC.tar
    

    Ad esempio:

    Screenshot dell'importazione dell'immagine dell'agente di raccolta log nel repository Docker.

  3. Facoltativamente, verificare che l'importazione sia stata completata correttamente. Eseguire:

    docker image ls
    

    Ad esempio:

    Screenshot della verifica dell'esito positivo dell'importazione dell'agente di raccolta log.

    È ora possibile procedere alla creazione dell'agente di raccolta log usando l'immagine dall'host di destinazione.

Definire porte personalizzate per i ricevitori Syslog e FTP per gli agenti di raccolta log in Linux

Alcune organizzazioni devono definire porte personalizzate per i servizi Syslog e FTP.

Quando si aggiunge un'origine dati, Defender per il cloud gli agenti di raccolta log delle app usano numeri di porta specifici per restare in ascolto dei log del traffico da una o più origini dati.

Nella tabella seguente sono elencate le porte di ascolto predefinite per i ricevitori:

Tipo di ricevitore Porti
syslog * UDP/514 - UDP/51x
* TCP/601 - TCP/60x
FTP * TCP/21

Per definire porte personalizzate, seguire questa procedura:

  1. Nel portale di Microsoft Defender selezionare Impostazioni. Scegliere quindi App cloud.

  2. In Cloud Discovery selezionare Caricamento automatico dei log. Selezionare quindi la scheda Agenti di raccolta log .

  3. Nella scheda Agenti di raccolta log aggiungere o modificare un agente di raccolta log e, dopo l'aggiornamento delle origini dati, copiare il comando esegui dalla finestra di dialogo. Ad esempio:

    Copiare il comando esegui dalla procedura guidata dell'agente di raccolta log.

    Se usato come specificato, il comando fornito dalla procedura guidata configura l'agente di raccolta log per l'uso delle porte 514/udp e 515/udp. Ad esempio:

    (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
    

    Ad esempio:

    Screenshot del comando eseguito dalla procedura guidata dell'agente di raccolta log.

  4. Prima di usare il comando nel computer host, modificare il comando per usare le porte personalizzate. Ad esempio, per configurare l'agente di raccolta log per l'uso delle porte UDP 414 e 415, modificare il comando come indicato di seguito:

    (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
    

    Ad esempio:

    Screenshot di un comando di esecuzione personalizzato.

    Nota

    Viene modificato solo il mapping Docker. Le porte assegnate internamente non vengono modificate consentendo di scegliere qualsiasi porta di ascolto nell'host.

Convalidare il formato del traffico e del log ricevuto dall'agente di raccolta log in Linux

In alcuni casi, potrebbe essere necessario analizzare i problemi, ad esempio i seguenti:

  • Gli agenti di raccolta log ricevono dati: verificare che gli agenti di raccolta log ricevano messaggi Syslog dalle appliance e non siano bloccati dai firewall.
  • I dati ricevuti sono nel formato di log corretto: convalidare il formato del log per risolvere gli errori di analisi confrontando il formato di log previsto da Defender per il cloud App e quello inviato dall'appliance.

Usare la procedura seguente per verificare che il traffico venga ricevuto dagli agenti di raccolta log:

  1. Accedere al server che ospita il contenitore Docker.

  2. Verificare che l'agente di raccolta log riceva messaggi Syslog usando uno dei metodi seguenti:

    • Usare tcpdump o un comando simile per analizzare il traffico di rete sulla porta 514:

      tcpdump -Als0 port 514
      

      Se tutto è configurato correttamente, dovrebbe essere visualizzato il traffico di rete dalle appliance. Ad esempio:

      Screenshot dell'analisi del traffico di rete tramite tcpdump.

    • Usare netcat o un comando simile per analizzare il traffico di rete nel computer host:

      1. Installare netcat e wget.

      2. Scaricare un file di log di esempio da Microsoft Defender XDR. Se necessario, decomprimere il file di log.

        1. In Microsoft Defender XDR, in App cloud selezionare Cloud Discovery Actions>Create Cloud Discovery snapshot report (Crea report snapshot di Cloud Discovery>).

        2. Selezionare l'origine dati da cui si vogliono caricare i file di log.

        3. Selezionare Visualizza e verificare , quindi fare clic con il pulsante destro del mouse su Scarica log di esempio e copiare il collegamento indirizzo URL.

        4. Selezionare Chiudi>annulla.

      3. Eseguire:

        wget <URL_address_to_sample_log>
        
      4. Eseguire netcat per trasmettere i dati all'agente di raccolta log.

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

      Se l'agente di raccolta è configurato correttamente, i dati di log sono presenti nel file dei messaggi e poco dopo che sono stati caricati nel portale delle app di Defender per il cloud.

    • Esaminare i file pertinenti all'interno del contenitore Docker delle app Defender per il cloud:

      1. Accedere al contenitore. Eseguire:

        docker exec -it <Container Name> bash
        
      2. Determinare se i messaggi Syslog vengono scritti nel file dei messaggi. Eseguire:

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

      Se tutto è configurato correttamente, dovrebbe essere visualizzato il traffico di rete dalle appliance. Ad esempio:

      Screenshot dell'analisi del traffico tramite il comando cat.

      Nota

      Questo file continuerà a essere scritto in fino a raggiungere le dimensioni di 40 KB. Ad esempio:

  3. Esaminare i log caricati in Defender per il cloud App nella /var/adallom/discoverylogsbackup directory. Ad esempio:

    Esaminare i file di log caricati.

  4. Convalidare il formato di log ricevuto dall'agente di raccolta log confrontando i messaggi archiviati in /var/adallom/discoverylogsbackup con il formato di log di esempio fornito nella procedura guidata di creazione log di app Defender per il cloud.

Scrivere l'output del file di messaggi in un file locale

Se si vuole usare il proprio log di esempio ma non si ha accesso all'appliance, usare i comandi seguenti per scrivere l'output del file di messaggi , che si trova nella directory syslog dell'agente di raccolta log, in un file locale nell'host:

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

Confrontare il file di output (/tmp/log.log) con i messaggi archiviati nella /var/adallom/discoverylogsbackup directory.

Aggiornare la versione dell'agente di raccolta log

Quando si aggiorna l'agente di raccolta log:

  • Prima di installare la nuova versione, assicurarsi di arrestare l'agente di raccolta log e rimuovere l'immagine corrente.
  • Dopo aver installato la nuova versione, aggiornare i file di certificato.

Passaggi successivi

Se si verificano problemi, siamo qui per aiutare. Per ottenere assistenza o supporto per il problema del prodotto, aprire un ticket di supporto.