vRealize Automation SaltStack SecOps は、2 つのセキュリティ ライブラリを提供する SaltStack Config のアドオンです。いずれのコンテンツ ライブラリも、セキュリティ標準の変更に伴って定期的に更新されます。セキュリティ標準の変更に伴ってコンテンツを自動的にダウンロードする(または取り込む)ように構成できます。これは、ほとんどの標準的なシステムで推奨されます。

SaltStack SecOps の一部として、次のタイプのコンテンツが提供されます。

  • [コンプライアンス] - インフラストラクチャのコンプライアンスの自動検出および修正。コンプライアンス コンテンツ ライブラリは、業界のベスト プラクティスのセキュリティと、CIS などのコンプライアンス コンテンツで構成されています。
  • [脆弱性] - 環境内のすべてのシステムの脆弱性を管理します。このコンテンツ ライブラリには、Common Vulnerabilities and Exposures (CVE) の最新のエントリに基づくアドバイザリが含まれています。

代替手段として、ライブラリには、コンテンツを手動でダウンロードするオプションと、HTTP プロキシ経由で RaaS ノードからコンテンツにアクセスするオプションが提供されています。手動取り込みはエアギャップ環境のシステムに適しています。一方、プロキシ経由のダウンロードは、インターネットからコンテンツを直接ダウンロードすることを避ける場合に適しています。プロキシ経由でのダウンロードでは、ダウンロードの対象と場所について詳細な制御と可視化が可能です。

Python 3 rpm ライブラリのインストール

SaltStack SecOps では、パッケージのバージョンを正確に比較するために Python 3 rpm ライブラリを使用します。これらのプログラムは、バージョンのコンプライアンスを判断するため、または脆弱性を評価するために、これらのライブラリから高い精度の情報を受け取る必要があります。

現在、RedHat または CentOS 7 を使用するミニオンでは、正確なコンプライアンスまたは脆弱性評価を実行するために Python 3 rpm ライブラリが必要になることがあります。これらのバージョンの RedHat または CentOS を使用するミニオンで評価を実行する場合は、そのマシンに Python 3 rpm ライブラリを手動でインストールする必要があります。

注:

他の回避策も使用できます。別の回避策が必要な場合は、サポートに連絡してください。

マスター プラグインを実行している Salt マスターに Python 3 rpm ライブラリをインストールするには、次の手順に従います。

  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/raassec セクションに追加します。
    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 コンテンツのダウンロードが開始されます。インターネット接続の状況によっては、最大で 5 分かかる場合があります。

http(s) プロキシ経由でのコンテンツの取り込み

プロキシ経由で取り込む場合は、RaaS サービスへのオーバーライドを作成し、httpproxyhttpsproxy の新しい環境変数を追加する必要があります。

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 の手動コンテンツ取り込み

エアギャップ環境の場合、つまり、外部サイトに接続してアップデートをダウンロードできない場合は、Customer Connect から tarball をダウンロードし、RaaS ノードに転送して、SaltStack SecOps Compliance コンテンツを手動で更新する必要があります。

また、システムがエアギャップ環境の場合は、RaaS 構成ファイルのダウンロード構成設定を False に変更します。

sec:
  download_enabled: False

RaaS 構成ファイルは /etc/raas/raas にあります。これらの構成設定を適用した後に、RaaS サービスの再起動が必要になる場合もあります。

systemctl restart raas

SaltStack SecOps Compliance の tarball を手動で取り込むには、次の手順を実行します。

  1. SaltStack SecOps Compliance のコンテンツをダウンロードします。
  2. RaaS ノードにログインします。
  3. コンプライアンス コンテンツの tarball を tmp フォルダの RaaS ノードにコピーします。

    このコンテンツは、E メールまたは他の方法で配信できます。

  4. tarball の内容を取り込みます。
    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 の手動コンテンツ取り込み

エアギャップ環境の場合、つまり、外部サイトに接続してアップデートをダウンロードできない場合は、Customer Connect から tarball をダウンロードし、RaaS ノードに転送して、SaltStack SecOps Vulnerability コンテンツを手動で更新する必要があります。

また、システムがエアギャップ環境の場合は、RaaS 構成ファイルのダウンロード構成設定を False に変更します。

sec:
  download_enabled: False

RaaS 構成ファイルは /etc/raas/raas にあります。これらの構成設定を適用した後に、RaaS サービスの再起動が必要になる場合もあります。

systemctl restart raas

SaltStack SecOps Vulnerability の tarball を手動で取り込むには、次の手順を実行します。

  1. SaltStack SecOps Vulnerability のコンテンツをダウンロードします。
  2. RaaS ノードにログインします。
  3. 脆弱性コンテンツの tarball を tmp フォルダ内の RaaS ノードにコピーします。

    このコンテンツは、E メールまたは他の方法で配信できます。

  4. tarball のコンテンツを取り込み、このコマンドの tarball の名前を tarball の正確なファイル名に置き換えます。
    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

tarball を tmp フォルダに配置しなかった場合は、このエラー メッセージが表示されることがあります。tarball を tmp フォルダに配置すると、問題は解決されます。

Splunk 統合の設定

SaltStack Config では、脆弱性ライブラリと Splunk の統合により、Splunk Enterprise 向けの SaltStack Config アドオンを使用してデジタル インフラストラクチャの最適化と保護が促進されます。このアドオンは Splunkbase で使用可能で、SaltStack Config バージョン 6.3 以降を必要とします。

