InSpec CLI
Используйте InSpec CLI для выполнения тестов и аудита целей с использованием локальных, SSH, WinRM или Docker подключений.
архивирование
Архивирование профиля в формате tar.gz (по умолчанию) или zip
Синтаксис
Этот подкоманда имеет следующий синтаксис:
inspec archive PATH
Параметры
Этот подкоманда имеет дополнительные параметры:
-
--airgap,--no-airgapВозврат к использованию локальных архивов, если загрузка не удалась. -
--ignore-errors,--no-ignore-errorsИгнорирование предупреждений профиля. -
-o,--output=OUTPUTСохранение архива в указанном пути. -
--overwrite,--no-overwriteПерезапись существующего архива. -
--profiles-path=PROFILES_PATHПапка, содержащая ссылки на профили. -
--tar,--no-tarГенерирует архив в формате tar.gz. -
--vendor-cache=VENDOR_CACHEИспользование указанного пути для кэширования зависимостей. (по умолчанию: ~/.inspec/cache) -
--zip,--no-zipГенерирует архив в формате zip.
проверка
Проверка всех тестов в указанном пути
Синтаксис
Этот подкоманда имеет следующий синтаксис:
inspec check PATH
Параметры
Этот подкоманда имеет дополнительные параметры:
--format=FORMAT--profiles-path=PROFILES_PATHПапка, содержащая ссылки на профили.--vendor-cache=VENDOR_CACHEИспользование указанного пути для кэширования зависимостей. (по умолчанию: ~/.inspec/cache)
обнаружение
Обнаружение операционной системы цели
Синтаксис
Этот подкоманда имеет следующий синтаксис:
inspec detect
Параметры
Этот подкоманда имеет дополнительные параметры:
-b,--backend=BACKENDВыбор бэкенда: local, ssh, winrm, docker.--bastion-host=BASTION_HOSTУказывает бастионный хост, если применимо.--bastion-port=BASTION_PORTУказывает бастионный порт, если применимо.--bastion-user=BASTION_USERУказывает бастионного пользователя, если применимо.--config=CONFIGЧтение конфигурации из файла JSON (-читает из стандартного ввода).--enable-password=ENABLE_PASSWORDПароль для включения режима на устройствах Cisco IOS.--format=FORMAT--host=HOSTУказывает удаленный хост, который тестируется.--insecure,--no-insecureОтключение проверки SSL для выбранных целей.-i,--key-files=one two threeФайл ключа или сертификата для входа на удаленный сканер.--password=PASSWORDПароль для входа на удаленный сканер, если требуется.--path=PATHПуть к пользователю для подключения к цели (WinRM).-p,--port=NУказывает порт входа для удаленного сканирования.--proxy-command=PROXY_COMMANDУказывает команду для подключения к серверу.--self-signed,--no-self-signedРазрешить удаленные сканирования с самоподписанными сертификатами (WinRM).--shell,--no-shellВыполнять сканирования в подоболочке. Действует только в Unix.--shell-command=SHELL_COMMANDУказать конкретную оболочку для использования.--shell-options=SHELL_OPTIONSДополнительные параметры оболочки.--ssl,--no-sslИспользование SSL для шифрования транспортного уровня (WinRM).--sudo,--no-sudoВыполнять сканирования с правами sudo. Действует только в Unix и для не-root пользователя.--sudo-command=SUDO_COMMANDАльтернативная команда для sudo.--sudo-options=SUDO_OPTIONSДополнительные параметры sudo для удаленного сканирования.--sudo-password=SUDO_PASSWORDУкажите пароль sudo, если он необходим.-t,--target=TARGETПростой параметр для указания целей с использованием URI, например, ssh://user:pass@host:port--target-id=TARGET_IDУказать идентификатор, который будет включён в отчёты.--user=USERПользователь для входа на удаленный сканер.--winrm-basic-auth-only,--no-winrm-basic-auth-onlyИспользовать базовый аутентификацию, по умолчанию false (WinRM).--winrm-disable-sspi,--no-winrm-disable-sspiОтключить аутентификацию sspi, по умолчанию false (WinRM).--winrm-transport=WINRM_TRANSPORTУказать используемый транспорт, по умолчанию negotiate (WinRM).
env
Вывод конфигурации завершения для оболочки
Синтаксис
Этот подкоманда имеет следующий синтаксис:
inspec env
выполнение
Выполнение всех файлов тестов в указанных расположениях.
Загружает заданный(ые) профиль(и) и загружает их зависимости, если это необходимо. Затем подключается к цели и выполняет все контролы, содержащиеся в профилях. Один или несколько репортеров используются для генерации вывода.
exit codes:
0 normal exit, all tests passed
1 usage or general error
2 error in plugin system
3 fatal deprecation encountered
100 normal exit, at least one test failed
101 normal exit, at least one test skipped but none failed
172 chef license not accepted
Ниже приведены некоторые примеры использования exec с разными расположениями тестов:
автоматизация:
inspec compliance login
inspec exec compliance://username/linux-baseline
супермаркет:
inspec exec supermarket://username/linux-baseline
локальный профиль (выполняет все тесты в controls/):
inspec exec /path/to/profile
локальный отдельный тест (не позволяет вводить данные или использовать пользовательские ресурсы)
inspec exec /path/to/a_test.rb
git через ssh
inspec exec git@github.com:dev-sec/linux-baseline.git
git через https (.git суффикс обязателен):
inspec exec https://github.com/dev-sec/linux-baseline.git
приватный git через https (.git суффикс обязателен):
inspec exec https://api_token@github.com/dev-sec/linux-baseline.git
приватный git через https и кэшированные учётные данные (.git суффикс обязателен):
git config credential.helper cache
git ls-remote https://github.com/dev-sec/linux-baseline.git
inspec exec https://github.com/dev-sec/linux-baseline.git
веб-хостинг файлов (также поддерживает .zip):
inspec exec https://webserver/linux-baseline.tar.gz
веб-хостинг файлов с базовой аутентификацией (поддерживает .zip):
inspec exec https://username:password@webserver/linux-baseline.tar.gz
Синтаксис
Этот подкоманда имеет следующий синтаксис:
inspec exec LOCATIONS
Параметры
Этот подкоманда имеет дополнительные параметры:
-
--attrs=one two threeУстаревшее имя для –input-file - устарело. -
-b,--backend=BACKENDВыбор бэкенда: local, ssh, winrm, docker. -
--backend-cache,--no-backend-cacheРазрешить кэширование вывода команд бэкенда. (по умолчанию: true) -
--bastion-host=BASTION_HOSTУказывает бастионный хост, если применимо. -
--bastion-port=BASTION_PORTУказывает бастионный порт, если применимо. -
--bastion-user=BASTION_USERУказывает бастионного пользователя, если применимо. -
--config=CONFIGЧтение конфигурации из файла JSON (-читает из стандартного ввода). -
--controls=one two threeСписок имён контролей для выполнения или список регулярных выражений для сопоставления с именами контролей. Игнорировать все остальные тесты. -
--create-lockfile,--no-create-lockfileСоздать файл блокировки на основе этого выполнения (если он ещё не существует). -
--distinct-exit,--no-distinct-exitВыход с кодом 101, если какие-либо тесты не пройдены, и 100, если какие-либо пропущены (по умолчанию). Если отключено, выход 0 при пропусках и 1 при ошибках. -
--enable-password=ENABLE_PASSWORDПароль для включения режима на устройствах Cisco IOS. -
--host=HOSTУказывает удалённый хост, который тестируется. -
--input=name1=value1 name2=value2Указывает один или несколько вводов напрямую в командной строке, как –input NAME=VALUE. Принимает однострочные YAML и JSON структуры. -
--input-file=one two threeЗагрузить один или несколько файлов ввода, файл YAML со значениями для используемого профиля. -
--insecure,--no-insecureОтключение проверки SSL для выбранных целей. -
-i,--key-files=one two threeФайл ключа или сертификата для входа на удаленный сканер. -
--password=PASSWORDПароль для входа на удаленный сканер, если требуется. -
--path=PATHПуть к пользователю для подключения к цели (WinRM). -
-p,--port=NУказывает порт входа для удаленного сканирования. -
--profiles-path=PROFILES_PATHПапка, содержащая ссылки на профили. -
--proxy-command=PROXY_COMMANDУказывает команду для подключения к серверу. -
--reporter=one two:/output/file/pathВключить один или несколько репортеров вывода: cli, документация, html, прогресс, json, json-min, json-rspec, junit, yaml -
--reporter-backtrace-inclusion,--no-reporter-backtrace-inclusionВключить отслеживание стека ошибок в отчёте (по умолчанию: true) -
--reporter-message-truncation=REPORTER_MESSAGE_TRUNCATIONКоличество символов для обрезки сообщений об ошибках в отчёте (по умолчанию: без обрезки). -
--self-signed,--no-self-signedРазрешить удаленные сканирования с самоподписанными сертификатами (WinRM). -
--shell,--no-shellВыполнять сканирования в подоболочке. Действует только в Unix. -
--shell-command=SHELL_COMMANDУказать конкретную оболочку для использования. -
--shell-options=SHELL_OPTIONSДополнительные параметры оболочки. -
--show-progress,--no-show-progressПоказывать прогресс во время выполнения тестов. -
--silence-deprecations=all|GROUP GROUP...Заглушить предупреждения о устаревших функциях. См. install_dir/etc/deprecations.json для списка ГРУПП или используйте ‘all’. -
--ssl,--no-sslИспользовать SSL для шифрования транспортного уровня (WinRM). -
--sudo,--no-sudoВыполнять сканирования с правами sudo. Действует только в Unix и для не-root пользователя. -
--sudo-command=SUDO_COMMANDАльтернативная команда для sudo. -
--sudo-options=SUDO_OPTIONSДополнительные параметры sudo для удаленного сканирования. -
--sudo-password=SUDO_PASSWORDУкажите пароль sudo, если он необходим. -
-t,--target=TARGETПростой параметр для указания целей с использованием URI, например, ssh://user:pass@host:port -
--target-id=TARGET_IDУказать идентификатор, который будет включён в отчёты. -
--user=USERПользователь для входа на удаленный сканер. -
--vendor-cache=VENDOR_CACHEИспользование указанного пути для кэширования зависимостей. (по умолчанию: ~/.inspec/cache) -
--waiver-file=one two threeЗагрузка одного или нескольких файлов исключений. -
--winrm-basic-auth-only,--no-winrm-basic-auth-onlyИспользовать базовый аутентификацию, по умолчанию false (WinRM). -
--winrm-disable-sspi,--no-winrm-disable-sspiОтключить аутентификацию sspi, по умолчанию false (WinRM). -
--winrm-transport=WINRM_TRANSPORTУказать используемый транспорт, по умолчанию negotiate (WinRM).
справка
Описание доступных команд или одной конкретной команды
Синтаксис
Этот подкоманда имеет следующий синтаксис:
inspec help [COMMAND]
json
Чтение всех тестов в пути и генерация сводки в формате json
Синтаксис
Этот подкоманда имеет следующий синтаксис:
inspec json PATH
Параметры
Этот подкоманда имеет дополнительные параметры:
-
--controls=one two threeСписок элементов управления для включения. Игнорировать все остальные тесты. -
-o,--output=OUTPUTСохранить созданный профиль в указанный путь. -
--profiles-path=PROFILES_PATHПапка, содержащая профили-ссылки. -
--vendor-cache=VENDOR_CACHEИспользовать заданный путь для кэширования зависимостей. (по умолчанию: ~/.inspec/cache)
ничего
Не делает ничего.
Синтаксис
Данная подкоманда имеет следующий синтаксис:
inspec nothing
схема
Вывести JSON-схему.
Синтаксис
Данная подкоманда имеет следующий синтаксис:
inspec schema NAME
консоль
Открыть интерактивную отладочную консоль.
Синтаксис
Данная подкоманда имеет следующий синтаксис:
inspec shell
Параметры
Данная подкоманда имеет дополнительные параметры:
-
-b,--backend=BACKENDВыбор бэкенда: local, ssh, winrm, docker. -
--bastion-host=BASTION_HOSTУказывает бастионный хост (если применимо). -
--bastion-port=BASTION_PORTУказывает бастионный порт (если применимо). -
--bastion-user=BASTION_USERУказывает пользователя бастионного хоста (если применимо). -
-c,--command=COMMANDЕдинственная строка команды для выполнения вместо запуска консоли. -
--config=CONFIGСчитывать конфигурацию из JSON-файла (-считывает из стандартного ввода). -
--depends=one two threeПробельно-разделенный список локальных папок, содержащих профили, чьи библиотеки и ресурсы будут загружены в новую консоль. -
--distinct-exit,--no-distinct-exitВыход с кодом 100, если какие-либо тесты завершились неудачно, и 101, если какие-либо были пропущены, но ни один не завершился неудачно (по умолчанию). Если отключено, выход 0 при пропусках и 1 при ошибках. -
--enable-password=ENABLE_PASSWORDПароль для включения режима на устройствах Cisco IOS. -
--host=HOSTУкажите удалённый хост, который тестируется. -
--insecure,--no-insecureОтключить проверку SSL для выбранных целей. -
--inspect,--no-inspectИспользовать подробный/отладочный вывод для ресурсов. -
-i,--key-files=one two threeКлюч или сертификат для входа для удалённого сканирования. -
--password=PASSWORDПароль для входа для удалённого сканирования (если требуется). -
--path=PATHПуть к логину для подключения к цели (WinRM). -
-p,--port=NУкажите порт входа для удалённого сканирования. -
--proxy-command=PROXY_COMMANDУказывает команду для подключения к серверу. -
--reporter=one two:/output/file/pathВключить один или несколько репортёров вывода: cli, documentation, html, progress, json, json-min, json-rspec, junit -
--self-signed,--no-self-signedРазрешить удалённые сканирования с самоподписанными сертификатами (WinRM). -
--shell,--no-shellЗапускать сканирования в дочерней оболочке. Действует только в Unix. -
--shell-command=SHELL_COMMANDУкажите конкретную оболочку для использования. -
--shell-options=SHELL_OPTIONSДополнительные параметры оболочки. -
--ssl,--no-sslИспользовать SSL для шифрования транспортного уровня (WinRM). -
--sudo,--no-sudoЗапускать сканирования с sudo. Действует только в Unix и для пользователей, не являющихся root. -
--sudo-command=SUDO_COMMANDАльтернативная команда для sudo. -
--sudo-options=SUDO_OPTIONSДополнительные параметры sudo для удалённого сканирования. -
--sudo-password=SUDO_PASSWORDУкажите пароль sudo, если он требуется. -
-t,--target=TARGETПростой параметр для указания цели с использованием URI, например ssh://user:pass@host:port -
--target-id=TARGET_IDУказать ID, который будет включён в отчёты. -
--user=USERПользователь для входа при удалённом сканировании. -
--winrm-basic-auth-only,--no-winrm-basic-auth-onlyИспользовать базовый аутентификацию, по умолчанию false (WinRM). -
--winrm-disable-sspi,--no-winrm-disable-sspiОтключить аутентификацию sspi, по умолчанию false (WinRM). -
--winrm-transport=WINRM_TRANSPORTУкажите транспорт для использования, по умолчанию negotiate (WinRM).
магазин
Команды магазина.
Синтаксис
Данная подкоманда имеет следующий синтаксис:
inspec supermarket SUBCOMMAND ...
поставщик
Загрузить все зависимости и сгенерировать файл блокировки в директории vendor
Синтаксис
Данная подкоманда имеет следующий синтаксис:
inspec vendor PATH
Параметры
Данная подкоманда имеет дополнительные параметры:
-
--overwrite,--no-overwriteПерезаписать существующие зависимые компоненты и файл блокировки.
версия
Выводит версию этого инструмента.
Синтаксис
Данная подкоманда имеет следующий синтаксис:
inspec version
Параметры
Данная подкоманда имеет дополнительные параметры:
--format=FORMAT
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/cli/