vRealize Automation SaltStack SecOps представляет собой дополнительный модуль для SaltStack Config, который содержит две библиотеки безопасности. Обе библиотеки содержимого регулярно обновляются по мере изменения стандартов обеспечения безопасности. Для содержимого можно задать режим автоматической загрузки (или приема) по мере внесения изменений в стандарты обеспечения безопасности, что рекомендуется для большинства систем информации по стандартам.

В рамках SaltStack SecOps предоставляется содержимое следующего типа.

  • Соответствие нормативным требованиям. Автоматизированное обнаружение соответствия требованиям и устранение уязвимостей для инфраструктуры. Библиотека содержимого, связанного с обеспечением соответствия требованиям, содержит данные по обеспечению безопасности и соответствия стандартам, основанные на передовых отраслевых практиках, например CIS.
  • Уязвимость. Обеспечивает управление уязвимостями во всех системах в среде. Библиотека содержимого в данном компоненте содержит информационные сообщения, основанные на последних материалах системы CVE (Common Vulnerabilities and Exposures).

Кроме того, библиотека позволяет загрузить содержимое вручную или получать доступ к содержимому из узла RaaS через прокси-сервер HTTP(s). Прием вручную используется для физически изолированных систем, в то время как загрузка через прокси-сервер позволяет предотвратить загрузку содержимого непосредственно из Интернета. Загрузка через прокси-сервер также обеспечивает более точный контроль и видимость загрузки (что загружается и где).

Перед началом работы

Настройка SaltStack SecOps является одной из операций, которые необходимо выполнить в определенном порядке по завершении установки. Выполните один из сценариев установки, а затем ознакомьтесь со следующими процедурами, выполняемыми после установки.

Установка библиотек Python 3 rpm

SaltStack SecOps использует библиотеки Python 3 rpm для надежного сравнения версий пакетов. Этим программам требуется повышенный уровень точности, обеспечиваемый данными библиотеками, чтобы определять соответствие версии нормативным требованиям или оценивать уязвимости.

В настоящее время всем служебным серверам, на которых используется Redhat или CentOS 7, могут требоваться библиотеки Python 3 rpm для обеспечения точного соответствия требованиям или для оценки уязвимостей. Если планируется выполнять проверочные оценки на служебных серверах, на которых используются эти версии Redhat или CentOS, на этих компьютерах необходимо вручную установить библиотеку Python 3 rpm.

Примечание:

Имеются альтернативные обходные пути. Если вам требуется альтернативный обходной путь, обратитесь в службу поддержки.

Чтобы установить библиотеку Python 3 rpm на главном сервере Salt, где работает подключаемый модуль Master, выполните следующие действия.

  1. Установите репозиторий EPEL, используя следующую команду.
    yum install -y epel-release
  2. Установите библиотеку Python 3 rpm.
    yum install -y python3-rpm

Автоматический прием содержимого для систем информации по стандартам

Для физически неизолированных систем RaaS содержимое загружается и принимается на периодической основе в соответствии с настройками в файле конфигурации. По умолчанию автоматический прием содержимого уже настроен в SaltStack Config, и никакие дальнейшие действия не требуются.

Если система SaltStack Config установлена вручную, выполните следующие действия для настройки автоматического приема содержимого SaltStack SecOps.

  1. Добавьте следующие данные в файл конфигурации службы RaaS (/etc/raas/raas) в разделе sec и по мере необходимости внесите в них изменения.
    sec:
      stats_snapshot_interval: 3600
      username: secops
      content_url: https://enterprise.saltstack.com/secops_downloads
      ingest_saltstack_override: true
      ingest_custom_override: true
      locke_dir: locke
      post_ingest_cleanup: true
      download_enabled: true
      download_frequency: 86400
      compile_stats_interval: 10
      archive_interval: 300
      old_policy_file_lifespan: 2
      delete_old_policy_files_interval: 86400
      ingest_on_boot: true
      content_lock_timeout: 60
      content_lock_block_timeout: 120
  2. Сохраните файл.
  3. Перезапустите службу RaaS.
    systemctl restart raas

    После перезапуска службы начнется загрузка содержимого SaltStack SecOps. Это может занять до пяти минут в зависимости от качества интернет-соединения.

Прием содержимого через прокси-сервер HTTP(s)

Для приема через прокси-сервер необходимо создать переопределение на службу RaaS, а затем добавить новые переменные среды для httpproxy и httpsproxy.

Чтобы настроить использование прокси-сервера HTTPS на узле RaaS, выполните следующие действия.

  1. Выполните предыдущие шаги, чтобы включить автоматический прием.
  2. На главном сервере в командной строке отредактируйте службу RaaS.
    systemctl edit raas
  3. Добавьте следующие строки в сгенерированный файл.
    [Service]
    Environment="http_proxy=http://<hostname>:234"
    Environment="https_proxy=https://<hostname>:234"
    Environment="HTTP_PROXY=http://<hostname>:234"
    Environment="HTTPS_PROXY=http://<hostname>:234"
  4. Если для прокси-сервера требуется проверка подлинности по паролю, это можно настроить в переменных среды прокси-сервера. Например:
    Environment="HTTP_PROXY=http://USER:PASSWORD@<hostname>:234"
  5. Если прокси-сервер использует внутренний центр сертификации, может также потребоваться настроить переменную среды REQUESTS_CA_BUNDLE и убедиться, что прокси-сервер может ее использовать. Например:
    Environment="REQUESTS_CA_BUNDLE=/etc/pki/tls/certs/ca-bundle.crt"
  6. Перезапустите службу RaaS.
    systemctl restart raas