Splunk に組み込まれた SaltStack Config アドオンは Prometheus と互換性のあるメトリック エンドポイントを利用し、このエンドポイントからは 25 を超える独自の SaltStack Config メトリックがレポートされます。これらのメトリックは、インフラストラクチャの健全性に関する判断材料になります。Splunk でこれらのメトリックを利用すると、障害の監視、異常なアクティビティの特定などに役立ちます。また、SaltStack Config を使用して、特定の Splunk イベントに基づく自動アクションを実行できます。

アドオンをインストールして構成する方法については、VMware ナレッジベースでアドオンに関するドキュメント全体を参照してください。

SaltStack Config メトリック エンドポイントの詳細については、SaltStack SecOps の製品ドキュメントを参照してください。

構成オプション

次の表に、コンプライアンス コンテンツで使用可能な構成オプションの説明を示します。

オプション 説明
stats_snapshot_interval SaltStack SecOps Compliance の統計情報が収集される頻度(秒)
compile_stats_interval SaltStack SecOps Compliance の統計情報がコンパイルされる頻度(秒)
username 最新の SaltStack SecOps Compliance コンテンツをダウンロードするために SaltStack Config に接続するときに使用するユーザー名(デフォルト:secops
content_url SaltStack SecOps Compliance コンテンツのダウンロードに使用する URL
ingest_override 新しいコンテンツを取り込むときに、既存のベンチマークおよび確認を上書きします(デフォルト:True
locke_dir 取り込みの際に新しいコンテンツを検索するパス(デフォルト:locke)。相対パスを使用する(先頭に / を付けない)と、RaaS サービスのキャッシュ ディレクトリ /var/lib/raas/cache からの相対位置になります
post_ingest_cleanup 取り込み後、展開されたコンテンツをファイル システムから削除します(デフォルト:True
download_enabled SaltStack SecOps Compliance コンテンツのダウンロードを許可するかどうか(デフォルト:True)。エアギャップされたシステムでは False に設定します。
download_frequency RaaS サービスが SaltStack SecOps Compliance コンテンツのダウンロードを試行する頻度(秒)(デフォルト:24 時間を示す 86400
ingest_on_boot 起動時に RaaS サービスが SaltStack SecOps Compliance コンテンツのダウンロードを試みるかどうか(デフォルト:True
content_lock_timeout コンテンツのダウンロード ロックの継続時間(秒)(デフォルト:60
content_lock_block_timeout コンテンツのダウンロード ロックが失敗するまでブロックする時間(秒)(デフォルト:120

次の表に、脆弱性コンテンツで使用可能な構成オプションの説明を示します。

オプション 説明
vman_dir 取り込みの前に SaltStack SecOps Vulnerability コンテンツが展開される場所。パスが相対パスである(先頭に / を付けない)場合は、RaaS サービスのキャッシュ ディレクトリ /var/lib/raas/cache からの相対位置になります
download_enabled True の場合は、SaltStack SecOps Vulnerability コンテンツのダウンロードが有効になります。エアギャップされたシステムでは False に設定します
download_frequency SaltStack SecOps Vulnerability による自動化されたコンテンツのダウンロードと取り込みの頻度(秒)
username コンテンツの取得のために enterprise.saltstack.com にログインするときに使用されるユーザー名
content_url SaltStack SecOps Vulnerability コンテンツのダウンロード元 URL
ingest_on_boot True の場合、RaaS サービスの起動直後に SaltStack SecOps Vulnerability コンテンツがダウンロードされ、取り込まれます(デフォルト: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 の場合、SaltStack Config 内のミニオン グレインが、一致するアセットを見つけるために Tenable.io に送信されます(デフォルト:True
tenable_asset_import_grains

tenable アセットのインポートが有効な場合に Tenable.io に送信されるミニオン グレインのリスト。

SaltStack SecOps Vulnerability で標準でサポートされるのは fqdnipv4ipv6hostname のみですが、カスタム グレインを定義することで他の情報も送信できます。カスタム グレインの記述方法など、グレインの詳細については、Salt ドキュメントのGrainsを参照してください。

グレイン データにサブセット キーのみが含まれる場合は、サブセット内のキーのみが同期されます。

fqdnipv4 は、このリストに含まれていない場合でも送信されます。

詳細については、Tenable Import assetsドキュメントを参照してください。

FAQ

  • [Q:新しい] [SaltStack 脆弱性][コンテンツのリリース頻度を教えてください。]
    • A:現在のリリース頻度は、四半期に 1 回です。ただし、今後はコンテンツが現在よりも頻繁にリリースされる可能性があります。
  • [手動での取り込みではなく自動コンテンツ取り込み機能を使用すると、新しいコンテンツにすぐにアクセスできますか。]
    • A:手動取り込みでも自動取り込みでも同じコンテンツを使用可能です。

      ただし、手動取り込みを使用する場合は、セキュリティ コンテンツの更新を確認する計画を立て、コンテンツが利用可能なときに手動で取り込むプロセスを開発する必要があります。

次の手順

SaltStack SecOps の構成後、インストール後の手順がさらに必要な場合があります。インストール後の手順のリストをチェックして、必要なすべての手順を完了したことを確認します。