Vai al contenuto

Agenti

Gli agenti remoti sono necessari per eseguire qualsiasi codice personalizzato al di fuori dei connettori standard. Per impostazione predefinita, gli agenti remoti vengono assegnati automaticamente al pool $remote durante l'installazione.

Importante! Per impostazione predefinita, gli agenti remoti vengono assegnati automaticamente al pool $remote durante l'installazione. Tuttavia, quando si crea un'azione in un playbook, il pool assegnato all'azione è $default. Per eseguire correttamente un'azione su un agente remoto, è necessario aggiornare il pool dall'azione del playbook. Fare clic su Assegnazione pool agent sull'azione del playbook per istruzioni.

Gli agenti remoti:

  • Vengono distribuiti tramite uno script bash semplice.
  • Sono configurati con argomenti per personalizzare la funzionalità.
  • Utilizzano Websockets sicuri per la comunicazione, con distribuzione e accodamento di lavori basati su eventi.

Prerequisiti

Prima di lavorare con gli agenti remoti, assicurarsi di disporre del software e dell'hardware necessari.

A causa della sua natura containerizzata, gli agenti remoti possono essere eseguiti su molti sistemi operativi. I sistemi testati sono i seguenti:

Ubuntu 18.04, 20.04, 22.04 (Consigliato)
CentOS 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8-stream
RHEL 7.4, 7.5, 7.6, 7.7, 7.8,, 8.7, 9.2 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8.0, 8.2, 8.7
Oracle Linux (con docker) 7.9
Oracle Linux (con podman) 8.8, 9.2 7.4, 7.5, 7.6, 7.7, 7.8, 7.9 (Problema comune FAQ)
Amazon Linux 2

Software richiesto

  • Docker (ultima versione) o Podman 4.2 (o superiore)

    • Servizio e client Docker. Ciò non richiede una licenza.
    • Installazione per Docker
    • Installazione per Podman

      Importante! Quando si installa usando il pacchetto podman, sono richiesti sia il pacchetto Podman che il pacchetto Podman-plugins.!

  • Python 3 (ultima versione)

Nota: Non è necessario eseguire aggiornamenti manuali per gli agenti remoti. Il lavoro cron installato quando si esegue lo script verifica la versione connessa per una nuova versione e aggiorna, se necessario.

Specifiche minime per l'utilizzo degli agenti remoti

I requisiti minimi per poter utilizzare gli agenti remoti variano a seconda delle esigenze di automazione del cliente.

Specifiche minime:

  • 2 CPU (architettura x64)
  • 2 GB (o più) di RAM
  • La dimensione del disco sarà il minimo necessario per la scelta del sistema operativo + 20 GB.

Suggerimento: Per carichi di lavoro più pesanti, potrebbe essere necessario assegnare più CPU, RAM e/o dimensioni del disco.

  • La macchina deve avere accesso in uscita all'istanza del SOAR e a Quay.io su HTTPS (443)

Importante! Mettere in whitelist tutto quay.io, in modo da non limitare l'accesso alle immagini.

Impostare un argomento e installare uno script

Per impostare un argomento e installare uno script:

  1. Dal menu di navigazione, fare clic su IMPOSTAZIONI.
  2. Fare clic su Specifica del tenant, quindi fare clic sulla scheda Agenti.
  3. Fare clic su Visualizza agenti.

È possibile filtrare per nome per cercare un agente.
È possibile attivare o disattivare l'agente utilizzando il pulsante Abilitato.
Un cerchio verde accanto al nome di un agente indica che l'agente è online.
Un cerchio rosso accanto al nome di un agente indica che l'agente è offline.

  1. Da Agenti, fare clic su Esegui agente.

Si apre la finestra Installa un agente.

Importante! Se si fa clic fuori dalla finestra Installa un agente, la finestra si chiude e sarà necessario ricominciare da Esegui agente.

  1. Immettere i campi richiesti e/o personalizzabili. La tabella seguente fornisce i nomi dei campi e informazioni supplementari per completare il processo di installazione dello script.

Tabella dei campi "Installa Agente"

In alto è possibile vedere il comando di installazione. Ecco i campi che è possibile configurare per creare lo script di installazione:

Solo Campo Richiesto

Informazioni

AGENT_NAME

Il nome dell'agente, verrà richiesto se non fornito (Questo valore è prefissato con agent-). Il nome dell'agente può contenere solo lettere, numeri, trattini bassi o trattini. Non utilizzare spazi.

Campi Personalizzabili

Informazioni

CA_CERT_PATH

Percorso di una cartella di CA Certs da montare per la convalida del certificato (utile per certificati autofirmati o interni).

DOCKER_BIN

Percorso dell'eseguibile Docker, questo script cerca di trovare Docker ma è possibile aiutarlo se non riesce.

AGENT_IMAGE_NAME

L'immagine Docker da utilizzare. Per impostazione predefinita utilizza l'immagine Docker ospitata pubblicamente con la stessa versione della tua distribuzione.

AGENT_HEARTBEAT_INTERVAL

Con quale frequenza l'agente invia un messaggio di battito cardiaco. Quando viene superata la soglia per il battito cardiaco, viene contrassegnato come non sano.

AGENT_INITIAL_POOLS

I pool iniziali a cui unirsi. È possibile aggiungerne più di uno.

AGENT_INITIAL_POOLS_JOIN_DEFAULT

Indica se l'agente deve unirsi al pool predefinito o meno.

AGENT_JOB_MAX

Il numero massimo di lavori che l'agente può gestire contemporaneamente.

AGENT_JOB_QUEUE_EXPIRES

Secondi da attendere prima che un lavoro in coda scada. Esempio: 5 ore = 18000 secondi.

HTTP_PROXY

