HarryHarcourt.ansible_rhel8_cis_benchmarks
HarryHarcourt.Ansible-RHEL8-CIS-Benchmarks
=========
すべてのクレジットは、こちらにある元のフレームワークを見つけたanthcourtneyに帰属します: https://github.com/anthcourtney/ansible-role-cis-amazon-linux
この実装はRed Hat Enterprise Linux 8.XとCentOS 8.X(未テスト)に変換されました。
多くの箇所で冪等性が実現されており、今後も維持されます。
この実装では、一部のサービスの有効化と構成が可能です。
CIS RHEL Linux ベンチマークは、こちらをご覧ください: https://benchmarks.cisecurity.org/tools2/linux/CIS_Red_Hat_Enterprise_Linux_7_Benchmark_v2.1.1.pdf
このロールはAWS AMI: ami-079596bf7a949ddf8を使用してRed Hat Linux 8.0に対して開発およびテストされました。
なぜこのロールを使うのか?
PCI DSS、APRA、ISO 27001のような業界が認めるセキュリティ標準に対する準拠を得ようとしている場合、評価の範囲内のすべてのシステムに対して文書化されたハードニング基準を適用したことを示す必要があります。
Red Hat Linuxを使用している場合、このロールは準拠のパズルの一部を提供しようとします。
警告
このロールを任意のサーバーに適用することを検討している場合、CISベンチマーク(またはその他の類似したベンチマーク)に関する基本的な理解と、それがシステムに与える影響についての認識が必要です。
スタンダードや設定可能なデフォルト値に慣れるための時間を取ってください。それらを適用する前に、除外すべき項目を考慮してください。
即座に除外(または関連デフォルト値の修正)を検討すべき項目の例は次のとおりです:
3.4.2
と3.4.3
は、デフォルトでホストへのアクセスを(sshを含む)localhostのみに制限します。
例としてのプレイブック
このロールを使用するプレイブックの例は次のとおりです:
---
- hosts: localhost
connection: local
gather_facts: true
become: yes
roles:
- Ansible-RHEL8-CIS-Benchmarks
デフォルト値の修正を含む、架空の環境にとって不要と見なされる項目の除外を含むもう少し高度な例は次のとおりです:
---
- hosts: localhost
connection: local
gather_facts: true
become: yes
vars:
cis_level_1_exclusions:
- 5.4.4
- 3.4.2
- 3.4.3
- 6.2.13
cis_pass_max_days: 45
cis_umask_default: 002
roles:
- Ansible-RHEL8-CIS-Benchmarks
become: yes
の使用は必要です。99%のタスクが実行するために特権アクセスを必要とします。
ロール変数
好みに応じてオーバーライドできる変数はdefaults/main.yml
で確認できます。
オプション
タグ(およびその組み合わせ)を使用して、CISスタンダードの特定のレベル、セクション、または個別の推奨事項を実行できます。例えば:
- Level 1 タスクのみ実行
ansible-playbook playbook.yml -t level-1
- Section 3 タスクのみ実行
ansible-playbook playbook.yml -t section-3
- タスク 1.3.1 と 2.2.10 のみ実行
ansible-playbook playbook.yml -t 1.3.1,2.2.10
- スコア付けされたタスクのみ実行
ansible-playbook playbook.yml -t scored
制約
現在、ベンチマークのLevel 1項目のみが実装されています。Level 2項目は、時間が許す限り追加されます。
以下のチェックは実装されていません:
- 3.6.2. ファイアウォールルールセットは環境固有です。
- 3.6.3. ファイアウォールルールセットは環境固有です。
- 3.6.4. ファイアウォールルールセットは環境固有です。
- 3.6.5. ファイアウォールルールセットは環境固有です。
- 4.2.1.2. 何をログに記録するかの決定とメッセージの宛先は環境固有です。
- 4.2.2.2. 何をログに記録するかの決定とメッセージの宛先は環境固有です。
- syslog-ng構成ファイルのインライン編集は正確性が不足していると見なされ、これとその他の関連要求に対処するには供給された構成ファイルが最適です。
- logrotateの構成はサイト固有です。
- pam構成ファイルのマルチライン編集は正確性が不足していて危険であり、供給された構成ファイルで適切に解決されるのが最適です。
互換性
このロールは以下のバージョンのansibleと互換性があります:
- 2.0.2
- 2.1.3
- 2.2.0
- 2.3.0
このロールは他のバージョンのansibleでテストされていません。
テスト
このロールの開発者が適用しているテストプロセスは次のとおりです:
- ロールの構文がチェックされます。
make syntax
を参照してください。 ansible-review
がロールに対して実行され、適切と見なされる警告が修正されます。make review
を参照してください。- ロールがdockerコンテナに対して適用され、ansible v2.1.3およびansible v2.2の両方が使用されます。
make test
を参照してください。
次のテストはフラグ付けされていますが、まだ実装されていません:
- Vagrantの
mvbcoding/awslinux
イメージに対してロールを適用するテスト、ansibleプロビジョナーを使用。
ライセンス
BSD。
著者情報
このロールは元々Anth Courtneyによって開発されました。
このロールはBen Wrightによってさらに開発されました。
すべてのフィードバック、問題、PRは歓迎し、感謝されます。
Idempotent CIS Benchmarks for RHEL/CentOS Linux V2
ansible-galaxy install HarryHarcourt.ansible_rhel8_cis_benchmarks