vRealize Automation SaltStack SecOps は、2 つのセキュリティ ライブラリを提供する SaltStack Config のアドオンです。いずれのコンテンツ ライブラリも、セキュリティ標準の変更に伴って定期的に更新されます。セキュリティ標準の変更に伴ってコンテンツを自動的にダウンロードする(または取り込む)ように構成できます。これは、ほとんどの標準的なシステムで推奨されます。
SaltStack SecOps の一部として、次のタイプのコンテンツが提供されます。
- [コンプライアンス] - インフラストラクチャのコンプライアンスの自動検出および修正。コンプライアンス コンテンツ ライブラリは、業界のベスト プラクティスのセキュリティと、CIS などのコンプライアンス コンテンツで構成されています。
- [脆弱性] - 環境内のすべてのシステムの脆弱性を管理します。このコンテンツ ライブラリには、Common Vulnerabilities and Exposures (CVE) の最新のエントリに基づくアドバイザリが含まれています。
代替手段として、ライブラリには、コンテンツを手動でダウンロードするオプションと、HTTP プロキシ経由で RaaS ノードからコンテンツにアクセスするオプションが提供されています。手動取り込みはエアギャップ環境のシステムに適しています。一方、プロキシ経由のダウンロードは、インターネットからコンテンツを直接ダウンロードすることを避ける場合に適しています。プロキシ経由でのダウンロードでは、ダウンロードの対象と場所について詳細な制御と可視化が可能です。
開始する前に
SaltStack SecOps の構成はインストール後の一連の手順の 1 つであり、特定の順序で実行する必要があります。まず、インストール シナリオのいずれかを完了してから、次のインストール後の手順に関するページを確認します。
Python 3 rpm ライブラリのインストール
SaltStack SecOps では、パッケージのバージョンを正確に比較するために Python 3 rpm ライブラリを使用します。これらのプログラムは、バージョンのコンプライアンスを判断するため、または脆弱性を評価するために、これらのライブラリから高い精度の情報を受け取る必要があります。
現在、RedHat または CentOS 7 を使用するミニオンでは、正確なコンプライアンスまたは脆弱性評価を実行するために Python 3 rpm ライブラリが必要になることがあります。これらのバージョンの RedHat または CentOS を使用するミニオンで評価を実行する場合は、そのマシンに Python 3 rpm ライブラリを手動でインストールする必要があります。
他の回避策も使用できます。別の回避策が必要な場合は、サポートに連絡してください。
マスター プラグインを実行している Salt マスターに Python 3 rpm ライブラリをインストールするには、次の手順に従います。
- 次のコマンドを使用して、EPEL リポジトリをインストールします。
yum install -y epel-release
- Python 3 rpm ライブラリをインストールします。
yum install -y python3-rpm
標準システムへの自動コンテンツ取り込み
エアギャップ環境の RaaS システムでは、構成ファイルでの設定に基づいてコンテンツが定期的にダウンロードされて取り込まれます。デフォルトでは、コンテンツの自動取り込みは SaltStack Config で構成済みであり、追加のアクションは不要です。
SaltStack Config を手動でインストールした場合は、次の手順に従って SaltStack SecOps コンテンツの自動取り込みを構成します。
- 必要に応じて調整を加えた上で、以下を 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
- ファイルを保存します。
- RaaS サービスを再起動します。
systemctl restart raas
サービスが再起動すると、SaltStack SecOps コンテンツのダウンロードが開始されます。インターネット接続の状況によっては、最大で 5 分かかる場合があります。
http(s) プロキシ経由でのコンテンツの取り込み
プロキシ経由で取り込む場合は、RaaS サービスへのオーバーライドを作成し、httpproxy
と httpsproxy
の新しい環境変数を追加する必要があります。
https プロキシを使用するように RaaS ノードを構成するには、次の手順に従います。
- 自動取り込みを有効にするために、前の手順を実行します。
- コマンド ラインのマスターで、RaaS サービスを編集します。
systemctl edit raas
- 生成されたファイルに以下の行を追加します。
[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"
- プロキシでパスワード認証が必要な場合は、プロキシ環境変数の一部として設定が必要になる可能性があります。例:
Environment="HTTP_PROXY=http://USER:PASSWORD@<hostname>:234"
- プロキシが内部認証局を使用している場合は、プロキシが使用できるように、
REQUESTS_CA_BUNDLE
環境変数の設定が必要になる可能性があります。例:Environment="REQUESTS_CA_BUNDLE=/etc/pki/tls/certs/ca-bundle.crt"
- 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 を手動で取り込むには、次の手順を実行します。
- SaltStack SecOps Compliance のコンテンツをダウンロードします。
- RaaS ノードにログインします。
- コンプライアンス コンテンツの tarball を
tmp
フォルダの RaaS ノードにコピーします。このコンテンツは、E メールまたは他の方法で配信できます。
- locke.tar.gz.e の権限が
raas:raas
に設定されていることを確認します。 - 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 を手動で取り込むには、次の手順を実行します。
- SaltStack SecOps Vulnerability のコンテンツをダウンロードします。
- RaaS ノードにログインします。
- 脆弱性コンテンツの tarball を
tmp
フォルダ内の RaaS ノードにコピーします。このコンテンツは、E メールまたは他の方法で配信できます。
- locke.tar.gz.e の権限が
raas:raas
に設定されていることを確認します。 - 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 で標準でサポートされるのは グレイン データにサブセット キーのみが含まれる場合は、サブセット内のキーのみが同期されます。 詳細については、Tenable Import assetsドキュメントを参照してください。 |
FAQ
- [Q:新しい] [SaltStack 脆弱性][コンテンツのリリース頻度を教えてください。]
- A:現在のリリース頻度は、四半期に 1 回です。ただし、今後はコンテンツが現在よりも頻繁にリリースされる可能性があります。
- [手動での取り込みではなく自動コンテンツ取り込み機能を使用すると、新しいコンテンツにすぐにアクセスできますか。]
- A:手動取り込みでも自動取り込みでも同じコンテンツを使用可能です。
ただし、手動取り込みを使用する場合は、セキュリティ コンテンツの更新を確認する計画を立て、コンテンツが利用可能なときに手動で取り込むプロセスを開発する必要があります。
- A:手動取り込みでも自動取り込みでも同じコンテンツを使用可能です。
次の手順
SaltStack SecOps の構成後、インストール後の手順がさらに必要な場合があります。インストール後の手順のリストをチェックして、必要なすべての手順を完了したことを確認します。