anthcourtney.cis-amazon-linux

anthcourtney.cis-amazon-linux

=========

État de la construction

Branche Statut
Maître Statut de la construction
Construction Statut de la 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 et 3.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. Voir make 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.

À propos du projet

Implement CIS Amazon Linux V2 Benchmark

Installer
ansible-galaxy install anthcourtney.cis-amazon-linux
Licence
mit
Téléchargements
13.8k
Propriétaire