anthcourtney.cis-amazon-linux

anthcourtney.cis-amazon-linux

=========

Build Status

Branch Status
Master Build Status
Build Build Status

Entwicklung

Wir werden den "master"-Zweig nur für vollständig getestete Änderungen verwenden.

Bitte senden Sie Ihre Pull-Requests in den "build"-Zweig.

Wir benötigen mehr Unterstützung aus der Community, um Änderungen vorzunehmen und vor allem, um diese zu testen und zu überprüfen. Wenn Sie teilnehmen möchten, senden Sie bitte eine Nachricht an Anth oder Chandan.

Die wichtigen Arbeiten, die noch zu erledigen sind:

  • CIS Benchmark v2.2.0
  • Ansible 2.5 und höher
  • Amazon Linux 2 LTS

Einführung

Dieses Ansible-Rolle wendet die Version v2.0.0 des CIS Amazon Linux Benchmarks an. https://benchmarks.cisecurity.org/tools2/linux/CIS_Amazon_Linux_Benchmark_v2.0.0.pdf

Die Rolle wurde gegen Amazon Linux 2016.03 entwickelt und getestet. Sie wurde auch erfolgreich gegen Amazon Linux 2016.09 getestet.

Warum sollte ich diese Rolle verwenden?

Wenn Sie Compliance mit einem in der Branche anerkannten Sicherheitsstandard, wie PCI DSS, APRA oder ISO 27001, erreichen möchten, müssen Sie nachweisen, dass Sie dokumentierte Härtungsstandards auf alle Systeme innerhalb des Prüfungsbereichs angewendet haben.

Wenn Sie Amazon Linux verwenden, versucht diese Rolle, ein Teil der Lösung für das Compliance-Puzzle bereitzustellen.

Hier gibt es Gefahren!

Wenn Sie überlegen, diese Rolle auf Server anzuwenden, sollten Sie mit dem CIS Benchmark (oder ähnlichen Benchmarks) vertraut sein und die Auswirkungen, die es auf ein System haben kann, verstehen.

Bitte nehmen Sie sich die Zeit, um mit dem Standard und den konfigurierbaren Standardwerten vertraut zu werden und schließen Sie alle Punkte aus, bevor Sie sie auf ein System anwenden.

Einige Punkte, die sofort für eine Ausnahme (oder zumindest für eine Modifikation der damit verbundenen Standardwerte) in Betracht gezogen werden sollten:

  • 3.4.2 und 3.4.3, die standardmäßig den Zugriff auf den Host (einschließlich ssh) auf localhost beschränken.

Amazon Linux und SE Linux

SElinux ist standardmäßig in Amazon Linux über Grub deaktiviert.

Um es zu aktivieren, bearbeiten Sie:

/boot/grub/menu.lst

Ändern Sie selinux=0 zu selinux=1

touch /etc/selinux/config

Installieren Sie auch das folgende Paket, damit das Ansible SElinux-Modul auf dem Host funktioniert.

yum install libselinux-python

Ein Neustart ist erforderlich, damit die Änderungen wirksam werden.

Beispiel-Playbook

Ein Beispiel-Playbook, das diese Rolle verwendet, sieht folgendermaßen aus:

---

- hosts: localhost
  connection: local
  gather_facts: true
  become: yes

  roles:
    - anthcourtney.cis-amazon-linux

Ein fortgeschrittenes Beispiel, das Änderungen an den verwendeten Standardwerten sowie den Ausschluss einiger Punkte im Benchmark, die für eine fiktive Umgebung als unnötig erachtet werden, ist wie folgt:

---

- 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

Beachten Sie, dass die Verwendung von become: yes erforderlich ist, da 99% der Aufgaben privilegierten Zugriff benötigen.

Rollenvariablen

Siehe defaults/main.yml für Variablen, die entsprechend den Vorlieben überschrieben werden können.

Optionen

Tags (und Kombinationen davon) können verwendet werden, um ein bestimmtes Niveau des CIS-Standards, einen Abschnitt oder eine einzelne Empfehlung auszuführen. Zum Beispiel:

  • Führen Sie nur Level 1 Aufgaben aus
ansible-playbook playbook.yml -t level-1
  • Führen Sie nur Abschnitt 3 Aufgaben aus
