ansible-lockdown.rhel7_cis

RHEL 7 CIS

Konfigurieren Sie eine RHEL/Centos 7 Maschine, um CIS konform zu sein

Basierend auf CIS RedHat Enterprise Linux 7 Benchmark v4.0.0 - 21-12-2023


Org Sterne Sterne Forks Follower Twitter URL

Discord Abzeichen

Release Branch Release Tag Release Datum

Hauptpipeline Status

Entwicklungs-Pipeline Status Entwicklungs Commits

Offene Probleme Geschlossene Probleme Pull-Anfragen

Lizenz


Suchen Sie Unterstützung?

Lockdown Enterprise

Ansible Unterstützung

Gemeinschaft

Treten Sie unserem Discord Server bei, um Fragen zu stellen, Funktionen zu diskutieren oder einfach mit anderen Ansible-Lockdown-Nutzern zu plaudern.


Vorsicht

Diese Rolle wird Änderungen am System vornehmen, die unbeabsichtigte Konsequenzen haben können. Dies ist kein Auditing-Tool, sondern ein Werkzeug zur Behebung von Problemen, das nach einem Audit verwendet werden sollte.

Der Prüfmodus wird nicht unterstützt! Die Rolle wird im Prüfmodus ohne Fehler abgeschlossen, aber es wird nicht unterstützt und sollte mit Vorsicht verwendet werden. Die RHEL7-CIS-Auditrolle oder ein Compliance-Scanner sollten für die Compliance-Überprüfung über den Prüfmodus verwendet werden.

Diese Rolle wurde gegen eine saubere Installation des Betriebssystems entwickelt. Wenn Sie sie auf einem bestehenden System implementieren, überprüfen Sie bitte diese Rolle auf etwaige standortspezifische Änderungen, die erforderlich sind.

Um die Release-Version zu verwenden, verweisen Sie auf den Haupt-Branch und das relevante Release für den CIS-Benchmark, den Sie verwenden möchten.


Sicherheitsstufen für CIS

Es ist möglich, nur die Kontrollen der Stufen 1 oder 2 für CIS auszuführen. Dies wird über Tags verwaltet:

  • level1-server
  • level1-workstation
  • level2-server
  • level2-workstation

Die in den Standardwerten des Hauptsystems gefundene Kontrolle muss ebenfalls dies widerspiegeln, da diese Kontrolle die Tests steuert, die durchgeführt werden, wenn Sie die Audit-Komponente verwenden.

Kommen von einer vorherigen Version

CIS-Versionen enthalten immer Änderungen. Es wird dringend empfohlen, die neuen Referenzen und verfügbaren Variablen zu überprüfen. Diese haben sich seit der ursprünglichen Veröffentlichung von ansible-lockdown erheblich geändert. Dies ist nun mit Python 3 kompatibel, wenn es als Standard-Interpreter gefunden wird. Dies bringt einige Voraussetzungen mit sich, die das System entsprechend konfigurieren.

Weitere Details finden Sie im Changelog.

Auditing (neu)

Dies kann im defaults/main.yml-Datei mit der Variable rhel7cis_run_audit ein- oder ausgeschaltet werden. Der Standardwert ist false. Bitte beachten Sie das Wiki für weitere Informationen. Die Standarddatei befüllt auch die Goss-Überprüfungen, um nur die Kontrollen zu überprüfen, die in der Ansible-Rolle aktiviert wurden.

Dies ist eine viel schnellere, sehr leichtgewichtige Überprüfung (wo möglich), die die Konformität der Konfiguration und der laufenden Einstellungen überprüft.

Eine neue Form des Auditing wurde entwickelt, indem ein kleines (12MB) Go-Binary namens goss zusammen mit den relevanten Konfigurationen zur Überprüfung verwendet wurde. Dies geschieht ohne die Notwendigkeit von Infrastruktur oder anderen Werkzeugen. Dieses Audit überprüft nicht nur, ob die Konfiguration die richtige Einstellung hat, sondern zielt auch darauf ab, festzustellen, ob sie mit dieser Konfiguration läuft und dabei versucht, falsche Positiven zu vermeiden.

Dokumentation

Anforderungen

