
Client da riga di comando per l'API Corelight Sensor
.. _corelight-client:
.. Version number is filled in automatically. .. |version| replace:: 1.5.17
.. contents::
Questo strumento fornisce un client a riga di comando per il Corelight Sensor <https://www.corelight.com>, un'appliance Bro <https://www.bro.org>
progettata da zero dai creatori di Bro per trasformare il traffico di rete in
dati ad alta fedeltà per la tua pipeline di analisi.
Usando il client a riga di comando, puoi configurare e controllare da remoto un
Corelight Sensor tramite la sua API RESTful completa. Consulta la
documentazione del Corelight Sensor per una versione estesa di questa panoramica
del client.
:Versione: |version|
:Sito: http://www.corelight.com
:GitHub: https://github.com/corelight/corelight-client
:Autore: Corelight, Inc. <https://www.corelight.com>_ [email protected]
Questo client è open-source con licenza BSD. Vedi COPYING per i dettagli.
Il client a riga di comando richiede Python >= 3.4 con il modulo requests
installato come dipendenza principale.
Il modo più semplice per installare il client è tramite il Python Package Index::
# pip3 install corelight-client
In alternativa, puoi installare l'ultima versione da GitHub::
# git clone https://github.com/corelight/corelight-client
# cd corelight-client
# python3 setup.py install
Se tutto è installato correttamente, --help mostrerà un messaggio di
utilizzo::
# corelight-client --help
Usage: corelight-client [<global options>] <command> <subcommand> [<options>]
[--ssl-ca-cert SSL_CA_CERT] [--ssl-no-verify-certificate]
[--ssl-no-verify-hostname] [--cache CACHE]
[...]
Nota che inizialmente --help non mostrerà ancora alcun comando aggiuntivo
da usare. Procedi alla sezione successiva per consentire al client di
connettersi al tuo dispositivo.
Devi abilitare l'accesso all'API Corelight tramite l'interfaccia di
configurazione del dispositivo. Devi anche impostare le password per gli
utenti API admin (per accesso illimitato) e monitor (per accesso in
sola lettura). Consulta la documentazione del Corelight Sensor per maggiori
informazioni.
Successivamente, devi comunicare a corelight-client l'indirizzo di rete del
tuo Corelight Sensor. Hai tre possibilità per farlo:
Aggiungi -b <address> alla riga di comando.
Crea un file di configurazione ~/.corelight-client.rc con il contenuto
device=<address>.
Imposta la variabile d'ambiente CORELIGHT_DEVICE=<address>.
Una volta configurato tutto, corelight-client --help ti chiederà nome
utente e password, e poi ti mostrerà l'elenco completo dei comandi che l'API
del dispositivo consente al client di offrire. Se confermi di salvare le
credenziali, il client le memorizzerà in ~/.corelight-client/credentials
per riutilizzarle in futuro. Puoi anche specificare le informazioni di
autenticazione tramite File di configurazione_ o come Opzioni globali_.
Il client offre le funzionalità dell'API tramite un insieme di comandi del
formato <command> <subcommand> [options]. Aggiungendo --help a
qualsiasi comando, ottieni una descrizione di tutte le sue funzionalità e
opzioni.
Se l'output di --help elenca un'opzione di un comando come di tipo
file, il client richiede di specificare il percorso di un file da inviare.
Inoltre, puoi prefissare il valore di qualsiasi opzione con file:// per
leggerne il contenuto da un file invece di fornirlo sulla riga di comando.
(Nota: l'output di --help conterrà l'elenco dei comandi solo se il client
riesce a connettersi e ad autenticarsi al dispositivo.)
.. _corelight-client-options:
Il corelight-client supporta le seguenti opzioni globali della riga di
comando. Le opzioni --device e --fleet dovrebbero essere usate in modo
mutuamente esclusivo. Tutte le altre opzioni si applicano a tutte le richieste:
--async
Non attende il completamento dei comandi asincroni prima di uscire.
--device
Specifica l'indirizzo di rete di un dispositivo Corelight Sensor.
--fleet
Specifica l'indirizzo di rete di un Corelight Fleet Manager.
--uid
Specifica l'UID di un Corelight Sensor gestito tramite il Corelight Fleet
Manager indicato.
--cache=<file>
Imposta un file personalizzato per la memorizzazione nella cache dei
metadati del Corelight Sensor.
--debug
Abilita l'output di debug che mostra richieste e risposte HTTP.
--password
Specifica la password per l'autenticazione.
--mfa
Specifica il codice di verifica 2FA per l'autenticazione con il Corelight
Fleet Manager indicato. Usa '-' per chiederlo all'utente.
--ssl-ca-cert
Specifica un file contenente un certificato CA SSL personalizzato per
validare l'autenticità del dispositivo.
--ssl-no-verify-certificate
Indica al client di accettare qualsiasi certificato SSL del Corelight
Sensor.
--ssl-no-verify-hostname
Indica al client di accettare il certificato SSL del Corelight Sensor anche
se non corrisponde al suo hostname.
--socket
Indica al client di usare un socket di dominio Unix per l'invio delle
richieste.
--user
Specifica il nome utente per l'autenticazione.
--version
Mostra la versione di corelight-client ed esce.
--ignore-meta
Non inviare informazioni di metadati alla chiamata API del sensore, a meno
che non siano specificate sulla CLI.
.. _corelight-client-config:
Il corelight-client cerca un file di configurazione ~/.corelight-client.rc.
Il file deve essere composto da righe <key>=<value>. I commenti che
iniziano con # vengono ignorati. corelight-client supporta le seguenti
chiavi:
device
L'indirizzo di rete di un dispositivo Corelight Sensor.
fleet
L'indirizzo di rete di un Corelight Fleet Manager.
uid
L'UID di un Corelight Sensor gestito tramite il Corelight Fleet Manager
indicato.
user
Il nome utente per l'autenticazione.
password
La password per l'autenticazione.
mfa
Il codice di verifica 2FA per l'autenticazione con un Corelight Fleet
Manager. Usa '-' per chiederlo all'utente.
ssl-ca-cert
Un file contenente un certificato CA SSL personalizzato per validare
l'autenticità del dispositivo.
ssl-no-verify-certificate
Se impostato su false, il client accetterà qualsiasi certificato SSL
del Corelight Sensor.
ssl-no-verify-hostname
Se impostato su false, il client accetterà il certificato SSL del
Corelight Sensor anche se non corrisponde al suo hostname.
socket
Un socket di dominio Unix da usare per l'invio delle richieste.