ansible-lockdown.amazon2023_cis
AMAZON 2023 CIS
Configurer une machine Amazon 2023 pour être conforme au CIS
Basé sur CIS Amazon 2023 Benchmark v1.0.0 - 26-06-2023
À la recherche de soutien ?
Communauté
Rejoignez-nous sur notre serveur Discord pour poser des questions, discuter des fonctionnalités ou simplement discuter avec d'autres utilisateurs d'Ansible-Lockdown.
Contribuer
Les problèmes et les demandes de tirage sont les bienvenus. Veuillez vous assurer que tous les commits sont signés et signés gpg. Reportez-vous au Guide de contribution
Avertissements
Ce rôle fera des modifications au système qui peuvent avoir des conséquences inattendues. Ce n'est pas un outil d'audit, mais plutôt un outil de remédiation à utiliser après qu'un audit a été réalisé.
Le mode de vérification n'est pas pris en charge ! Le rôle se terminera en mode vérification sans erreurs, mais il n'est pas pris en charge et doit être utilisé avec prudence. Un scanner de conformité doit être utilisé pour vérifier la conformité au lieu du mode de vérification.
Ce rôle a été développé sur une installation propre du système d'exploitation. Si vous l'appliquez sur un système existant, veuillez revoir ce rôle pour des modifications spécifiques au site.
Pour utiliser la version de publication, veuillez vous diriger vers la branche main et la publication pertinente pour la norme cis avec laquelle vous souhaitez travailler.
Correspondance des niveaux de sécurité pour le CIS
Il est possible d'exécuter uniquement les contrôles de niveau 1 ou de niveau 2 pour le CIS. Cela se gère à l'aide de tags :
- level1-server
- level2-server
Le contrôle trouvé dans les defaults doit également refléter cela, car ce contrôle est le test qui a lieu si vous utilisez le composant d'audit.
Passant d'une version précédente
La publication CIS contient toujours des changements. Il est fortement conseillé de revoir les nouvelles références et les variables disponibles. Cela a considérablement changé depuis la première version d'ansible-lockdown. C'est maintenant compatible avec python3 s'il est trouvé comme interpréteur par défaut. Cela vient avec des prérequis qui configurent le système en conséquence.
Des détails supplémentaires peuvent être trouvés dans le Changelog
Audit (nouveau)
Cela peut être activé ou désactivé dans le fichier defaults/main.yml avec les variables setup_audit et run_audit. Par défaut, la valeur est false. Veuillez vous référer au wiki pour plus de détails. Le fichier par défaut remplit également les vérifications goss pour vérifier uniquement les contrôles qui ont été activés dans le rôle Ansible.
C'est un contrôle de conformité et de paramètres en cours, beaucoup plus rapide et léger (lorsque cela est possible).
Une nouvelle forme d'audit a été développée à l'aide d'un petit binaire go (12MB) appelé goss avec les configurations pertinentes pour vérifier sans avoir besoin d'infrastructure ou d'autres outils. Cet audit vérifiera non seulement si la configuration a le bon paramètre, mais vise également à capturer si elle fonctionne avec cette configuration tout en essayant d'éliminer les faux positifs dans le processus.
Reportez-vous à AMAZON2023-CIS-Audit.
Documentation
- Lire la documentation
- Premiers pas
- Personnaliser les rôles
- Configuration par hôte
- Tirer le meilleur parti du rôle
Exigences
Amazon 2023
- Accès pour télécharger ou ajouter le binaire goss et le contenu au système si l'audit est utilisé (d'autres options sont disponibles pour apporter le contenu au système).
CentOS stream - bien que cela fonctionne généralement, ce n'est pas pris en charge et nécessite le paramètre de variable suivant
os_check: false
Général :
Connaissance de base d'Ansible, ci-dessous quelques liens vers la documentation d'Ansible pour vous aider à commencer si vous n'êtes pas familier avec Ansible
Ansible fonctionnel et/ou Tower installé, configuré et en cours d'exécution. Cela inclut toutes les configurations de base d'Ansible/Tower, les packages nécessaires installés et l'infrastructure mise en place.
Veuillez parcourir les tâches dans ce rôle pour comprendre ce que chaque contrôle fait. Certaines des tâches peuvent être perturbatrices et avoir des conséquences inattendues dans un système de production en direct. Familiarisez-vous également avec les variables dans le fichier defaults/main.yml.
Dépendances techniques :
- Python3
- Ansible 2.10+
- python3-libselinux (installé dans les prérequis si nécessaire)
- collections trouvées dans collections/requirements.yml
pre-commit est disponible si installé sur votre hôte pour le test des demandes de tirage.
Variables de rôle
Ce rôle est conçu pour que l'utilisateur final n'ait pas à modifier lui-même les tâches. Toute personnalisation doit être effectuée en remplaçant les variables requises telles que trouvées dans le fichier defaults/main.yml. par exemple en utilisant inventory, group_vars, extra_vars.
Tags
Il y a de nombreux tags disponibles pour un contrôle plus précis. Chaque contrôle a son propre ensemble de tags notant son niveau, s'il est noté / non noté, à quel élément du système d'exploitation il se rapporte, s'il s'agit d'un patch ou d'un audit, et le numéro de règle.
Voici un exemple de la section des tags d'un contrôle dans ce rôle. En utilisant cet exemple, si vous configurez votre exécution pour ignorer tous les contrôles avec le tag services, cette tâche sera ignorée. L'inverse peut également se produire où vous exécutez uniquement les contrôles tagués avec services.
tags:
- level1-server
- level1-workstation
- scored
- avahi
- services
- patch
- rule_2.2.4
Contribution de la communauté
Nous encourageons vous (la communauté) à contribuer à ce rôle. Veuillez lire les règles ci-dessous.
- Votre travail est fait dans votre propre branche individuelle. Assurez-vous de signer et de signer tous les commits que vous souhaitez fusionner avec GPG.
- Toutes les demandes de tirage de la communauté sont intégrées dans la branche de développement
- Les demandes de tirage dans le développement confirmeront que vos commits ont une signature GPG, sont signés, et ont passé un test fonctionnel avant d'être approuvés.
- Une fois vos modifications fusionnées et un examen plus détaillé terminé, un membre autorisé fusionnera vos modifications dans la branche principale pour une nouvelle version.
Problèmes connus
Les installations par défaut n'ont pas de mot de passe root défini, donc le préliminaire échouera. Veuillez définir un mot de passe root en utilisant la version de cryptage correcte.
Contrôles documentés par le CIS
- 1.2.2 et 1.2.4 affectent les dépôts par défaut et empêcheront le patching d'avoir lieu.
- 6.1.1 et 6.1.2 sont identiques. Donc la section 6 n'a que 12 éléments par rapport à la documentation.
Tests de pipeline
utilise :
- ansible-core 2.12
- collections Ansible - tire la dernière version basée sur le fichier de exigences
- Exécute l'audit en utilisant la branche de développement
- Exécute la configuration pré-commit sur la PR pour s'assurer que tout est en place comme prévu.
- Il s'agit d'un test automatisé qui se produit sur les demandes de tirage dans le développement.
Tests locaux
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
Extras supplémentaires
- pre-commit peut être testé et peut être exécuté à partir du répertoire
pre-commit run
Apply the Amazon 2023 CIS
ansible-galaxy install ansible-lockdown.amazon2023_cis