ansible-lockdown.rhel7_cis
RHEL 7 CIS
RHEL/Centos 7 マシンをCIS 準拠に設定する
CIS RedHat Enterprise Linux 7 Benchmark v4.0.0 - 21-12-2023 に基づく
サポートを探していますか?
コミュニティ
Discord サーバー で質問したり、機能について議論したり、他の Ansible-Lockdown ユーザーとチャットを楽しんでください。
注意事項
この役割はシステムに変更を加えますが、意図しない結果を招く可能性があります。これは監査ツールではなく、監査後に使用する修正ツールです。
チェックモードはサポートされていません! 役割はチェックモードでエラーなしで完了しますが、サポートされておらず、慎重に使用する必要があります。RHEL7-CIS-Audit 役割またはコンプライアンスチェッカーを使用してチェックモードでコンプライアンスを確認する必要があります。
この役割は、オペレーティングシステムのクリーンインストールに対して開発されました。既存のシステムに適用する場合は、この役割を確認し、必要なサイト固有の変更を考慮してください。
リリースバージョンを使用するには、メインブランチと、作業したいCISベンチマークに関連するリリースを指定してください。
CIS におけるセキュリティレベルの一致
CIS のレベル 1 またはレベル 2 の制御のみを実行することが可能です。これはタグを使用して管理されます:
- level1-server
- level1-workstation
- level2-server
- level2-workstation
デフォルトのメインにある制御もこれを反映する必要があります。これは、監査コンポーネントを使用している場合のテストを制御します。
前のリリースからの移行
CIS のリリースには常に変更が含まれており、新しい参照や利用可能な変数を確認することを強くお勧めします。これは ansible-lockdown の初回リリース以来、大きく変わりました。これにより、デフォルトのインタープリターとして python3 が見つかる場合に互換性があります。これには、システムを適切に構成するための前提条件があります。
詳細は変更履歴で確認できます。
監査 (新)
この機能は、defaults/main.yml ファイル内の変数 rhel7cis_run_audit を使用してオンまたはオフにできます。デフォルトでは false に設定されていますので、詳細については Wiki を参照してください。デフォルトファイルは、ansible 役割で有効になっている制御のみをチェックするための goss チェックも設定します。
これは、可能な限り、構成の遵守と現在の設定を確認するための非常に軽量な迅速なチェックです。
新しい監査形態が開発されました。これは、適切な設定を確認するための小型(12MB)の Go バイナリである goss を使用します。インフラや他のツールを必要としません。この監査は、構成が正しい設定になっているかを確認するだけでなく、その構成で運用されているかもチェックし、偽陽性 を取り除くことを目指します。
ドキュメンテーション
- Read The Docs
- Getting Started
- Customizing Roles
- Per-Host Configuration
- Getting the Most Out of the Role
要件
一般的な要件:
- Ansible の基本的な知識が必要です。以下は、Ansible のドキュメンテーションに役立つリンクです。
- 機能している Ansible および/または Tower のインストール、設定、実行が必要です。これには、すべての基本的な Ansible/Tower の設定、必要なパッケージのインストール、インフラのセットアップが含まれます。
- この役割のタスクを読むことで、各制御が何をしているのかを理解してください。一部のタスクは破壊的であり、本番システムで意図しない結果を招く可能性があります。また、defaults/main.yml ファイル内の変数にも慣れておいてください。
技術的依存関係:
- 実行中の Ansible/Tower セットアップ(この役割は Ansible バージョン 2.9.1 以降でテストされています)
- Python3 Ansible 実行環境
- python-def(RHEL/CentOS 7 に含まれているはずです):最初のタスクは、Python3 と Python2(必要に応じて)の前提条件を設定します。
- libselinux-python
- python3-rpm(py3 が RPM パッケージを使用するためのパッケージ)
役割の変数
この役割は、エンドユーザーがタスク自体を編集する必要がないように設計されています。すべてのカスタマイズは、defaults/main.yml ファイルまたはプロジェクト、ジョブ、ワークフロー内の追加変数を通じて行う必要があります。
タグ
追加の制御精度のために多くのタグが利用可能です。各制御には、レベル、スコアがついているかどうか、関連するOS要素、パッチか監査か、ルール番号を示す独自のタグセットがあります。
以下は、この役割内の制御からのタグセクションの例です。この例を使用すると、実行をサービスタグのある制御をすべてスキップするように設定すると、このタスクはスキップされます。逆の操作も可能で、サービスタグのある制御のみを実行することができます。
tags:
- level1-workstation
- level1-server
- automated
- avahi
- services
- patch
- rule_2.2.4
コミュニティ貢献
私たちは、あなた(コミュニティ)がこの役割に貢献することを奨励します。以下のルールをお読みください。
- あなたの作業は、個別のブランチで行われます。マージする意図のあるすべてのコミットに署名し、GPG 署名を確認してください。
- すべてのコミュニティ Pull Request は、devel ブランチに取り込まれます。
- devel への Pull Request は、あなたのコミットが GPG 署名されていること、署名済みであること、機能テストを通過したことを確認します。
- あなたの変更がマージされ、より詳細なレビューが完了した後、承認されたメンバーがあなたの変更をメインブランチにマージして新しいリリースを作成します。
パイプラインテスト
使用されるもの:
- ansible-core 2.12
- ansible コレクション - 要件ファイルに基づいて最新バージョンを取得します。
- devel ブランチを使用して監査を実行します。
- これは、devel への Pull Request に対して自動化されたテストです。
ローカルテスト
- Ansible
- ansible-base 2.10.17 - python 3.8
- ansible-core 2.13.4 - python 3.10
- ansible-core 2.15.1 - python 3.11
追加の特典
- pre-commit をテストし、ディレクトリ内から実行できます。
pre-commit run
クレジットと感謝
素晴らしいコミュニティとそのすべてのメンバーに心から感謝します。
元の著者やメンテナーにも大きな感謝とクレジットを贈ります。
Josh Springer、Daniel Shepherd、Bas Meijeri、James Cassell、Mike Renfro、DFed、George Nalen、Mark Bolwell
Apply the CIS RHEL7 role
ansible-galaxy install ansible-lockdown.rhel7_cis