anthcourtney.cis-amazon-linux
anthcourtney.cis-amazon-linux
=========
État de la construction
Branche | Statut |
---|---|
Maître | |
Construction |
Développement
Nous allons utiliser la branche "master" uniquement pour les modifications complètement testées.
À l'avenir, merci d'envoyer vos demandes de tirage à la branche "build".
Nous avons besoin de plus de soutien de la communauté pour apporter des modifications et, surtout, pour tester et examiner les changements. Si vous souhaitez participer, veuillez envoyer une note à Anth ou Chandan.
Les principaux travaux à réaliser sont
- CIS Benchmark v2.2.0
- Ansible 2.5 et plus
- Amazon Linux 2 LTS
Introduction
Ce rôle Ansible applique la version v2.0.0 du CIS Amazon Linux Benchmark. https://benchmarks.cisecurity.org/tools2/linux/CIS_Amazon_Linux_Benchmark_v2.0.0.pdf
Ce rôle a été développé et testé sur Amazon Linux 2016.03 et a également été testé avec le même succès sur Amazon Linux 2016.09.
Pourquoi utiliser ce rôle ?
Si vous essayez d'obtenir la conformité à une norme de sécurité acceptée par l'industrie, comme PCI DSS, APRA ou ISO 27001, vous devez prouver que vous avez appliqué des normes de renforcement documentées à tous les systèmes concernés.
Si vous utilisez Amazon Linux, ce rôle tente de fournir une partie de la solution pour le puzzle de conformité.
Attention !
Si vous envisagez d'appliquer ce rôle à des serveurs, vous devriez avoir une familiarité de base avec le CIS Benchmark (ou d'autres benchmarks similaires) et comprendre l'impact que cela peut avoir sur un système.
Veuillez prendre le temps de vous familiariser avec la norme et avec les valeurs par défaut configurables, et excluez les éléments avant de les appliquer à un système.
Voici quelques exemples d'éléments à envisager immédiatement pour exclusion (ou au moins, pour modification des valeurs par défaut correspondantes) :
3.4.2
et3.4.3
, qui limitent par défaut l'accès à l'hôte (y compris via ssh) uniquement à localhost.
Amazon Linux et SE Linux
Par défaut, SElinux est désactivé via grub dans Amazon Linux.
Pour l'activer, modifiez ;
/boot/grub/menu.lst
Modifiez selinux=0
à selinux=1
touch /etc/selinux/config
Installez également le paquet suivant pour permettre au module Ansible SElinux de fonctionner sur l'hôte.
yum install libselinux-python
Un redémarrage sera nécessaire pour que les modifications prennent effet.
Exemple de playbook
Un exemple de playbook utilisant ce rôle est le suivant :
---
- hosts: localhost
connection: local
gather_facts: true
become: yes
roles:
- anthcourtney.cis-amazon-linux
Un exemple plus avancé, qui inclut des modifications des valeurs par défaut utilisées, ainsi que l'exclusion de certains éléments du benchmark jugés inutiles dans un environnement fictif, est le suivant :
---
- 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:
- anthcourtney.cis-amazon-linux
Notez que l'utilisation de become: yes
est requise car 99% des tâches nécessitent des droits d'accès privilégiés.
Variables du rôle
Consultez defaults/main.yml
pour les variables pouvant être remplacées selon les préférences.
Options
Des tags (et des combinaisons de ceux-ci) peuvent être utilisés pour exécuter un niveau particulier de la norme CIS, une section ou une recommandation individuelle. Par exemple :
- Exécuter uniquement les tâches de Niveau 1
ansible-playbook playbook.yml -t level-1
- Exécuter uniquement les tâches de la Section 3
ansible-playbook playbook.yml -t section-3
- Exécuter uniquement les tâches 1.3.1 et 2.2.10
ansible-playbook playbook.yml -t 1.3.1,2.2.10
- Exécuter uniquement les tâches notées
ansible-playbook playbook.yml -t scored
Limitations
Pour l’instant, seuls les éléments de Niveau 1 du benchmark sont mis en œuvre. Les éléments de Niveau 2 seront ajoutés dès que possible.
Les vérifications suivantes n'ont pas été mises en œuvre :
- 3.6.2. Les règles de pare-feu sont spécifiques à l'environnement.
- 3.6.3. Les règles de pare-feu sont spécifiques à l'environnement.
- 3.6.4. Les règles de pare-feu sont spécifiques à l'environnement.
- 3.6.5. Les règles de pare-feu sont spécifiques à l'environnement.
- 4.2.1.2. La détermination de ce qui doit être enregistré et la destination des messages est spécifique à l'environnement.
- 4.2.2.2. La détermination de ce qui doit être enregistré et la destination des messages est spécifique à l'environnement.
- 4.2.2.3. L'édition en ligne du fichier de configuration syslog-ng est jugée trop imprécise et est mieux résolue par un fichier de configuration fourni qui traite de cela et d'autres exigences connexes.
- 4.2.2.4. L'édition en ligne du fichier de configuration syslog-ng est jugée trop imprécise et est mieux résolue par un fichier de configuration fourni qui traite de cela et d'autres exigences connexes.
- 4.2.2.5. L'édition en ligne du fichier de configuration syslog-ng est jugée trop imprécise et est mieux résolue par un fichier de configuration fourni qui traite de cela et d'autres exigences connexes.
- 4.3. La configuration de logrotate est spécifique au site.
- 5.3.2. L'édition de plusieurs lignes dans les fichiers de configuration pam est considérée comme trop imprécise et dangereuse, et est mieux résolue par un fichier de configuration fourni qui traite de cela et d'autres exigences connexes.
- 5.3.3. L'édition de plusieurs lignes dans les fichiers de configuration pam est considérée comme trop imprécise et dangereuse, et est mieux résolue par un fichier de configuration fourni qui traite de cela et d'autres exigences connexes.
Compatibilité
Ce rôle est compatible avec les versions suivantes d'Ansible :
- 2.3
- 2.4
- 2.5
- 2.6
- 2.7
Ce rôle n’a pas été testé avec d’autres versions d’Ansible.
Tests
Les processus de test suivants sont appliqués par le développeur de ce rôle :
- La syntaxe du rôle est vérifiée. Voir
make syntax
. ansible-review
est exécuté contre le rôle et les avertissements jugés appropriés sont corrigés. Voirmake review
.- Le rôle est appliqué sur un container docker en utilisant à la fois ansible v2.1.3 et ansible v2.2. Voir
make test
.
Les tests suivants ont été signalés mais ne sont pas encore mis en œuvre :
- Test de l'application du rôle contre l'image Vagrant
mvbcoding/awslinux
, en utilisant le provisionneur ansible.
Lint
Veuillez exécuter make lint
pour vous assurer que nous respectons les normes Ansible.
Licence
MIT.
Informations sur l'auteur
Ce rôle a été développé par Anth Courtney.
Tous les commentaires, problèmes et demandes de tirage sont encouragés et appréciés.
ansible-galaxy install anthcourtney.cis-amazon-linux