ansible-playbook playbook.yml -t section-3
  • Führen Sie nur die Aufgaben 1.3.1 und 2.2.10 aus
ansible-playbook playbook.yml -t 1.3.1,2.2.10
  • Führen Sie nur bewertete Aufgaben aus
ansible-playbook playbook.yml -t scored

Einschränkungen

Derzeit sind nur die Level 1 Punkte des Benchmarks implementiert. Level 2 Punkte werden hinzugefügt, wenn es die Zeit erlaubt.

Die folgenden Prüfungen wurden nicht implementiert:

  • 3.6.2. Firewall-Regelsätze sind umgebungsspezifisch.
  • 3.6.3. Firewall-Regelsätze sind umgebungsspezifisch.
  • 3.6.4. Firewall-Regelsätze sind umgebungsspezifisch.
  • 3.6.5. Firewall-Regelsätze sind umgebungsspezifisch.
  • 4.2.1.2. Die Bestimmung, was protokolliert werden soll und das Ziel der Nachrichten ist umgebungsspezifisch.
  • 4.2.2.2. Die Bestimmung, was protokolliert werden soll und das Ziel der Nachrichten ist umgebungsspezifisch.
  • 4.2.2.3. Das Inline-Bearbeiten der syslog-ng-Konfigurationsdatei wird als zu ungenau angesehen und sollte am besten durch eine bereitgestellte Konfigurationsdatei gelöst werden, die dies und andere verwandte Anforderungen berücksichtigt.
  • 4.2.2.4. Das Inline-Bearbeiten der syslog-ng-Konfigurationsdatei wird als zu ungenau angesehen und sollte am besten durch eine bereitgestellte Konfigurationsdatei gelöst werden, die dies und andere verwandte Anforderungen berücksichtigt.
  • 4.2.2.5. Das Inline-Bearbeiten der syslog-ng-Konfigurationsdatei wird als zu ungenau angesehen und sollte am besten durch eine bereitgestellte Konfigurationsdatei gelöst werden, die dies und andere verwandte Anforderungen berücksichtigt.
  • 4.3. Die Konfiguration von logrotate ist standortspezifisch.
  • 5.3.2. Die Bearbeitung mehrerer Zeilen in PAM-Konfigurationsdateien wird als zu ungenau und gefährlich angesehen und sollte am besten durch eine bereitgestellte Konfigurationsdatei gelöst werden, die dies und andere verwandte Anforderungen berücksichtigt.
  • 5.3.3. Die Bearbeitung mehrerer Zeilen in PAM-Konfigurationsdateien wird als zu ungenau und gefährlich angesehen und sollte am besten durch eine bereitgestellte Konfigurationsdatei gelöst werden, die dies und andere verwandte Anforderungen berücksichtigt.

Kompatibilität

Diese Rolle ist kompatibel mit folgenden Versionen von Ansible:

  • 2.3
  • 2.4
  • 2.5
  • 2.6
  • 2.7

Diese Rolle wurde gegen keine anderen Versionen von Ansible getestet.

Testen

Die folgenden Testprozesse werden vom Entwickler dieser Rolle angewendet:

  • Die Syntax der Rolle wird überprüft. Siehe make syntax.
  • ansible-review wird gegen die Rolle ausgeführt und alle Warnungen, die als angemessen erachtet werden, werden behoben. Siehe make review.
  • Die Rolle wird gegen einen Docker-Container sowohl mit Ansible v2.1.3 als auch mit Ansible v2.2 angewendet. Siehe make test.

Die folgenden Tests wurden gekennzeichnet, sind aber noch nicht implementiert:

  • Testanwendung der Rolle gegen das Vagrant mvbcoding/awslinux-Image mit dem Ansible-Provisionierer.

Lint

Bitte führen Sie make lint aus, um sicherzustellen, dass wir die Ansible-Standards einhalten.

Lizenz

MIT.

Autoreninformation

Diese Rolle wurde von Anth Courtney entwickelt.

Alle Rückmeldungen, Probleme und Pull-Requests sind willkommen und werden geschätzt.

Über das Projekt

Implement CIS Amazon Linux V2 Benchmark

Installieren
ansible-galaxy install anthcourtney.cis-amazon-linux
Lizenz
mit
Downloads
13.8k
Besitzer