
Cliente de línea de comandos para la API del sensor de Corelight
.. _corelight-client:
.. El número de versión se rellena automáticamente. .. |version| replace:: 1.5.22
.. contents::
Esta herramienta proporciona un cliente de línea de comandos para el Corelight Sensor <https://www.corelight.com>, un dispositivo Bro <https://www.bro.org>
diseñado desde cero por los creadores de Bro para transformar
el tráfico de red en datos de alta fidelidad para tu canal de analítica.
Usando el cliente de línea de comandos, puedes configurar y controlar un
Corelight Sensor de forma remota a través de su completa API RESTful. Consulta
la documentación del Corelight Sensor para obtener una versión ampliada de esta
descripción general del cliente.
:Version: |version|
:Home: http://www.corelight.com
:GitHub: https://github.com/corelight/corelight-client
:Author: Corelight, Inc. <https://www.corelight.com>_ [email protected]
Este cliente es de código abierto bajo una licencia BSD. Consulta COPYING para
más detalles.
El cliente de línea de comandos necesita Python >= 3.4 con el módulo requests
instalado como dependencia principal.
La forma más sencilla de instalar el cliente es a través del Python Package Index::
# pip3 install corelight-client
Alternativamente, puedes instalar la última versión desde GitHub::
# git clone https://github.com/corelight/corelight-client
# cd corelight-client
# pip3 install setuptools
# python3 setup.py install
Si todo está instalado correctamente, --help te mostrará un mensaje de uso::
# 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]
[...]
Ten en cuenta que, inicialmente, --help aún no te mostrará más
comandos para usar. Continúa a la siguiente sección para permitir que el cliente se conecte
a tu dispositivo.
Necesitas habilitar el acceso a la API de Corelight a través de la interfaz de
configuración del dispositivo. También necesitas establecer contraseñas para los usuarios de la API
admin (para acceso ilimitado) y monitor (para acceso de solo lectura). Consulta la documentación del Corelight Sensor para más información.
A continuación, necesitas indicarle a corelight-client la dirección de red de
tu Corelight Sensor. Tienes tres opciones para hacerlo:
Añadir -b <address> a la línea de comandos.
Crear un archivo de configuración ~/.corelight-client.rc con el contenido
device=<address>.
Establecer la variable de entorno CORELIGHT_DEVICE=<address>.
Si todo está configurado, corelight-client --help ahora te pedirá un
nombre de usuario y una contraseña, y luego te mostrará la lista completa de comandos
que la API del dispositivo permite ofrecer al cliente. Si confirmas guardar
las credenciales, el cliente las almacenará en
~/.corelight-client/credentials para reutilizarlas en el futuro. También puedes especificar
información de autenticación a través del Archivo de configuración_ o como
Opciones globales_.
El cliente ofrece la funcionalidad de la API a través de un conjunto de comandos con
el formato <command> <subcommand> [options]. Al añadir --help
a cualquier comando, obtienes una descripción de toda su funcionalidad y
opciones.
Si la salida de --help lista la opción de un comando como de tipo
file, el cliente requiere que especifiques la ruta a un archivo para
enviar. Además, puedes prefijar el valor de cualquier opción con file://
para leer su contenido desde un archivo en lugar de darlo en la
línea de comandos misma.
(Nota: La salida de --help contendrá la lista de comandos solo si
el cliente puede conectarse y autenticarse con el dispositivo).
.. _corelight-client-options:
El corelight-client admite las siguientes opciones globales de línea de comandos. Las opciones --device y --fleet deben usarse
mutuamente excluyentes entre sí. Todas las demás opciones se aplican a todas
las solicitudes:
--async
No espera a que los comandos asíncronos se completen antes de salir.
--device
Especifica la dirección de red de un dispositivo Corelight Sensor.
--fleet
Especifica la dirección de red de un Corelight Fleet Manager.
--uid
Especifica el UID de un Corelight Sensor gestionado a través del
Corelight Fleet Manager especificado.
--cache=<file>
Establece un archivo personalizado para almacenar en caché los metadatos del Corelight Sensor.
--debug
Habilita la salida de depuración mostrando solicitudes y respuestas HTTP.
--password
Especifica la contraseña para la autenticación.
--mfa
Especifica el código de verificación 2FA para la autenticación con el
Corelight Fleet Manager especificado. Usa '-' para preguntar al usuario.
--ssl-ca-cert
Especifica un archivo que contiene un certificado SSL CA personalizado para
validar la autenticidad del dispositivo.
--ssl-no-verify-certificate
Indica al cliente que acepte cualquier certificado SSL del Corelight Sensor.
--ssl-no-verify-hostname
Indica al cliente que acepte el certificado SSL del Corelight Sensor
incluso si no coincide con su nombre de host.
--socket
Indica al cliente que use un socket de dominio unix para enviar solicitudes.
--user
Especifica el nombre de usuario para la autenticación.
--version
Muestra la versión de corelight-client y sale.
--ignore-meta
No envía información de metadatos a la llamada a la API del sensor, a menos que se especifique en la CLI.
--automation
Habilita un conjunto de comportamientos favorables a la automatización: tiempos de espera de solicitudes,
reintentos ante fallos transitorios, errores JSON estructurados, la taxonomía
de códigos de salida seleccionada y confirmación estricta no interactiva. Consulta
Automatización_ a continuación para más detalles. También se puede habilitar estableciendo la
variable de entorno CORELIGHT_AUTOMATION=1.
--timeout
Establece el tiempo de espera de la solicitud en segundos, ya sea como un único número N
(aplicado tanto a la conexión como a la lectura) o como connect,read. Por defecto es
10,3600 cuando --automation está habilitado.
--retries
Establece el número de reintentos a intentar ante fallos transitorios (errores de conexión
y HTTP 429/502/503/504 para solicitudes idempotentes). Por defecto es
3 cuando --automation está habilitado, 0 en caso contrario.
--retry-max-time
Establece el número máximo total de segundos a dedicar a los reintentos. Por defecto es
120 cuando --automation está habilitado.
--error-format
Establece el formato de salida/error a text o json. Por defecto es
json cuando --automation está habilitado, text en caso contrario.
--assume-yes
Continúa a través de operaciones con confirmación sin preguntar
(alias: --confirm). Requerido para realizar operaciones destructivas
mientras --automation está habilitado; de lo contrario, esas operaciones fallan
con un error de confirmación requerida.