Aggiunge il supporto al proxy HTTP per gli agenti remoti. Esempio: http://username:password@host:port

HTTPS_PROXY

Aggiunge il supporto al proxy HTTPS per gli agenti remoti. Esempio: https://username:password@host:port

NO_PROXY

Elenco delimitato da virgole di URL che possono ignorare le impostazioni del proxy sopra.

CRON_USER

L'utente che eseguirà il lavoro cron che esegue gli aggiornamenti alle immagini dell'agente. L'utente deve essere in grado di eseguire comandi docker e richieste curl. Per assistenza nella creazione di un utente cron, contattare il supporto di Linux di primo livello.

Unisciti al Pool Predefinito

Unisce l'agente remoto al pool $default, oltre al pool $remote.

Ignora Certificati Non Sicuri

Istruisce l'agente e i suoi connettori a ignorare i certificati non sicuri durante la connessione a origini HTTPS.

Consenti Certificati Non Sicuri per la Comunicazione del Gateway

Consente un certificato non sicuro durante la connessione al gateway dell'istanza dell'host.

  1. Per copiare lo script di installazione, fare clic su Copia script di installazione, aprire un prompt dei comandi/terminale, incollare ed eseguire lo script.

    Suggerimento: L'opzione Ignora Certificati Non Sicuri disattiva la convalida del certificato. È possibile disattivare questa funzionalità se si utilizzano certificati autofirmati.

    Una volta copiato lo script di installazione, è possibile chiudere la finestra.

Accesso agente remoto

Per accedere all'agente remoto:

  1. Aprire una finestra cmd/terminale.

Il login è root, che è il valore predefinito, oppure è possibile accedere come membro del gruppo docker.

Importante! I sistemi potrebbero richiedere configurazioni aggiuntive con un utente non root per mantenere Docker o Podman in esecuzione dopo la chiusura della sessione dell'utente. Assicurarsi di consultare le istruzioni post-installazione per il proprio sistema operativo e motore di container.

  1. Per impostare max_user_namespaces inserire questo comando:

    sudo sysctl user.max_user_namespaces=65536
    

Assicurarsi di eseguire questa operazione prima di aggiungere il comando dello script curl nel passo successivo.

Importante! I namespace utente vengono utilizzati con i contenitori per consentire a un contenitore di essere configurato senza operazioni privilegiate. La configurazione massima consente a un utente normale di agire come root all'interno di un contenitore per eseguire attività amministrative, senza essere root sull'host esterno.

  1. Copiare e incollare il comando dello script curl nella finestra cmd/terminale.

Avvertenza! Se si utilizza RHEL o un altro sistema che utilizza SELinux, utilizzare l'argomento -R per impostare l'utente interno del motore dei container su root, a causa delle restrizioni di sicurezza.

Suggerimento: La lettura dello script curl può essere complicata! Ecco alcune informazioni utili: La stringa completa copiata contiene due comandi: Il "curl + K" + l'https …" scarica lo script di installazione dal proprio server. Il "bash – " esegue lo script con le opzioni che hai selezionato. Questi comandi possono essere separati ed eseguiti separatamente se si verificano problemi di connettività da esaminare.

  1. Fare clic su Invio.

Lo script viene eseguito nella finestra cmd/terminale.

  1. Durante l'installazione ti verrà richiesto il nome utente e la password. Questo autentica l'agente remoto alla tua installazione e si unisce utilizzando chiavi generate. Le tue credenziali non saranno salvate.

Attenzione! Se vedi errori, leggili! Il testo comunica eventuali errori che è necessario risolvere prima di eseguire correttamente l'agente remoto.

  1. Se non ci sono errori, i log mostreranno Done.

Convalida dell'agente remoto con comandi Docker

Vuoi assicurarti che l'installazione sia riuscita? Usa i comandi docker per convalidare l'agente remoto.
bash docker ps
Elenca tutti i contenitori Docker in esecuzione.
bash docker logs --follow **container-id** o **nome**
Ottieni e segui i log di un contenitore. Controlla i connettori che richiedono l'installazione (non preoccuparti se ciò richiede del tempo) CTRL + C = esci
bash docker restart **container-id** o **nome**
Riavvia un contenitore.
bash docker stop **container-id** o **nome**
Arresta un contenitore.
bash docker rm **container-id** o **nome**
Rimuove un contenitore.

verifica l'endpoint dell'agente: https://nome installazione/agent

Verifica l'endpoint dell'agente.

Suggerimento: Quando si utilizza podman, assicurarsi di effettuare la convalida usando podman, non Docker.

Suggerimento: È possibile estrarre i log in qualsiasi momento utilizzando la finestra cmd/terminale per vedere cosa sta facendo l'agente o verificare il relay eseguendo il comando docker logs.

Cosa fare se si vuole ricominciare completamente?

  • Usa i comandi docker stop container-id o nome, quindi docker rm container-id o nome.

Assegnazione di pool di agenti sull'azione del playbook

Per assegnare un pool a livello di azione:

  1. Da AZIONE, fare clic su Mostra impostazioni avanzate.

$default è il pool predefinito.

  1. Per cambiare il pool, fare clic sul menù a discesa e selezionare tra le opzioni di pool disponibili.

Ora l'azione verrà eseguita nel pool selezionato.
Importante! Le azioni di trasformazione e Python non funzionano con gli agenti remoti.

WebSockets

Le comunicazioni tra la soluzione e gli agenti remoti avvengono tramite WebSocket sicure su TLS sulla porta 443. Semplificando l'implementazione così da evitare la necessità di ulteriori nomi host o infrastrutture.

Note sull'installazione per WebSockets

Oracle 7.9 non consente l'installazione di podman 4.2+ e non può utilizzare podman.

Con podman, assicurarsi che siano installati podman e i plugin di podman.