theforeman.foreman_scap_client
Foreman SCAPクライアント用のAnsibleロール 
AnsibleロールはForeman SCAPクライアントを設定し、スキャンを実行して結果をForemanプロキシにアップロードします。
設定
このロールは、foreman_scap_clientがインストールされていない場合、自動的にインストールし、/etc/foreman_scap_client/config.yamlを構成します。このファイルには、foreman_scap_clientの動作に必要なパラメータが含まれています。また、クライアントの実行をスケジュールするcronが作成されます。
変数
- 'foreman_scap_client_state': rubygem-foreman_scap_clientパッケージの状態
- 'foreman_scap_client_package': デフォルトと異なる場合のパッケージ名(el7/suseの場合はrubygem-foreman_scap_client、debian/ubuntuの場合はruby-foreman-scap-client)
- 'foreman_scap_client_server': プロキシサーバーの設定
- 'foreman_scap_client_port': プロキシサーバーのポートの設定
- 'foreman_scap_client_policies': 設定が必要なポリシーの配列
- 'foreman_scap_client_ca_cert_path': クライアントの証明書を発行した認証機関のファイルパス
- 'foreman_scap_client_host_cert_path': ホスト証明書のパス。Puppetエージェント証明書またはKatello証明書である可能性があります
- 'foreman_scap_client_host_private_key_path': ホストの秘密鍵のパス。Puppetエージェントの秘密鍵またはKatelloの秘密鍵である可能性があります
- 'foreman_scap_client_release': リポジトリを構成するリリース
- 'foreman_scap_client_repo_url': rubygem-foreman_scap_clientのリポジトリのURL
- 'foreman_scap_client_apt_repo_url': SCAPクライアントとサブスクリプションマネージャを提供するDebianベースのリポジトリ
- 'foreman_scap_client_repo_state': リポジトリの状態
- 'foreman_scap_client_repo_key': foreman-pluginsリポジトリのRPMキーソースファイル。注: 現在、パッケージは署名されていません。代替ファイルソースに設定されていない限り、URLが使用されます。
- 'foreman_scap_client_repo_gpg': GPGチェックの有効/無効
- 'foreman_scap_client_cron_template': cronテンプレートのパス
- 'foreman_scap_client_cron_splay_seed': Cronタスクのスプレイ時間を生成するためのシード
- 'foreman_scap_client_cron_splay': Cronタスクのスプレイ時間の上限
- 'foreman_scap_client_fetch_remote_resources': リモートのリソースを取得するかどうか
- 'foreman_scap_client_http_proxy_server': HTTPプロキシサーバー
- 'foreman_scap_client_http_proxy_port': HTTPプロキシポート
- 'foreman_scap_client_ciphers': 接続交渉のためのオプションの暗号リスト。例: ["AES256-SHA:AES128-SHA:DES-CBC3-SHA"]
使用例
以下の例では、毎週SCAP監査が実行され、結果がproxy.example.com:9090のプロキシに送信されることを確認します。この例では、システムにforeman_scap_clientが自動的にインストールされます。ポリシーと共にカスタマイズファイルを使用したくない場合は、カスタマイズ変数に空文字列を渡してください。
---
- hosts: all
become: true
roles:
- theforeman.foreman_scap_client
vars:
foreman_scap_client_server: https://proxy.example.com
foreman_scap_client_port: 9090
foreman_scap_client_policies: [{
"id": "1",
"hour": "12",
"minute": "1",
"month": "*",
"monthday": "*",
"weekday": "1",
"profile_id": "",
"content_path": "/usr/share/xml/scap/ssg/fedora/ssg-fedora-ds.xml",
"download_path": "/compliance/policies/1/content",
"tailoring_path": "/var/lib/openscap/ssg-fedora-ds-tailored.xml",
"tailoring_download_path": "/compliance/policies/1/tailoring"
}]
}
foreman_openscapとの使用
このロールをforeman_openscapと一緒に使用する場合、ForemanのENCから値が取得されるため、追加の設定は必要ありません。ただし、ロールをインポートした後、サーバー、ポート、およびポリシーの値を確認してください。それらはオーバーライドが有効である必要があり、ポリシーは<%= @host.policies_enc %>
であるはずです。
テスト
テストは、MoleculeとTestinfraを使用してDockerで実行されるように設定されています。依存関係をインストールしてください:
pip install -r requirements.txt
現在のユーザーがsudoなしでDockerに接続できるか確認してください。できない場合は、dockerグループを作成してユーザーを追加します。テストを実行するには:
molecule test
ansible-galaxyでのリリース
GalaxyはGitHubからコンテンツをインポートし、バージョニングにgitタグを使用します。Galaxyはタグにセマンティックバージョン形式を持つことを期待しています。
ansible-galaxy install theforeman.foreman_scap_client