Spec-Zone.ru › Chef 17

InSpec CLI

[править на GitHub]

Используйте 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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API