После перезапуска службы начнется загрузка содержимого. Это может занять до 20 минут.

Прием содержимого вручную для SaltStack SecOps Compliance

Если среда физически изолирована, то есть она не может подключиться к внешнему сайту для загрузки обновлений, содержимое SaltStack SecOps Compliance необходимо обновить вручную. Для этого нужно загрузить tar-архив с веб-сайта Customer Connect и передать его на свой узел RaaS.

Кроме того, если система физически изолирована, установите для параметра конфигурации загрузки в файле конфигурации RaaS значение False:

sec:
  download_enabled: False

Файл конфигурации RaaS находится в папке /etc/raas/raas. После применения этих параметров конфигурации службу RaaS, возможно, будет нужно перезапустить.

systemctl restart raas

Чтобы принять tar-архив SaltStack SecOps Compliance вручную, выполните следующее:

  1. Загрузите содержимое SaltStack SecOps Compliance.
  2. Войдите в узел RaaS.
  3. Скопируйте tar-архив содержимого, связанного с соответствием нормативным требованиям, на узел RaaS в папке tmp.

    Это содержимое можно отправить по электронной почте или любым другим способом.

  4. Примите содержимое tar-архива.
    su - raas -c "raas ingest /path/to/locke.tar.gz.e"

    Возвращается следующий результат.

    Extracting: /tmp/locke.tar.gz -> /tmp/extracted-1551290468.5497127
    
    Cleaning up: /tmp/extracted-1551290468.5497127
    
    Results:
    
    {'errors': [], 'success': True}

Прием содержимого вручную для SaltStack SecOps Vulnerability

Если среда физически изолирована, то есть она не может подключиться к внешнему сайту для загрузки обновлений, содержимое SaltStack SecOps Vulnerability необходимо обновить вручную. Для этого нужно загрузить tar-архив с веб-сайта Customer Connect и передать его на свой узел RaaS.

Кроме того, если система физически изолирована, установите для параметра конфигурации загрузки в файле конфигурации RaaS значение False:

sec:
  download_enabled: False

Файл конфигурации RaaS находится в папке /etc/raas/raas. После применения этих параметров конфигурации службу RaaS, возможно, будет нужно перезапустить.

systemctl restart raas

Чтобы принять tar-архив SaltStack SecOps Vulnerability вручную, выполните следующее:

  1. Загрузите содержимое SaltStack SecOps Vulnerability.
  2. Войдите в узел RaaS.
  3. Скопируйте tar-архив содержимого, связанного с уязвимостями, на узел RaaS в папке tmp.

    Это содержимое можно отправить по электронной почте или любым другим способом.

  4. Примите содержимое tar-архива. Замените имя tar-архива в этой команде точным именем файла tar-архива:
    su - raas -c "raas vman_ingest /tmp/vman_date_example123.tar.gz.e"

    Возвращается следующий результат.

    'adv': {'error': 0, 'success': 60334},
      'adv_cve_xref': {'error': 0, 'success': 243781},
      'cve': {'error': 0, 'success': 162251},
      'pkgfile': {'error': 0, 'success': 42},
      'py': {'error': 0, 'success': 7},
      'sls': {'error': 0, 'success': 3}

Устранение неполадок при приеме вручную

При попытке выполнения команд приема вручную или для содержимого SaltStack SecOps Compliance или SaltStack SecOps Vulnerability может появиться сообщение об ошибке, подобное этому:

/home/centos/locke_date_example123.tar.gz.e not found or not readable

Иногда это сообщение об ошибке появляется, если tar-архив не находится в папке tmp. Для устранения этой проблемы поместите tar-архив в папку tmp.

Настройка интеграции Splunk

SaltStack Config интегрирует библиотеку уязвимостей с платформой Splunk для оптимизации и защиты цифровой инфраструктуры с помощью дополнительного модуля SaltStack Config для Splunk Enterprise. Этот дополнительный модуль доступен в Splunkbase. Для него требуется версия SaltStack Config 6.3 или выше.

Дополнительный модуль SaltStack Config для Splunk использует конечную точку показателей, совместимую с Prometheus, которая сообщает о более чем 25 уникальных показателях SaltStack Config. Эти показатели позволяют определить уровень работоспособности инфраструктуры. Доступ к ним через Splunk делает возможным мониторинг выхода из строя благодаря выявлению аномального функционирования и прочих ситуаций. Это также позволяет выполнять автоматические действия на основании конкретного события Splunk с помощью SaltStack Config.

Процедуру установки и настройки дополнительного модуля см. в документации по дополнительным модулям в базе знаний VMware.