Allgemein:

  • Grundkenntnisse in Ansible. Unten finden Sie einige Links zur Ansible-Dokumentation, die Ihnen beim Einstieg helfen, wenn Sie mit Ansible nicht vertraut sind.

  • Funktionierende Ansible- und/oder Tower-Installation, konfiguriert und betriebsbereit. Dies umfasst alle grundlegenden Ansible/Tower-Konfigurationen, installierte benötigte Pakete und einrichtete Infrastruktur.

  • Bitte lesen Sie die Aufgaben in dieser Rolle, um zu verstehen, was jede Kontrolle bewirkt. Einige Aufgaben sind störend und können unbeabsichtigte Folgen in einem produktiven System haben. Machen Sie sich auch mit den Variablen in der defaults/main.yml-Datei vertraut.

Technische Abhängigkeiten:

  • Funktionsfähige Ansible/Tower-Installation (diese Rolle wurde gegen Ansible-Version 2.9.1 und neuer getestet)
  • Python3 Ansible-Laufumgebung
  • python-def (sollte in RHEL/CentOS 7 enthalten sein) - Die erste Aufgabe installiert die Voraussetzungen (Tag pre-reqs) für python3 und python2 (wo erforderlich)
    • libselinux-python
    • python3-rpm (Paket, das von py3 verwendet wird, um das rpm-Paket zu nutzen).

Rollenvariablen

Diese Rolle ist so gestaltet, dass der Endbenutzer die Aufgaben selbst nicht bearbeiten muss. Alle Anpassungen sollten über die defaults/main.yml-Datei oder mit zusätzlichen Variablen innerhalb des Projekts, Jobs, Workflows usw. erfolgen.

Tags

Es gibt viele Tags für zusätzliche Steuergenauigkeit. Jede Kontrolle hat ihr eigenes Set an Tags, die angeben, welches Niveau, ob es bewertet/nicht bewertet ist, welches Betriebssystemelement es betrifft, ob es ein Patch oder Audit ist und die Regelnummer.

Hier ist ein Beispiel für den Tag-Bereich aus einer Kontrolle innerhalb dieser Rolle. Wenn Sie in diesem Beispiel Ihre Ausführung so einstellen, dass alle Kontrollen mit dem Tag "services" übersprungen werden, wird diese Aufgabe übersprungen. Umgekehrt kann es auch passieren, dass Sie nur Kontrollen ausführen, die mit "services" getaggt sind.

      tags:
      - level1-workstation
      - level1-server
      - automatisiert
      - avahi
      - services
      - patch
      - rule_2.2.4

Gemeinschaftsbeteiligung

Wir ermutigen Sie (die Gemeinschaft), zu dieser Rolle beizutragen. Bitte lesen Sie die untenstehenden Regeln.

  • Ihre Arbeit erfolgt in Ihrem eigenen individuellen Branch. Stellen Sie sicher, dass alle Commits, die Sie zusammenführen möchten, signiert sind und ein GPG-Signatur aufweisen.
  • Alle Community-Pull-Anfragen werden in den Entwicklungsbranch übernommen.
  • Pull-Anfragen in die Entwicklung bestätigen, dass Ihre Commits eine GPG-Signatur haben, signiert sind und einer funktionalen Prüfung unterzogen wurden, bevor sie genehmigt werden.
  • Sobald Ihre Änderungen zusammengeführt werden und eine detailliertere Überprüfung abgeschlossen ist, wird ein autorisiertes Mitglied Ihre Änderungen in den Hauptbranch für eine neue Veröffentlichung zusammenführen.

Pipeline-Tests

verwendet:

  • ansible-core 2.12
  • Ansible-Kollektionen - zieht die neueste Version basierend auf der Anforderungen-Datei
  • führt das Audit unter Verwendung des Entwicklungsbranches aus
  • Dies ist ein automatischer Test, der bei Pull-Anfragen in die Entwicklung erfolgt

Lokale Tests

  • 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

Hinzugefügte Extras

  • pre-commit kann getestet und aus dem Verzeichnis heraus ausgeführt werden.
pre-commit run

Danksagungen

Ein riesiges Dankeschön an die fantastische Gemeinschaft und all ihre Mitglieder.

Ein großer Dank und Anerkennung gilt den ursprünglichen Autoren und Betreuern.

Josh Springer, Daniel Shepherd, Bas Meijeri, James Cassell, Mike Renfro, DFed, George Nalen, Mark Bolwell

Installieren
ansible-galaxy install ansible-lockdown.rhel7_cis
Lizenz
mit
Downloads
3.5k
Besitzer
Ansible Lockdown is a security baseline automation project sponsored by Mindpoint Group.