
Клиент командной строки для Corelight Sensor API
.. _corelight-client:
.. Версия подставляется автоматически. .. |version| replace:: 1.5.17
.. contents::
Этот инструмент предоставляет клиент командной строки для Corelight Sensor <https://www.corelight.com>_ — устройства на базе Bro <https://www.bro.org>_,
разработанного с нуля создателями Bro для преобразования сетевого трафика
в высокоточные данные для вашего аналитического конвейера.
С помощью клиента командной строки вы можете удалённо настраивать устройство
Corelight Sensor и управлять им через его комплексный RESTful API. См.
документацию Corelight Sensor для расширенной версии этого обзора клиента.
:Version: |version|
:Home: http://www.corelight.com
:GitHub: https://github.com/corelight/corelight-client
:Author: Corelight, Inc. <https://www.corelight.com>_ [email protected]
Этот клиент является открытым и распространяется под лицензией BSD. Подробности
см. в файле COPYING.
Для работы клиента командной строки требуется Python >= 3.4 с установленным
модулем requests в качестве основной зависимости.
Самый простой способ установить клиент — через Python Package Index::
# pip3 install corelight-client
Кроме того, вы можете установить последнюю версию с GitHub::
# git clone https://github.com/corelight/corelight-client
# cd corelight-client
# python3 setup.py install
Если всё установлено правильно, --help выведет сообщение об
использовании::
# 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]
[...]
Обратите внимание: изначально --help ещё не покажет вам никаких дальнейших
команд. Перейдите к следующему разделу, чтобы дать клиенту возможность
подключиться к вашему устройству.
Вам необходимо включить доступ к API Corelight через интерфейс конфигурации
устройства. Также необходимо задать пароли для пользователей API
admin (для неограниченного доступа) и monitor (для доступа
только на чтение). Дополнительную информацию см. в документации Corelight Sensor.
Затем нужно сообщить corelight-client сетевой адрес вашего
Corelight Sensor. У вас есть три варианта:
Добавьте -b <address> в командную строку.
Создайте файл конфигурации ~/.corelight-client.rc с содержимым
device=<address>.
Задайте переменную окружения CORELIGHT_DEVICE=<address>.
Если всё настроено, corelight-client --help теперь запросит у вас
имя пользователя и пароль, а затем покажет полный список команд,
которые API устройства позволяет предлагать клиенту. Если вы подтвердите
сохранение учётных данных, клиент сохранит их в
~/.corelight-client/credentials для будущего использования. Вы также можете
указать информацию для аутентификации через Configuration File_ или в
Global Options_.
Клиент предоставляет функциональность API через набор команд формата
<command> <subcommand> [options]. Добавив --help к любой команде,
вы получите описание всех её функций и параметров.
Если в выводе --help параметр команды указан как имеющий тип
file, клиент требует, чтобы вы указали путь к файлу для
отправки. Кроме того, вы можете добавить к значению любого параметра префикс file://,
чтобы прочитать его содержимое из файла, а не указывать его
в самой командной строке.
(Примечание: вывод --help будет содержать список команд только в том
случае, если клиент сможет подключиться к устройству и пройти аутентификацию.)
.. _corelight-client-options:
corelight-client поддерживает следующие глобальные параметры командной
строки. Параметры --device и --fleet следует использовать
взаимоисключающим образом. Все остальные параметры применяются ко всем запросам:
--async
Не ждёт завершения асинхронных команд перед выходом.
--device
Указывает сетевой адрес устройства Corelight Sensor.
--fleet
Указывает сетевой адрес Corelight Fleet Manager.
--uid
Указывает UID устройства Corelight Sensor, управляемого через
указанный Corelight Fleet Manager.
--cache=<file>
Задаёт пользовательский файл для кэширования метаданных Corelight Sensor.
--debug
Включает отладочный вывод, показывающий HTTP-запросы и ответы.
--password
Указывает пароль для аутентификации.
--mfa
Указывает проверочный код 2FA для аутентификации с указанным
Corelight Fleet Manager. Используйте '-', чтобы запросить его у пользователя.
--ssl-ca-cert
Указывает файл с пользовательским SSL CA-сертификатом для
проверки подлинности устройства.
--ssl-no-verify-certificate
Предписывает клиенту принимать любой SSL-сертификат Corelight Sensor.
--ssl-no-verify-hostname
Предписывает клиенту принимать SSL-сертификат Corelight Sensor,
даже если он не соответствует его имени хоста.
--socket
Предписывает клиенту использовать unix domain socket для отправки запросов.
--user
Указывает имя пользователя для аутентификации.
--version
Отображает версию corelight-client и завершает работу.
--ignore-meta
Не отправлять информацию о метаданных в вызов API сенсора, если только она не указана в CLI.
.. _corelight-client-config:
corelight-client ищет файл конфигурации ~/.corelight-client.rc.
Файл должен состоять из строк вида <key>=<value>. Строки, начинающиеся
с #, игнорируются. corelight-client поддерживает следующие ключи:
device
Сетевой адрес устройства Corelight Sensor.
fleet
Сетевой адрес Corelight Fleet Manager.
uid
UID устройства Corelight Sensor, управляемого через указанный Corelight Fleet Manager.
user
Имя пользователя для аутентификации.
password
Пароль для аутентификации.
mfa
Проверочный код 2FA для аутентификации с Corelight
Fleet Manager. Используйте '-', чтобы запросить его у пользователя.
ssl-ca-cert
Файл с пользовательским SSL CA-сертификатом для проверки подлинности
устройства.
ssl-no-verify-certificate
Если установлено значение false, клиент будет принимать любой SSL-сертификат
Corelight Sensor.
ssl-no-verify-hostname
Если установлено значение false, клиент будет принимать SSL-сертификат
Corelight Sensor, даже если он не соответствует его имени хоста.
socket
Unix domain socket для отправки запросов.