Дополнительные сведения о конечной точке показателей SaltStack Config см. в документации по продукту для SaltStack SecOps.

Параметры конфигурации

В следующей таблице описаны параметры конфигурации, доступные для содержимого, обеспечивающего соответствие нормативным требованиям.

Параметр Описание
stats_snapshot_interval Частота сбора (в секундах) статистики SaltStack SecOps Compliance.
compile_stats_interval Частота компиляции (в секундах) статистики SaltStack SecOps Compliance.
username Имя пользователя, используемое при подключении к SaltStack Config для загрузки нового содержимого SaltStack SecOps Compliance (значение по умолчанию: secops).
content_url URL-адрес, используемый для загрузки содержимого SaltStack SecOps Compliance
ingest_override При приеме нового содержимого перезаписывает существующие сравнительные тесты и проверки (значение по умолчанию: True).
locke_dir Путь, по которому механизм приема предполагает найти новое содержимое (значение по умолчанию: locke). При использовании относительного пути (без начального символа /) определяется относительно каталога /var/lib/raas/cache кэша службы RaaS.
post_ingest_cleanup Удаление развернутого содержимого из файловой системы после приема (значение по умолчанию: True).
download_enabled Разрешены ли загрузки содержимого SaltStack SecOps Compliance (значение по умолчанию: True). Установите значение False для физически изолированных систем.
download_frequency Как часто (в секундах) служба RaaS будет пытаться загружать содержимое SaltStack SecOps Compliance (значение по умолчанию: 86400 для 24 часов).
ingest_on_boot Должна ли служба RaaS пытаться загружать содержимое SaltStack SecOps Compliance при начальной загрузке? (Значение по умолчанию: True).
content_lock_timeout Длительность (в секундах) блокировки загрузки содержимого (значение по умолчанию: 60).
content_lock_block_timeout Длительность (в секундах) блокировки загрузки содержимого перед сбоем (значение по умолчанию: 120).

В следующей таблице описаны параметры конфигурации, доступные для содержимого, обеспечивающего выявление уязвимостей.

Параметр Описание
vman_dir Расположение, где развертывается содержимое SaltStack SecOps Vulnerability перед приемом. При использовании относительного пути (без начального символа /) определяется относительно каталога /var/lib/raas/cache кэша службы RaaS.
download_enabled Если установлено значение True, загрузка содержимого SaltStack SecOps Vulnerability включена. Установите значение False для физически изолированных систем.
download_frequency Частота (в секундах) автоматической загрузки и приема содержимого SaltStack SecOps Vulnerability.
username Имя пользователя, используемое для входа в enterprise.saltstack.com для получения содержимого.
content_url URL-адрес, с которого загружается содержимое SaltStack SecOps Vulnerability.
ingest_on_boot Если установлено значение True, содержимое SaltStack SecOps Vulnerability будет загружено и принято вскоре после начальной загрузки службы RaaS (значение по умолчанию: True).
compile_stats_interval Частота компиляции (в секундах) статистики SaltStack SecOps Vulnerability.
stats_snapshot_interval Частота сбора (в секундах) статистики SaltStack SecOps Vulnerability.
old_policy_file_lifespan Интервал времени (в днях), в течение которого старые файлы политики будут оставаться в файловой системе RaaS.
delete_old_policy_files_interval Как часто (в секундах) старые файлы политики SaltStack SecOps Vulnerability будут удаляться из файловой системы RaaS
tenable_asset_import_enabled Если установлено значение True, параметры grains служебных серверов в SaltStack Config будут отправляться в Tenable.io для соответствующих активов (значение по умолчанию: True).
tenable_asset_import_grains

Список параметров grains служебных серверов для отправки в Tenable.io, если импорт подходящего ресурса включен.

SaltStack SecOps Vulnerability поддерживает без предварительной настройки только fqdn, ipv4, ipv6 и hostname. Но можно отправлять другую информацию, если определить настраиваемые параметры grains. Дополнительные сведения о параметрах grains, включая способ записи настраиваемых параметров grains, см. в разделе Параметры grains в документации по Salt.

Если в данных grains имеются только ключи из подмножества, синхронизироваться будут только эти ключи.

Параметры fqdn и ipv4 будут отправляться даже в том случае, если они не будут здесь указаны.

Дополнительные сведения см. в документе Импорт приемлемых активов.

Вопросы и ответы

  • В. Как часто выпускается новое содержимое SaltStack Vulnerability ?
    • О. Текущая частота выпуска — примерно раз в квартал. Однако в будущем содержимое может выпускаться чаще.
  • Можно получить доступ к новому содержимому раньше, если я использую автоматический прием содержимого, а не прием вручную?
    • О. Независимо от режима приема (вручную или автоматически) вы получаете доступ к одному и тому же содержимому.

      Однако при использовании приема вручную необходимо спланировать то, как вы будете следить за выходом обновлений содержимого безопасности, и разработать процедуру приема обновленного содержимого вручную по мере его появления.

Следующие шаги

После настройки SaltStack SecOps может потребоваться выполнить дополнительные задачи после установки. Проверьте список задач, выполняемых после установки, и убедитесь, что вы выполнили все необходимые действия.