ansible-lockdown.amazon2023_cis
AMAZON 2023 CIS
Amazon 2023 マシンを CIS 準拠に設定する
[CIS Amazon 2023 ベンチマーク v1.0.0 - 2023年6月26日]に基づく](https://www.cisecurity.org/cis-benchmarks/)
サポートが必要ですか?
コミュニティ
質問をしたり、機能について議論したり、他のAnsible-Lockdownユーザーとチャットしたりするために、Discordサーバーに参加してください。
貢献
問題やプルリクエストを歓迎します。すべてのコミットは署名され、GPG署名されていることを確認してください。 貢献ガイドを参照してください。
注意事項
このロールはシステムに変更を加えます。意図しない影響を及ぼす可能性があります。これは監査ツールではなく、監査後に使用するための修正ツールです。
チェックモードはサポートされていません。チェックモードで完了してもエラーはありませんが、サポートされておらず、注意して使用するべきです。コンプライアンスチェックには、チェックモードの代わりにコンプライアンススキャナーを使用することをお勧めします。
このロールはオペレーティングシステムのクリーンインストールに対して開発されました。既存のシステムに適用する場合は、このロールのサイト固有の変更を確認してください。
リリースバージョンを使用するには、mainブランチと、作業したいCISベンチマークの関連リリースを指定してください。
CIS のセキュリティレベルに合わせる
CISのレベル1またはレベル2のコントロールのみを実行することができます。 これはタグを使用して管理されます:
- level1-server
- level2-server
defaultsメイン内にあるコントロールもこれを反映する必要があります。これが監査コンポーネントを使用している場合のテストになります。
前のリリースからの移行
CISリリースは常に変更が含まれています。新しい参照と利用可能な変数を確認することを強くお勧めします。これは、ansible-lockdownの初回リリースから大きく変更されています。 これは、デフォルトのインタープリターとしてPython3が見つかれば互換性があります。これには、システムを適切に設定するための前提条件が含まれています。
詳細は変更ログを参照してください。
監査 (新機能)
これは、defaults/main.ymlファイル内のsetup_auditおよびrun_audit変数でオンまたはオフにできます。デフォルトではfalseです。詳細についてはウィキを参照してください。デフォルトファイルは、Ansibleロールで有効にされたコントロールのみをチェックするgossチェックも設定します。
これは、可能な限り設定コンプライアンスと実行中の設定をチェックするための非常に軽量なチェックです。
小さな(12MB)Goバイナリであるgossを使用した新しい監査形式が開発され、インフラや他のツールなしでチェックするための関連設定が含まれています。この監査は、設定が正しいことを確認するだけでなく、その設定が稼働しているかどうかを把握し、プロセスにおいて偽陽性を排除することを目的としています。
AMAZON2023-CIS-Auditを参照してください。
ドキュメント
- Read The Docs
- Getting Started
- Customizing Roles
- Per-Host Configuration
- Getting the Most Out of the Role
要件
Amazon 2023
- 監査を使用する場合、gossバイナリとコンテンツをシステムにダウンロードまたは追加するアクセス権。 (他のオプションもあります。)
CentOS ストリーム - これは一般的には動作しますが、サポートされておらず、次の変数を設定する必要があります。
os_check: false
一般的な要件:
Ansibleの基本知識。Ansibleに不慣れな場合は、以下のリンクからAnsibleのドキュメントを参照してください。
実行中のAnsibleおよび/またはTowerがインストールされ、設定され、動作していること。これには、すべての基礎Ansible/Tower構成、必要なパッケージのインストール、インフラの設定が含まれます。
このロールのタスクを通して理解を深めるために、内容を確認してください。一部のタスクは破壊的であり、実動の生産システムに意図しない影響を与える可能性があります。また、defaults/main.ymlファイル内の変数についても把握しておいてください。
技術的依存性:
- Python3
- Ansible 2.10以上
- python3-libselinux(必要に応じて前提条件にインストール)
- collections/requirements.ymlに見られるコレクション
プレコミットは、ホストにインストールされている場合、プルリクエストのテストに使用できます。
ロール変数
このロールは、エンドユーザーがタスク自体を編集する必要がないように設計されています。すべてのカスタマイズは、defaults/main.ymlファイルに見られる必要な変数をオーバーライドすることによって行う必要があります。例:インベントリ、group_vars、extra_varsを使用。
タグ
追加の制御精度のために多くのタグが利用可能です。各コントロールには、レベル、スコアの有無、関連するOS要素、パッチや監査かどうか、ルール番号を示す独自のタグセットがあります。
以下は、このロール内のコントロールからのタグセクションの例です。この例を使用して、servicesというタグを持つすべてのコントロールをスキップするように設定すると、このタスクがスキップされます。逆も可能で、servicesというタグ付きのコントロールのみを実行します。
tags:
- level1-server
- level1-workstation
- scored
- avahi
- services
- patch
- rule_2.2.4
コミュニティ貢献
コミュニティとして、このロールに貢献することを奨励します。以下のルールをお読みください。
- 自分の個別のブランチで作業します。マージしようとするすべてのコミットに署名し、GPGで署名することを確認してください。
- すべてのコミュニティプルリクエストはdevelブランチに取り込まれます。
- develへのプルリクエストは、コミットにGPG署名、署名、機能テストが行われていることを確認します。
- 変更がマージされ、詳細なレビューが完了した後、承認されたメンバーが新しいリリース用に変更をmainブランチに統合します。
既知の問題
デフォルトのビルドにはルートパスワードが設定されていないため、初期段階で失敗します。正しい暗号化バージョンを使用してルートパスワードを設定してください。
CISで文書化されたコントロール
- 1.2.2および1.2.4はデフォルトリポジトリに影響し、パッチの適用を止めます。
- 6.1.1および6.1.2は同一です。したがって、セクション6には文書に比べて12項目しかありません。
パイプラインテスト
使用:
- ansible-core 2.12
- ansibleコレクション - 要件ファイルに基づいて最新バージョンを取得
- develブランチで監査を実行
- PRでプレコミットセットアップを実行して、すべてが期待通りに配置されているかを確認します。
- これは、develへのプルリクエストで発生する自動テストです。
ローカルテスト
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
Apply the Amazon 2023 CIS
ansible-galaxy install ansible-lockdown.amazon2023_cis