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.
автоматизировать
Взаимодействие с Chef Automate.
Синтаксис
Эта подкоманда имеет следующий синтаксис:
inspec automate SUBCOMMAND
проверить
Проверить метаданные в файле inspec.yml, проверить, что блоки управления содержат правильные поля (заголовок, описание, влияние), что все проверки имеют видимые тесты и что проверки не используют устаревший код InSpec DSL.
Синтаксис
Эта подкоманда имеет следующий синтаксис:
inspec check PATH
Параметры
Эта подкоманда имеет следующие дополнительные параметры:
-
--format=FORMATФормат вывода. Допустимые значения:jsonиdoc. Значение по умолчанию:doc. -
--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 (-считывает из стандартного ввода). -
--docker-urlУказывает путь к конечной точке API Docker (Docker). -
--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). -
--winrm-shell-type=WINRM_SHELL_TYPEУкажите тип оболочки для использования (powershell,elevated или cmd), по умолчанию powershell (WinRM).
env
Вывод конфигурации оболочки для завершения.
Синтаксис
Эта подкоманда имеет следующий синтаксис:
inspec env
exec
Выполнение всех файлов тестов в указанных местах.
Подкоманда загружает заданные профили, при необходимости загружает их зависимости, затем подключается к целевому объекту и выполняет все проверки, содержащиеся в профилях. Для генерации вывода используются один или несколько отчётчиков.
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 с различными расположениями тестов:
Chef Automate:
inspec automate login
inspec exec compliance://username/linux-baseline
inspec compliance — это обратная совместимая алиас для inspec automate и работает аналогичным образом:
inspec compliance login
Chef Supermarket:
inspec exec supermarket://username/linux-baseline
inspec exec supermarket://username/linux-baseline --supermarket_url="https://privatesupermarket.example.com"
Локальный профиль (выполняет все тесты в 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Указывает бастион-пользователя, если применимо.--command-timeout=SECONDSМаксимальное время в секундах для выполнения команды.--config=CONFIGСчитать конфигурацию из файла JSON (-считывает из стандартного ввода).--controls=one two threeСписок имен контролей для запуска или список /regexes/ для соответствия именам контролей. Игнорировать все остальные тесты.--create-lockfile,--no-create-lockfileЗаписать файл блокировки, основанный на этом выполнении (если он еще не существует).--distinct-exit,--no-distinct-exitВыход с кодом 101, если какие-либо тесты завершились ошибкой, и 100, если какие-либо были пропущены (по умолчанию). Если отключено, выход 0 при пропусках и 1 при ошибках.--docker-urlПредоставляет путь к конечной точке API Docker (Docker). По умолчанию unix:///var/run/docker.sock на системах Unix и tcp://localhost:2375 на Windows.--enable-password=ENABLE_PASSWORDПароль для включения режима на устройствах Cisco IOS.--filter-empty-profiles,--no-filter-empty-profilesФильтр пустых профилей (профилей без контролей) из отчета.--filter-waived-controlsНе выполнять отмененные контроли в InSpec вообще. Должно использоваться с –waiver-file. Игнорируетrunзначение файла отмены.--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-include-sourceВключить весь исходный код контролей в отчете CLI.--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 для списка GROUP или используйте ‘all’.--ssh-config-file=one two threeСписок путей к файлу конфигурации SSH, например:~/.ssh/configили/etc/ssh/ssh_config.--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, который будет включен в отчеты.--tags=one two threeСписок тегов или список регулярных выражений, которые соответствуют тегам.execбудут выполняться контроли, связанные с указанными или соответствующими тегами.--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).
habitat
Создать пакет Chef Habitat.
Синтаксис
Эта подкоманда имеет следующий синтаксис:
inspec habitat SUBCOMMAND
help
Описать доступные команды или одну конкретную команду.
Синтаксис
Эта подкоманда имеет следующий синтаксис:
inspec help [COMMAND]
init
Создать шаблон нового проекта.
Синтаксис
Эта подкоманда имеет следующий синтаксис:
inspec init TEMPLATE
json
Прочитать все тесты в пути и сгенерировать сводку в формате json.
Синтаксис
Эта подкоманда имеет следующий синтаксис:
inspec json PATH
Параметры
Эта подкоманда имеет следующие дополнительные параметры:
--controls=one two threeСписок контролей для включения. Игнорировать все остальные тесты.-o,--output=OUTPUTСохранить созданный профиль в путь.--profiles-path=PROFILES_PATHПапка, содержащая справочные профили.--tags=one two threeСписок тегов, которые ссылаются на определенные контролы. Другие контролы игнорируются.--vendor-cache=VENDOR_CACHEИспользовать указанный путь для кэширования зависимостей. (по умолчанию:~/.inspec/cache).
nothing
Не делает ничего.
Синтаксис
Эта подкоманда имеет следующий синтаксис:
inspec nothing
plugin
Установить и управлять плагинами Chef InSpec.
Синтаксис
Эта подкоманда имеет следующий синтаксис:
inspec plugin SUBCOMMAND
схема
Вывести схему json.
Синтаксис
Эта подкоманда имеет следующий синтаксис:
inspec schema NAME
shell
Открыть интерактивную оболочку отладки.
Синтаксис
Эта подкоманда имеет следующий синтаксис:
inspec shell
Параметры
Эта подкоманда имеет следующие дополнительные параметры:
-b,--backend=BACKENDВыберите бэкенд: local, ssh, winrm, docker.--bastion-host=BASTION_HOSTУказывает бастион-хост, если применимо.--bastion-port=BASTION_PORTУказывает бастион-порт, если применимо.--bastion-user=BASTION_USERУказывает бастион-пользователя, если применимо.-c,--command=COMMANDОдиночная строка команды для выполнения вместо запуска оболочки.--command-timeout=SECONDSМаксимальное время в секундах для выполнения команды.--config=CONFIGСчитать конфигурацию из файла JSON (-считывает из стандартного ввода).--depends=one two threeСписок локальных папок, содержащих профили, библиотеки и ресурсы которых будут загружены в новую оболочку.--distinct-exit,--no-distinct-exitВыход с кодом 100, если какие-либо тесты завершились ошибкой, и 101, если какие-либо были пропущены, но без ошибок (по умолчанию). Если отключено, выход 0 при пропусках и 1 при ошибках.--docker-urlПредоставляет путь к конечной точке API Docker (Docker). По умолчанию unix:///var/run/docker.sock на системах Unix и tcp://localhost:2375 на Windows.--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, документация, html, прогресс, json, json-min, json-rspec, junit.--self-signed,--no-self-signedРазрешить удаленные сканирования с самоподписанными сертификатами (WinRM).--shell,--no-shellЗапустить сканирование в дочернем процессе. Включается только на Unix.--shell-command=SHELL_COMMANDУкажите конкретную оболочку для использования.--shell-options=SHELL_OPTIONSДополнительные параметры оболочки.--ssh-config-file=one two threeСписок путей к файлу конфигурации SSH, например:~/.ssh/configили/etc/ssh/ssh_config.--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).
supermarket
Команды для супермаркета.
Синтаксис
Эта подкоманда имеет следующий синтаксис:
inspec supermarket SUBCOMMAND ...
Параметры
Эта подкоманда имеет дополнительные параметры:
-
--supermarket_urlУказать URL частного супермаркета Chef.
vendor
Загрузить все зависимости и сгенерировать файл блокировки в каталоге vendor.
Синтаксис
Эта подкоманда имеет следующий синтаксис:
inspec vendor PATH
Параметры
Эта подкоманда имеет дополнительные параметры:
-
--overwrite,--no-overwriteПерезаписать существующие зависимые зависимости и файл блокировки.
version
Выводит версию этого инструмента.
Синтаксис
Эта подкоманда имеет следующий синтаксис:
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/