Интерфейс командной строки (CLI)¶
Установка¶
Утилита solidpoint-cli может быть установлена с помощью шагов, указанных ниже.
Важно
Все команды в инструкции запускаются пользователем с ролью «администратор».
-
Добавьте репозиторий. При добавлении необходимо ввести секретный токен для получения доступа.
-
Установите CLI, используя пакетный менеджер.
-
Если используется многопользовательский режим, аутентифицируйтесь, используя следующую команду. Для однопользовательского режима аутентификация не требуется.
Переменные окружения¶
Утилита solidpoint-cli взаимодействует с переменными окружения, представленными в таблице ниже. Для данных переменных не задано значение по умолчанию, значения задаются с помощью команды solidpoint-cli auth login.
| Переменная окружения | Описание |
|---|---|
SOLIDPOINT_BASE_URL |
URL-адрес серверной части, к которой необходимо подключиться. По умолчанию предлагается использовать https://cloud.solidpoint.net |
SOLIDPOINT_TOKEN |
Персональный токен доступа, который создаётся в панели управления. Служит для аутентификации |
Аутентификация¶
При вводе любой команды пользователем осуществляется проверка необходимости аутентификации.
- Если аутентификация не требуется, продолжается выполнение команды;
- Если аутентификация требуется, автоматически вызывается команда
loginв интерактивном режиме. После успешного прохождения аутентификации продолжается выполнение основной команды.
Пример¶
❯ ./build/solidpoint-cli user list
You are not logged in. Redirecting to login...
SolidPoint instance URL: > http://localhost:8085
Email: > admin@solidpoint.local
Password:
User (admin@solidpoint.local) was successfully logged in
Re-running command...
Users:
[
...
]
Использование¶
Утилита solidpoint-cli может использоваться следующим образом:
Доступны следующие команды:
| Команда | Описание |
|---|---|
auth |
Управление аутентификацией |
help |
Справка для любой команды |
scan |
Управление сканированиями |
scanner |
Управление сканерами |
status |
Текущий статус CLI |
target |
Управление целями |
user |
Управление пользователями |
Доступны следующие флаги:
-h,--help— справка для утилитыsolidpoint-cli.
Команда auth¶
Команда auth позволяет управлять аутентификацией. Она может использоваться следующим образом:
Доступны следующие команды:
| Команда | Описание |
|---|---|
login |
Осуществляет вход в систему |
logout |
Осуществляет выход из системы |
register |
Осуществляет регистрацию пользователя в системе |
Доступны следующие флаги:
-h,--help— справка для командыauth.
Команда login¶
Команда login осуществляет вход в систему.
Использование¶
Флаги¶
| Флаги | Тип | Описание |
|---|---|---|
-b, --base-url |
string | Адрес экземпляра сканера |
-e, --email |
string | Электронная почта пользователя |
-h, --help |
- | Справка для команды login |
-i, --interactive |
- | Интерактивный режим ввода |
-p, --password |
string | Пароль пользователя |
Примеры использования¶
-
Запуск в интерактивном режиме:
-
Запуск без интерактивного режима:
Команда logout¶
Команда logout осуществляет выход из системы.
Использование¶
Флаги¶
-h,--help— справка для командыlogout.
Команда register¶
Команда register осуществляет регистрацию пользователя в системе.
Использование¶
Флаги¶
| Флаги | Тип | Описание |
|---|---|---|
-c, --company |
string | Название компании пользователя |
-e, --email |
string | Электронная почта пользователя |
-h, --help |
- | Справка для команды register |
-i, --interactive |
- | Интерактивный режим ввода |
-n, --name string |
string | Имя пользователя |
-o, --occupation string |
string | Должность пользователя |
-p, --password |
string | Пароль пользователя |
-t, --tenant string |
string | Название организации |
Примеры использования¶
-
Запуск в интерактивном режиме:
-
Запуск без интерактивного режима:
Команда help¶
Команда help предоставляет справку для любой команды приложения. Она может использоваться следующим образом:
Доступны следующие флаги:
-h,--help— справка для командыhelp.
Команда scan¶
Команда scan позволяет управлять сканированиями. Она может использоваться следующим образом:
Доступны следующие команды:
| Команда | Описание |
|---|---|
cancel |
Завершает сканирование |
new |
Запускает новое сканирование |
new-ci |
Запускает новое сканирование для непрерывной интеграции |
show-app-auth |
Предоставляет информацию об аутентификации сканируемого приложения |
status |
Отображает статус сканирования |
Доступны следующие флаги:
-h,--help— справка для командыscan.
Команда cancel¶
Команда cancel завершает сканирование.
Использование¶
Флаги¶
-h,--helpсправка для командыcancel
Команда new¶
Команда new запускает новое сканирование.
Использование¶
Флаги¶
| Флаги | Тип | Описание |
|---|---|---|
-h, --help |
- | Справка для команды new |
-m, --module |
strings | Модуль сканирования |
-i, --targetID |
uint32 | Идентификатор цели |
-u, --url |
string | URL-адрес сканируемого приложения |
Примеры использования¶
-
Запуск сканирования с использованием флага
-i:
-
Запуск сканирования с использованием флага
-u:
-
Запуск сканирования с указанными модулями:
Команда new-ci¶
Команда new-ci запускает новое сканирование для непрерывной интеграции. Транслирует статус сканирования в реальном времени. Команда завершается с ненулевым кодом возврата, если был найден хотя бы один недостаток.
Использование¶
Флаги¶
| Флаги | Тип | Описание |
|---|---|---|
-h, --help |
- | Справка для команды new-ci |
-m, --module |
strings | Модуль сканирования |
-s, --severity |
string | Уровень критичности уязвимости, при выявлении которого сканирование будет завершено с ошибкой. Допустимые значения: info, low, medium, high, critical |
-i, --targetID |
uint32 | Идентификатор цели |
-u, --url |
string | URL-адрес сканируемого приложения |
Примеры использования¶
-
Запуск сканирования с использованием флага
-i:
-
Запуск сканирования с использованием флага
-u:
-
Запуск сканирования с указанием допустимого уровня критичности уязвимости:
-
Запуск сканирования для непрерывной интеграции с указанными модулями:
Команда show-app-auth¶
Команда show-app-auth предоставляет информацию об аутентификации сканируемого приложения.
Использование¶
Флаги¶
-h,--help— справка для командыshow-app-auth
Примеры использования¶
-
Запрос информации об аутентификации (
scan_id= 1):
Команда status¶
Команда status отображает статус сканирования.
Использование¶
Флаги¶
-d,--detailed— детальное описание уязвимостей-h,--help— справка для командыstatus
Примеры использования¶
-
Запрос статуса сканирования (
scan_id= 1):
Команда scanner¶
Команда scanner позволяет управлять сканерами. Она может использоваться следующим образом:
Доступны следующие команды:
| Команда | Описание |
|---|---|
new |
Создаёт новый сканер |
info |
Выводит информацию о сканере (его параметрах и модулях) |
enable |
Включает сканер |
disable |
Выключает сканер |
Доступны следующие флаги:
-h,--help— справка для командыscanner.
Команда new¶
Команда new позволяет создать новый сканер.
Использование¶
Флаги¶
| Флаг | Тип | Описание |
|---|---|---|
-a, --address |
string | Позволяет указать адрес сканера |
-n, --name |
string | Позволяет указать имя сканера |
-i, --interactive |
- | Позволяет использовать команду в интерактивном режиме |
-h, --help |
- | Справка для команды new |
Команда info¶
Команда info позволяет получить информацию о сканере (его параметрах и модулях).
Использование¶
Флаги¶
-h,--help— справка для командыinfo.
Команда enable¶
Команда enable позволяет включить сканер.
Использование¶
Флаги¶
-h,--help— справка для командыenable.
Команда disable¶
Команда disable позволяет выключить сканер.
Использование¶
Флаги¶
-h,--help— справка для командыdisable.
Команда status¶
Команда status отображает текущий статус CLI. Она может использоваться следующим образом:
Доступны следующие флаги:
-h,--help— справка для командыscan.
Команда target¶
Команда target позволяет управлять целями. Она может использоваться следующим образом:
Доступны следующие команды:
| Команда | Описание |
|---|---|
clear-app-auth |
Удаляет данные для аутентификации целевого приложения |
new |
Создает новую цель |
show-app-auth |
Предоставляет информацию об аутентификации целевого приложения |
update |
Обновляет цель или цели |
Доступны следующие флаги:
-h,--help— справка для командыtarget.
Команда clear-app-auth¶
Команда clear-app-auth удаляет данные для аутентификации целевого приложения
Использование¶
Флаги¶
-h,--help— справка для командыclear-app-auth.
Примеры использования¶
-
Удаление данных для аутентификации целевого приложения с
target_id= 1 :
Команда new¶
Команда new создает новую цель.
Использование¶
Флаги¶
| Флаги | Тип | Описание |
|---|---|---|
-d, --description |
string | Описание цели |
-h, --help |
- | Справка для команды new |
-i, --interactive |
- | Интерактивный режим ввода |
-n, --name |
string | Название цели |
-u, --url |
string | URL-адрес цели |
Примеры использования¶
-
Запуск в интерактивном режиме:
-
Запуск без интерактивного режима:
Команда show-app-auth¶
Команда show-app-auth предоставляет информацию об аутентификации целевого приложения.
Использование¶
Флаги¶
-h,--help— справка для командыshow-app-auth.
Примеры использования¶
-
Получение информации об аутентификации целевого приложения с
target_id= 1
Команда update¶
Команда update обновляет цель или цели.
Использование¶
Команды¶
| Команда | Описание |
|---|---|
app-auth |
Обновляет аутентификационные данные целевого приложения |
auth-checker |
Обновляет конфигурацию механизма проверки аутентификации |
browser-auth-refresher |
Обновляет конфигурацию механизма обновления аутентификационных данных с помощью браузерного сценария |
regexp-auth-refresher |
Обновляет конфигурацию механизма обновления аутентификационных данных с помощью HTTP-запроса |
Команда app-auth¶
Команда app-auth обновляет аутентификационные данные целевого приложения.
Использование¶
Используйте следующие команды и соответствующие флаги, чтобы выбрать нужный тип аутентификации и параметры для команды app-auth:
| Команда | Описание | Флаги |
|---|---|---|
cookies |
Обновляет аутентификационные данные с использованием cookies целевого приложения. Количество имен хостов и cookie должно быть одинаковым, пустое имя хоста означает, что cookie будет содержать имя целевого хоста. Если необходимо передать путь, укажите его с параметром hostname: test.test + /test = test.test/test. Эта команда по умолчанию перезаписывает все cookie для проверки подлинности целевого приложения. Если необходимо добавить cookie, используйте флаг -a (--add). Флаг -r (--rewrite) предназначен для перезаписи всех данных проверки подлинности приложения только с помощью cookie |
-a, --add — добавить -v, --cookie string — cookie -h, --help — справка для headers -n, --hostname string — имя хоста -r, --rewrite — перезаписать |
headers |
Обновляет аутентификационные данные с использованием заголовков. Количество узлов и заголовков должно быть равным, пустой узел означает, что в заголовке будет указан узел хоста. Если необходимо передать путь, укажите его с параметром host: test.test + /test = test.test/test ИЛИ test.test:5000 + /test = test.test:5000/test. Эта команда по умолчанию перезаписывает все заголовки проверки подлинности целевого приложения. Если необходимо добавить заголовки, используйте флаг -a (--add). Флаг -r (--rewrite) предназначен для перезаписи всех данных проверки подлинности приложения только заголовками |
-a, --add — добавить -v, --header string — заголовок -h, --help — справка для headers -n, --hostname string — имя хоста -r, --rewrite — перезаписать |
http-basic-auth |
Обновляет аутентификационные данные с использованием базовой HTTP-аутентификации. Если необходимо добавить базовую аутентификацию по протоколу HTTP, используйте флаг -a (--add). Флаг -r (--rewrite) предназначен для перезаписи всех данных аутентификации приложений только с использованием базовой аутентификации по протоколу HTTP |
-a, --add — добавить -h, --help — справка для http-basic-auth -r, --rewrite — перезаписать |
tls |
Эта команда по умолчанию перезаписывает аутентификацию всех целевых приложений по протоколу TLS. Если необходимо добавить аутентификацию приложений по протоколу TLS, используйте флаг -a (--add). Флаг -r (--rewrite) предназначен для перезаписи всех данных аутентификации приложений, используя только аутентификацию приложений по протоколу TLS |
-a, --add — добавить; -c, --certificate string — файл сертификата; -h, --help — справка для tls; -k, --key string — файл ключа -r, --rewrite — перезаписать |
Флаги¶
-h,--help— справка для командыapp-auth.
Примеры использования¶
-
Переписать или добавить cookie для аутентификации целевого приложения:
-
Добавить cookie для аутентификации целевого приложения:
-
Переписать или добавить cookie для аутентификации целевого приложения с указанием хоста:
-
Переписать или добавить cookie для аутентификации целевого приложения с указанием хоста и пути:
-
Переписать или добавить cookie для аутентификации целевого приложения с указанием нескольких хостов и путей:
-
Переписать данные аутентификации целевого приложения только с помощью cookie:
-
Переписать или добавить заголовки проверки подлинности целевого приложения:
-
Добавить заголовки проверки подлинности целевого приложения:
-
Добавить заголовки проверки подлинности целевого приложения с помощью host:
-
Добавить заголовки проверки подлинности целевого приложения с указанием узла и пути:
-
Добавить заголовки проверки подлинности целевого приложения с указанием нескольких узлов и путей:
-
Переписать данные проверки подлинности целевого приложения, используя только заголовки:
-
Переписать или добавить базовую HTTP-аутентификацию целевого приложения:
-
Добавить базовую HTTP-аутентификацию целевого приложения:
-
Переписать данные проверки подлинности целевого приложения, используя только базовую HTTP-аутентификацию:
-
Переписать или добавить TLS-аутентификацию целевого приложения:
-
Добавить TLS-аутентификацию целевого приложения:
-
Переписать данные проверки подлинности целевого приложения, используя только TLS:
Команда auth-checker¶
Команда auth-checker обновляет конфигурацию механизма проверки аутентификации.
Использование¶
Флаги¶
| Флаги | Тип | Описание |
|---|---|---|
-c, --config |
string | Конфигурация в формате JSON |
-e, --enabled |
boolean | Включает механизм проверки аутентификации |
-f, --file |
string | Путь к файлу конфигурации |
-h, --help |
- | Справка для команды auth-checker |
-r, --rewrite |
string | Перезаписывает данные конфигурации, игнорируя любые существующие значения, или полностью удаляет их |
Примеры использования¶
-
Обновить конфигурацию механизма проверки аутентификации с помощью объекта в формате JSON:
-
Обновить конфигурацию механизма проверки аутентификации с помощью файла в формате JSON:
-
Включить проверку аутентификации:
-
Отключить проверку аутентификации:
-
Обновить конфигурацию механизма проверки аутентификации и включить проверку аутентификации:
-
Удалить конфигурацию механизма проверки аутентификации:
Команда browser-auth-refresher¶
Обновляет конфигурацию механизма обновления аутентификационных данных с помощью браузерного сценария.
Использование¶
Флаги¶
| Флаги | Тип | Описание |
|---|---|---|
-c, --config |
string | Конфигурация в формате JSON |
-e, --enabled |
boolean | Включает механизм обновления аутентификационных данных с помощью браузерного сценария |
-f, --file |
string | Путь к файлу конфигурации |
-h, --help |
- | Справка для команды browser-auth-refresher |
-r, --rewrite |
string | Перезаписывает данные конфигурации, игнорируя любые существующие значения, или полностью удаляет их |
Примеры использования¶
-
Обновить конфигурацию механизма обновления аутентификационных данных с помощью браузерного сценария, используя объект в формате JSON:
-
Обновить конфигурацию механизма обновления аутентификационных данных с помощью браузерного сценария, используя файл в формате JSON:
-
Включить обновление аутентификации:
-
Отключить обновление аутентификации:
-
Обновить конфигурацию механизма обновления аутентификационных данных с помощью браузерного сценария и включить обновление аутентификации:
-
Удалить конфигурацию механизма обновления аутентификационных данных с помощью браузерного сценария:
Команда regexp-auth-refresher¶
Обновляет конфигурацию механизма обновления аутентификационных данных с помощью HTTP-запроса.
Использование¶
Флаги¶
| Флаги | Тип | Описание |
|---|---|---|
-c, --config |
string | Конфигурация в формате JSON |
-e, --enabled |
boolean | Включает механизм обновления аутентификационных данных с помощью HTTP-запроса |
-f, --file |
string | Путь к файлу конфигурации |
-h, --help |
- | Справка для команды regexp-auth-refresher |
-r, --rewrite |
string | Перезаписывает данные конфигурации, игнорируя любые существующие значения, или полностью удаляет их |
Примеры использования¶
-
Обновить конфигурацию механизма обновления аутентификационных данных с помощью HTTP-запроса, используя объект в формате JSON:
-
Обновить конфигурацию механизма обновления аутентификационных данных с помощью HTTP-запроса, используя файл в формате JSON:
-
Включить обновление аутентификации:
-
Отключить обновление аутентификации:
-
Обновить конфигурацию механизма обновления аутентификационных данных с помощью HTTP-запроса и включить обновление аутентификации:
-
Удалить конфигурацию механизма обновления аутентификационных данных с помощью HTTP-запроса:
Команда user¶
Команда user позволяет управлять пользователями. Она может использоваться следующим образом:
Доступны следующие команды:
| Команда | Описание |
|---|---|
activate |
Активирует одного пользователя |
activate-all |
Активирует всех пользователей |
list |
Выводит список пользователей |
Доступны следующие флаги:
-h,--help— справка для командыuser.
Команда activate¶
Использование¶
Флаги¶
| Флаги | Тип | Описание |
|---|---|---|
-h, --help |
- | Справка для команды activate |
-i, --interactive |
- | Интерактивный ввод |
-r, --role |
string | Задаёт пользователю роль из списка: user (по умолчанию), admin, superAdmin |
-t, --tenant |
string | ID или имя тенанта (может быть пустым для тенанта по умолчанию) |
-u, --user |
string | ID или email пользователя |
Примеры использования¶
-
Интерактивный ввод:
-
Активация пользователя по ID:
-
Активация пользователя по email:
-
Активация пользователя по ID в определенном тенанте с определенной ролью (тенант —
test, роль —admin):
-
Активация пользователя по email в определенном тенанте с определенной ролью (тенант —
test, роль —admin):
Команда activate-all¶
Все пользователи во всех тенантах будут активированы, если тенант не указан или пуст. Если у тенанта по умолчанию нет имени и необходимо активировать в нём всех пользователей, то следует указать идентификатор.
Все пользователи в конкретном тенанте будут активированы, если тенант указан или не пуст.
Использование¶
Флаги¶
| Флаги | Описание |
|---|---|
-h, --help |
Справка для команды activate-all |
-i, --interactive |
Интерактивный ввод |
-r, --role string |
Задаёт пользователям роль из списка: user (по умолчанию), admin, superAdmin |
-t, --tenant string |
ID или имя тенанта (может быть пустым для тенанта по умолчанию) |
Примеры использования¶
-
Интерактивный ввод:
-
Активация всех пользователей во всех тенантах:
-
Активация всех пользователей в тенанте по умолчанию:
-
Активация всех пользователей в определенном тенанте (тенант —
test):
-
Активация всех пользователей в определенном тенанте с определенной ролью (тенант —
test, роль —user):
Команда list¶
Использование¶
Флаги¶
| Флаги | Описание |
|---|---|
-h, --help |
Справка для команды list |
-r, --role string |
Пользовательская роль из списка: user, admin, superAdmin, unknown |
-t, --tenant string |
ID или имя тенанта |
Примеры использования¶
-
Список всех пользователей во всех тенантах:
-
Список всех пользователей с опреленной ролью (роль —
unknown):
-
Список всех пользователей в определенном тенанте (тенант —
test):
-
Список всех пользователей в определенном тенанте с определенной ролью (тенант —
test, роль —unknown):