smith193_cruk.cis_ubuntu_20_04_ansible

Ansible CIS Ubuntu 20.04 LTS

=========

CIS gehärtetes Ubuntu: Schutz vor Cyberangriffen und Malware für geschäftskritische Systeme.
CIS-Benchmark-Richtlinien sichern Ihre Systeme, indem sie Folgendes entfernen:

  1. Unsichere Programme.
  2. Nicht genutzte Dateisysteme deaktivieren.
  3. Unnötige Ports oder Dienste deaktivieren.
  4. Privilegierte Operationen überwachen.
  5. Admin-Rechte einschränken.

Die CIS-Benchmark-Empfehlungen werden in virtuellen Maschinen in öffentlichen und privaten Clouds übernommen. Sie werden auch verwendet, um lokale Bereitstellungen abzusichern. In einigen Branchen ist die Absicherung eines Systems nach einem allgemein bekannten Standard ein Kriterium, nach dem Auditoren suchen. CIS-Benchmarks werden häufig von Auditoren als eine Möglichkeit zur Systemabsicherung empfohlen, insbesondere in Branchen, die PCI-DSS- und HIPAA-Compliance erfordern, wie Banken, Telekommunikation und Gesundheitswesen.
Wenn Sie versuchen, Compliance mit einem anerkannten Sicherheitsstandard der Industrie, wie PCI DSS, APRA oder ISO 27001, zu erreichen, müssen Sie nachweisen, dass Sie dokumentierte Absicherungsstandards auf alle Systeme im Bewertungsbereich angewendet haben.

Die Ubuntu-CIS-Benchmarks sind in verschiedene Profile organisiert, nämlich „Level 1“ und „Level 2“, die für Server- und Arbeitsplatzumgebungen gedacht sind.

Ein Level-1-Profil soll eine praktische und sinnvolle Methode zur Sicherung eines Systems darstellen, ohne zu große Leistungseinbußen.

  • Deaktivierung nicht benötigter Dateisysteme.
  • Einschränkung der Benutzerberechtigungen für Dateien und Verzeichnisse.
  • Deaktivierung nicht benötigter Dienste.
  • Konfiguration von Netzwerk-Firewalls.

Ein Level-2-Profil wird verwendet, wenn Sicherheit als sehr wichtig erachtet wird und dies negative Auswirkungen auf die Systemleistung haben kann.

  • Erstellung separater Partitionen.
  • Überwachung privilegierter Operationen.

Das Ubuntu-CIS-Härtungswerkzeug ermöglicht es Ihnen, das gewünschte Sicherungslevel (Level 1 oder Level 2) und die Arbeitsumgebung (Server oder Arbeitsplatz) für ein System auszuwählen.
Beispiel:

ansible-playbook -i inventory cis-ubuntu-20.yaml --tags="level_1_server"

Sie können alle Tags auflisten, indem Sie den folgenden Befehl ausführen:

ansible-playbook -i host run.yaml --list-tags

Ich habe alle Rollen basierend auf

CIS Ubuntu Linux 20.04 LTS Benchmark  
v1.0.0 - 07-21-2020  

Beispiel-Überprüfungsverzeichnis


Anforderungen

Sie sollten die Aufgaben sorgfältig durchlesen, um sicherzustellen, dass diese Änderungen Ihre Systeme nicht beeinträchtigen, bevor Sie dieses Playbook ausführen.

Sie können das kostenlose CIS-Benchmark-Buch unter dieser URL herunterladen
Kostenloses Benchmark

Um in diesem Rollenspiel zu arbeiten, müssen Sie lediglich Ansible installieren.
Ansible installieren


Rollenvariablen

Sie müssen die gesamte Standardkonfiguration überprüfen, bevor Sie dieses Playbook ausführen. Viele Rollenvariablen sind in defaults/main.yml definiert.

  • Wenn Sie in Erwägung ziehen, diese Rolle auf Server anzuwenden, sollten Sie über ein grundlegendes Verständnis des CIS-Benchmarks verfügen und die Auswirkungen, die es auf ein System haben kann, wertschätzen.
  • Lesen und ändern Sie die konfigurierbaren Standardwerte.

Beispiele für Konfigurationen, die sofort von der Anwendung ausgeschlossen werden sollten:

5.1.8 Stellen Sie sicher, dass Cron auf autorisierte Benutzer beschränkt ist und 5.2.17 Stellen Sie sicher, dass der SSH-Zugriff eingeschränkt ist, die standardmäßig den Zugriff auf den Host (einschließlich über SSH) effektiv einschränken.

Beispielsweise:

  • CIS-Ubuntu-20.04-Ansible/defaults/main.yml
# Abschnitt 5  
# 5.1.8 Stellen Sie sicher, dass Cron auf autorisierte Benutzer beschränkt ist  
allowd_hosts: "ALLE: 0.0.0.0/0.0.0.0, 192.168.2.0/255.255.255.0"  
# 5.2.17 Stellen Sie sicher, dass der SSH-Zugriff eingeschränkt ist  
allowed_users: root #Setzen Sie None oder Liste von Benutzern, Leerzeichen zwischen jedem Benutzer  

Wenn Sie Dateivorlagen ändern müssen, finden Sie diese unter files/templates/*


Abhängigkeiten

  • Ansible-Version > 2.9

Beispiel-Playbook

Nachfolgend ein Beispiel für ein Playbook

---  
- hosts: host1  
  become: yes  
  remote_user: root  
  gather_facts: no  
  roles:  
    - { role: "CIS-Ubuntu-20.04-Ansible",}  

Alle ausführen

Wenn Sie alle Tags ausführen möchten, verwenden Sie den folgenden Befehl:

ansible-playbook -i [inventoryfile] [playbook].yaml  

Spezifischen Abschnitt ausführen

ansible-playbook -i host run.yaml -t section2  

Mehrere Abschnitte ausführen

ansible-playbook -i host run.yaml -t section2 -t 6.1.1  
  • Hinweis:
    Wenn Sie eine einzelne Aufgabe ausführen, stellen Sie sicher, dass Sie die Abhängigkeiten zwischen den Aufgaben berücksichtigen. Wenn Sie beispielsweise das Tag 4.1.1.2 Stellen Sie sicher, dass der Auditd-Dienst aktiviert ist vor 4.1.1.1 Stellen Sie sicher, dass der Auditd installiert ist ausführen, erhalten Sie zur Laufzeit einen Fehler.

Rollenverzeichnis:

1 Erste Einrichtung

  • 1.1 Dateisystemkonfiguration
  • 1.1.1 Deaktivierung nicht verwendeter Dateisysteme
  • 1.1.1.1 Sicherstellen, dass das Mounten von cramfs-Dateisystemen deaktiviert ist (Automatisiert)
  • 1.1.1.2 Sicherstellen, dass das Mounten von freevxfs-Dateisystemen deaktiviert ist - (Automatisiert)
  • 1.1.1.3 Sicherstellen, dass das Mounten von jffs2-Dateisystemen deaktiviert ist (Automatisiert)
  • 1.1.1.4 Sicherstellen, dass das Mounten von hfs-Dateisystemen deaktiviert ist (Automatisiert)
  • 1.1.1.5 Sicherstellen, dass das Mounten von hfsplus-Dateisystemen deaktiviert ist - (Automatisiert)
  • 1.1.1.6 Sicherstellen, dass das Mounten von udf-Dateisystemen deaktiviert ist (Automatisiert)
  • 1.1.1.7 Sicherstellen, dass das Mounten von FAT-Dateisystemen begrenzt ist (Manuell)
  • 1.1.2 Sicherstellen, dass /tmp konfiguriert ist (Automatisiert)
  • 1.1.3 Sicherstellen, dass die nodev-Option auf der /tmp-Partition gesetzt ist (Automatisiert)
  • 1.1.4 Sicherstellen, dass die nosuid-Option auf der /tmp-Partition gesetzt ist (Automatisiert)
  • 1.1.5 Sicherstellen, dass die noexec-Option auf der /tmp-Partition gesetzt ist (Automatisiert)
  • 1.1.6 Sicherstellen, dass /dev/shm konfiguriert ist (Automatisiert)
  • 1.1.7 Sicherstellen, dass die nodev-Option auf der /dev/shm-Partition gesetzt ist (Automatisiert)
  • 1.1.8 Sicherstellen, dass die nosuid-Option auf der /dev/shm-Partition gesetzt ist (Automatisiert)
  • 1.1.9 Sicherstellen, dass die noexec-Option auf der /dev/shm-Partition gesetzt ist (Automatisiert)
  • 1.1.10 Sicherstellen, dass eine separate Partition für /var existiert (Automatisiert)
  • 1.1.11 Sicherstellen, dass eine separate Partition für /var/tmp existiert (Automatisiert)
  • 1.1.12 Sicherstellen, dass die nodev-Option auf der /var/tmp-Partition gesetzt ist (Automatisiert)
  • 1.1.13 Sicherstellen, dass die nosuid-Option auf der /var/tmp-Partition gesetzt ist (Automatisiert)
  • 1.1.14 Sicherstellen, dass die noexec-Option auf der /var/tmp-Partition gesetzt ist (Automatisiert)
  • 1.1.15 Sicherstellen, dass eine separate Partition für /var/log existiert (Automatisiert)
  • 1.1.16 Sicherstellen, dass eine separate Partition für /var/log/audit existiert - (Automatisiert)
  • 1.1.17 Sicherstellen, dass eine separate Partition für /home existiert (Automatisiert)
  • 1.1.18 Sicherstellen, dass die nodev-Option auf der /home-Partition gesetzt ist (Automatisiert)
  • 1.1.19 Sicherstellen, dass die nodev-Option auf Partitionen für Wechselmedien gesetzt ist (Manuell)
  • 1.1.20 Sicherstellen, dass die nosuid-Option auf Partitionen für Wechselmedien gesetzt ist - (Manuell)
  • 1.1.21 Sicherstellen, dass die noexec-Option auf Partitionen für Wechselmedien gesetzt ist - (Manuell)
  • 1.1.22 Sicherstellen, dass das Sticky-Bit auf allen weltweit beschreibbaren Verzeichnissen gesetzt ist - (Automatisiert)
  • 1.1.23 Automounting deaktivieren (Automatisiert)
  • 1.1.24 USB-Speicher deaktivieren (Automatisiert)

1.2 Software-Updates konfigurieren

  • 1.2.1 Sicherstellen, dass die Paketmanager-Repositorien konfiguriert sind (Manuell)
  • 1.2.2 Sicherstellen, dass GPG-Schlüssel konfiguriert sind (Manuell)

1.3 Sudo konfigurieren

  • 1.3.1 Sicherstellen, dass Sudo installiert ist (Automatisiert)
  • 1.3.2 Sicherstellen, dass Sudo-Befehle pty verwenden (Automatisiert)
  • 1.3.3 Sicherstellen, dass das Sudo-Protokoll existiert (Automatisiert)

1.4 Überprüfung der Integrität des Dateisystems

  • 1.4.1 Sicherstellen, dass AIDE installiert ist (Automatisiert)
  • 1.4.2 Sicherstellen, dass die Integrität des Dateisystems regelmäßig überprüft wird (Automatisiert)

1.5 Sicherheiten für den Bootvorgang

  • 1.5.1 Sicherstellen, dass ein Bootloader-Passwort gesetzt ist (Automatisiert)
  • 1.5.2 Sicherstellen, dass die Berechtigungen in der Bootloader-Konfiguration konfiguriert sind - (Automatisiert)
  • 1.5.3 Sicherstellen, dass die Authentifizierung für den Einzelbenutzermodus erforderlich ist (Automatisiert)

1.6 Zusätzliche Prozessabsicherung

  • 1.6.1 Sicherstellen, dass XD/NX unterstützt wird (Automatisiert)
  • 1.6.2 Sicherstellen, dass die Adressraum-Layout-Zufälligkeit (ASLR) aktiviert ist - (Automatisiert)
  • 1.6.3 Sicherstellen, dass Prelink deaktiviert ist (Automatisiert)
  • 1.6.4 Sicherstellen, dass Kernel-Dumps eingeschränkt sind (Automatisiert)

1.7 Verpflichtende Zugriffskontrolle

  • 1.7.1 AppArmor konfigurieren
  • 1.7.1.1 Sicherstellen, dass AppArmor installiert ist (Automatisiert)
  • 1.7.1.2 Sicherstellen, dass AppArmor in der Bootloader-Konfiguration aktiviert ist - (Automatisiert)
  • 1.7.1.3 Sicherstellen, dass alle AppArmor-Profile im Durchsetzungs- oder Beschwerdemodus sind - (Automatisiert)
  • 1.7.1.4 Sicherstellen, dass alle AppArmor-Profile durchgesetzt werden (Automatisiert)

1.8 Warnhinweise

  • 1.8.1 Warnhinweise in der Befehlszeile
  • 1.8.1.1 Sicherstellen, dass die Nachricht des Tages korrekt konfiguriert ist (Automatisiert)
  • 1.8.1.2 Sicherstellen, dass das Warnbanner für lokale Anmeldungen korrekt konfiguriert ist - (Automatisiert)
  • 1.8.1.3 Sicherstellen, dass das Warnbanner für entfernte Anmeldungen korrekt konfiguriert ist - (Automatisiert)
  • 1.8.1.4 Sicherstellen, dass die Berechtigungen auf /etc/motd konfiguriert sind (Automatisiert)
  • 1.8.1.5 Sicherstellen, dass die Berechtigungen auf /etc/issue konfiguriert sind (Automatisiert)
  • 1.8.1.6 Sicherstellen, dass die Berechtigungen auf /etc/issue.net konfiguriert sind - (Automatisiert)
  • 1.9 Sicherstellen, dass Updates, Patches und zusätzliche Sicherheitssoftware installiert sind (Manuell)
  • 1.10 Sicherstellen, dass GDM entfernt oder die Anmeldung konfiguriert ist (Automatisiert)

2 Dienste

  • 2.1 inetd-Dienste
  • 2.1.1 Sicherstellen, dass xinetd nicht installiert ist (Automatisiert)
  • 2.1.2 Sicherstellen, dass openbsd-inetd nicht installiert ist (Automatisiert)
  • 2.2 Spezielle Dienste
  • 2.2.1 Zeitsynchronisation
  • 2.2.1.1 Sicherstellen, dass die Zeitsynchronisation verwendet wird (Automatisiert)
  • 2.2.1.2 Sicherstellen, dass systemd-timesyncd konfiguriert ist (Manuell)
  • 2.2.1.3 Sicherstellen, dass chrony konfiguriert ist (Automatisiert)
  • 2.2.1.4 Sicherstellen, dass NTP konfiguriert ist (Automatisiert)
  • 2.2.2 Sicherstellen, dass das X Window System nicht installiert ist (Automatisiert)
  • 2.2.3 Sicherstellen, dass der Avahi-Server nicht installiert ist (Automatisiert)
  • 2.2.4 Sicherstellen, dass CUPS nicht installiert ist (Automatisiert)
  • 2.2.5 Sicherstellen, dass der DHCP-Server nicht installiert ist (Automatisiert)
  • 2.2.6 Sicherstellen, dass der LDAP-Server nicht installiert ist (Automatisiert)
  • 2.2.7 Sicherstellen, dass NFS nicht installiert ist (Automatisiert)
  • 2.2.8 Sicherstellen, dass der DNS-Server nicht installiert ist (Automatisiert)
  • 2.2.9 Sicherstellen, dass der FTP-Server nicht installiert ist (Automatisiert)
  • 2.2.10 Sicherstellen, dass der HTTP-Server nicht installiert ist (Automatisiert)
  • 2.2.11 Sicherstellen, dass IMAP- und POP3-Server nicht installiert sind (Automatisiert)
  • 2.2.12 Sicherstellen, dass Samba nicht installiert ist (Automatisiert)
  • 2.2.13 Sicherstellen, dass der HTTP-Proxy-Server nicht installiert ist (Automatisiert)
  • 2.2.14 Sicherstellen, dass der SNMP-Server nicht installiert ist (Automatisiert)
  • 2.2.15 Sicherstellen, dass der Mail-Transfer-Agent für den lokalen Modus konfiguriert ist - (Automatisiert)
  • 2.2.16 Sicherstellen, dass der rsync-Dienst nicht installiert ist (Automatisiert)
  • 2.2.17 Sicherstellen, dass der NIS-Server nicht installiert ist (Automatisiert)

2.3 Dienst-Clients

  • 2.3.1 Sicherstellen, dass der NIS-Client nicht installiert ist (Automatisiert)
  • 2.3.2 Sicherstellen, dass der rsh-Client nicht installiert ist (Automatisiert)
  • 2.3.3 Sicherstellen, dass der talk-Client nicht installiert ist (Automatisiert)
  • 2.3.4 Sicherstellen, dass der telnet-Client nicht installiert ist (Automatisiert)
  • 2.3.5 Sicherstellen, dass der LDAP-Client nicht installiert ist (Automatisiert)
  • 2.3.6 Sicherstellen, dass RPC nicht installiert ist (Automatisiert)
  • 2.4 Sicherstellen, dass nicht essentielle Dienste entfernt oder maskiert sind (Manuell)

3 Netzwerk-Konfiguration

  • 3.1 Deaktivierung nicht verwendeter Netzwerkprotokolle und -geräte
  • 3.1.1 Deaktivierung von IPv6 (Manuell)
  • 3.1.2 Sicherstellen, dass drahtlose Schnittstellen deaktiviert sind (Automatisiert)

3.2 Netzwerkeinstellungen (host-only)

  • 3.2.1 Sicherstellen, dass das Senden von Paket-Redirects deaktiviert ist (Automatisiert)
  • 3.2.2 Sicherstellen, dass IP-Weiterleitung deaktiviert ist (Automatisiert)

3.3 Netzwerkeinstellungen (Host und Router)

  • 3.3.1 Sicherstellen, dass kein quelle-gesteuertes Paket akzeptiert wird (Automatisiert)
  • 3.3.2 Sicherstellen, dass ICMP-Redirects nicht akzeptiert werden (Automatisiert)
  • 3.3.3 Sicherstellen, dass sichere ICMP-Redirects nicht akzeptiert werden (Automatisiert)
  • 3.3.4 Sicherstellen, dass verdächtige Pakete protokolliert werden (Automatisiert)
  • 3.3.5 Sicherstellen, dass Broadcast-ICMP-Anfragen ignoriert werden (Automatisiert)
  • 3.3.6 Sicherstellen, dass gefälschte ICMP-Antworten ignoriert werden (Automatisiert)
  • 3.3.7 Sicherstellen, dass die Reverse-Pfadfilterung aktiviert ist (Automatisiert)
  • 3.3.8 Sicherstellen, dass TCP-SYN-Cookies aktiviert sind (Automatisiert)
  • 3.3.9 Sicherstellen, dass IPv6-Router-Anzeigen nicht akzeptiert werden (Automatisiert)

3.4 Ungewöhnliche Netzwerkprotokolle

  • 3.4.1 Sicherstellen, dass DCCP deaktiviert ist (Automatisiert)
  • 3.4.2 Sicherstellen, dass SCTP deaktiviert ist (Automatisiert)
  • 3.4.3 Sicherstellen, dass RDS deaktiviert ist (Automatisiert)
  • 3.4.4 Sicherstellen, dass TIPC deaktiviert ist (Automatisiert)

3.5 Firewall-Konfiguration

  • 3.5.1 UncomplicatedFirewall konfigurieren
  • 3.5.1.1 Sicherstellen, dass die Uncomplicated Firewall installiert ist (Automatisiert)
  • 3.5.1.2 Sicherstellen, dass iptables-persistent nicht installiert ist (Automatisiert)
  • 3.5.1.3 Sicherstellen, dass der ufw-Dienst aktiviert ist (Automatisiert)
  • 3.5.1.4 Sicherstellen, dass der Loopback-Verkehr konfiguriert ist (Automatisiert)
  • 3.5.1.5 Sicherstellen, dass ausgehende Verbindungen konfiguriert sind (Manuell)
  • 3.5.1.6 Sicherstellen, dass Firewall-Regeln für alle offenen Ports existieren (Manuell)
  • 3.5.1.7 Sicherstellen, dass die Standardrichtlinie der Firewall „verweigern“ ist (Automatisiert)

4 Protokollierung und Auditing

  • 4.1 Systemabrechnung (auditd) konfigurieren
  • 4.1.1 Sicherstellen, dass Auditing aktiviert ist
  • 4.1.1.1 Sicherstellen, dass auditd installiert ist (Automatisiert)
  • 4.1.1.2 Sicherstellen, dass der auditd-Dienst aktiviert ist (Automatisiert)
  • 4.1.1.3 Sicherstellen, dass Auditing für Prozesse, die vor auditd gestartet werden, aktiviert ist (Automatisiert)
  • 4.1.1.4 Sicherstellen, dass audit_backlog_limit ausreicht (Automatisiert)
  • 4.1.2 Konfiguration der Datenaufbewahrung
  • 4.1.2.1 Sicherstellen, dass die Speichergröße der Audit-Protokolle konfiguriert ist (Automatisiert)
  • 4.1.2.2 Sicherstellen, dass Audit-Protokolle nicht automatisch gelöscht werden (Automatisiert)
  • 4.1.2.3 Sicherstellen, dass das System deaktiviert ist, wenn die Audit-Protokolle voll sind - (Automatisiert)
  • 4.1.3 Sicherstellen, dass Ereignisse, die das Datum und die Uhrzeit ändern, gesammelt werden (Automatisiert)
  • 4.1.4 Sicherstellen, dass Ereignisse, die Benutzer-/Gruppeninformationen ändern, gesammelt werden (Automatisiert)
  • 4.1.5 Sicherstellen, dass Ereignisse, die die Netzwerkinfrastruktur des Systems ändern, gesammelt werden (Automatisiert)
  • 4.1.6 Sicherstellen, dass Ereignisse, die die verpflichtenden Zugriffskontrollen des Systems ändern, gesammelt werden (Automatisiert)
  • 4.1.7 Sicherstellen, dass Anmelde- und Abmeldeereignisse gesammelt werden (Automatisiert)
  • 4.1.8 Sicherstellen, dass Informationen zur Sitzungseinleitung gesammelt werden (Automatisiert)
  • 4.1.9 Sicherstellen, dass Ereignisse zur Modifikation der Berechtigungen bei diskretionären Zugriffskontrollen gesammelt werden (Automatisiert)
  • 4.1.10 Sicherstellen, dass erfolglose unbefugte Zugriffsversuche auf Dateien gesammelt werden (Automatisiert)
  • 4.1.11 Sicherstellen, dass die Nutzung privilegierter Befehle gesammelt wird (Automatisiert)
  • 4.1.12 Sicherstellen, dass erfolgreiche Dateisystemeinbindungen gesammelt werden (Automatisiert)
  • 4.1.13 Sicherstellen, dass Dateiänderungen durch Benutzer gesammelt werden (Automatisiert)
  • 4.1.14 Sicherstellen, dass Änderungen im Bereich der Systemadministration (sudoers) gesammelt werden (Automatisiert)
  • 4.1.15 Sicherstellen, dass Befehlsausführungen durch Systemadministratoren (sudo) gesammelt werden (Automatisiert)
  • 4.1.16 Sicherstellen, dass das Laden und Entladen von Kernelmodulen gesammelt wird - (Automatisiert)
  • 4.1.17 Sicherstellen, dass die Auditkonfiguration unveränderlich ist (Automatisiert)

4.2 Protokollierung konfigurieren

  • 4.2.1 Rsyslog konfigurieren
  • 4.2.1.1 Sicherstellen, dass rsyslog installiert ist (Automatisiert)
  • 4.2.1.2 Sicherstellen, dass der rsyslog-Dienst aktiviert ist (Automatisiert)
  • 4.2.1.3 Sicherstellen, dass die Protokollierung konfiguriert ist (Manuell)
  • 4.2.1.4 Sicherstellen, dass die Standardberechtigungen der rsyslog-Dateien konfiguriert sind - (Automatisiert)
  • 4.2.1.5 Sicherstellen, dass rsyslog konfiguriert ist, um Protokolle zu einer externen Protokollquelle zu senden (Automatisiert)
  • 4.2.1.6 Sicherstellen, dass entfernte rsyslog-Nachrichten nur auf bestimmten Protokollquellen akzeptiert werden. (Manuell)
  • 4.2.2 Journald konfigurieren
  • 4.2.2.1 Sicherstellen, dass Journald konfiguriert ist, um Protokolle an rsyslog zu senden - (Automatisiert)
  • 4.2.2.2 Sicherstellen, dass Journald konfiguriert ist, um große Protokolldateien zu komprimieren - (Automatisiert)
  • 4.2.2.3 Sicherstellen, dass Journald konfiguriert ist, um Protokolldateien auf dauerhaftes Disk zu schreiben (Automatisiert)
  • 4.2.3 Sicherstellen, dass die Berechtigungen auf allen Protokolldateien konfiguriert sind (Automatisiert)
  • 4.3 Sicherstellen, dass logrotate konfiguriert ist (Manuell)
  • 4.4 Sicherstellen, dass logrotate angemessene Berechtigungen zuweist (Automatisiert)

5 Zugriff, Authentifizierung und Autorisierung

  • 5.1 Zeitgesteuerte Job-Planer konfigurieren
  • 5.1.1 Sicherstellen, dass der Cron-Daemon aktiviert und läuft (Automatisiert)
  • 5.1.2 Sicherstellen, dass die Berechtigungen auf /etc/crontab konfiguriert sind (Automatisiert)
  • 5.1.3 Sicherstellen, dass die Berechtigungen auf /etc/cron.hourly konfiguriert sind - (Automatisiert)
  • 5.1.4 Sicherstellen, dass die Berechtigungen auf /etc/cron.daily konfiguriert sind - (Automatisiert)
  • 5.1.5 Sicherstellen, dass die Berechtigungen auf /etc/cron.weekly konfiguriert sind - (Automatisiert)
  • 5.1.6 Sicherstellen, dass die Berechtigungen auf /etc/cron.monthly konfiguriert sind - (Automatisiert)
  • 5.1.7 Sicherstellen, dass die Berechtigungen auf /etc/cron.d konfiguriert sind (Automatisiert)
  • 5.1.8 Sicherstellen, dass Cron auf autorisierte Benutzer beschränkt ist (Automatisiert)
  • 5.1.9 Sicherstellen, dass „at“ auf autorisierte Benutzer beschränkt ist (Automatisiert)

5.2 SSH-Server konfigurieren

  • 5.2.1 Sicherstellen, dass die Berechtigungen auf /etc/ssh/sshd_config konfiguriert sind - (Automatisiert)
  • 5.2.2 Sicherstellen, dass die Berechtigungen auf den privaten Host-Schlüsseln für SSH konfiguriert sind - (Automatisiert)
  • 5.2.3 Sicherstellen, dass die Berechtigungen auf den öffentlichen Host-Schlüsseln für SSH konfiguriert sind - (Automatisiert)
  • 5.2.4 Sicherstellen, dass das SSH-LogLevel angemessen ist (Automatisiert)
  • 5.2.5 Sicherstellen, dass SSH-X11-Weiterleitung deaktiviert ist (Automatisiert)
  • 5.2.6 Sicherstellen, dass SSH MaxAuthTries auf 4 oder weniger eingestellt ist (Automatisiert)
  • 5.2.7 Sicherstellen, dass SSH IgnoreRhosts aktiviert ist (Automatisiert)
  • 5.2.8 Sicherstellen, dass SSH-basiertes Login deaktiviert ist (Automatisiert)
  • 5.2.9 Sicherstellen, dass der root-Zugriff über SSH deaktiviert ist (Automatisiert)
  • 5.2.10 Sicherstellen, dass SSH PermitEmptyPasswords deaktiviert ist (Automatisiert)
  • 5.2.11 Sicherstellen, dass SSH PermitUserEnvironment deaktiviert ist (Automatisiert)
  • 5.2.12 Sicherstellen, dass nur starke Chiffren verwendet werden (Automatisiert)
  • 5.2.13 Sicherstellen, dass nur starke MAC-Algorithmen verwendet werden (Automatisiert)
  • 5.2.14 Sicherstellen, dass nur starke Schlüsselaustauschalgorithmen verwendet werden - (Automatisiert)
  • 5.2.15 Sicherstellen, dass das SSH-Leerlaufzeitintervall konfiguriert ist (Automatisiert)
  • 5.2.16 Sicherstellen, dass die SSH-Login-Wartezeit auf eine Minute oder weniger eingestellt ist - (Automatisiert)
  • 5.2.17 Sicherstellen, dass der SSH-Zugriff eingeschränkt ist (Automatisiert)
  • 5.2.18 Sicherstellen, dass ein Warnbanner für SSH konfiguriert ist (Automatisiert)
  • 5.2.19 Sicherstellen, dass SSH PAM aktiviert ist (Automatisiert)
  • 5.2.20 Sicherstellen, dass SSH AllowTcpForwarding deaktiviert ist (Automatisiert)
  • 5.2.21 Sicherstellen, dass SSH MaxStartups konfiguriert ist (Automatisiert)
  • 5.2.22 Sicherstellen, dass SSH MaxSessions eingeschränkt ist (Automatisiert)

5.3 PAM konfigurieren

  • 5.3.1 Sicherstellen, dass die Anforderungen an die Passworterstellung konfiguriert sind - (Automatisiert)
  • 5.3.2 Sicherstellen, dass bei fehlgeschlagenen Passwortversuchen eine Sperrung vorgesehen ist - (Automatisiert)
  • 5.3.3 Sicherstellen, dass die Wiederverwendung von Passwörtern eingeschränkt ist (Automatisiert)
  • 5.3.4 Sicherstellen, dass der Passwort-Hash-Algorithmus SHA-512 ist (Automatisiert)

5.4 Benutzerkonten und Umgebung

  • 5.4.1 Parameter der Shadow-Password-Suite festlegen
  • 5.4.1.1 Sicherstellen, dass die Passwortablaufzeit 365 Tage oder weniger beträgt (Automatisiert)
  • 5.4.1.2 Sicherstellen, dass die Mindestanzahl an Tagen zwischen Passwortänderungen konfiguriert ist - (Automatisiert)
  • 5.4.1.3 Sicherstellen, dass die Anzahl der Tage für Warnungen zur Passwortablaufzeit 7 oder mehr beträgt - (Automatisiert)
  • 5.4.1.4 Sicherstellen, dass die Sperrung inaktiver Passwörter 30 Tage oder weniger beträgt (Automatisiert)
  • 5.4.1.5 Sicherstellen, dass alle Benutzer das Datum der letzten Passwortänderung in der Vergangenheit liegt - (Automatisiert)
  • 5.4.2 Sicherstellen, dass Systemkonten abgesichert sind (Automatisiert)
  • 5.4.3 Sicherstellen, dass die Standardgruppe für das Root-Konto GID 0 ist (Automatisiert)
  • 5.4.4 Sicherstellen, dass die standardmäßige Benutzermaske 027 oder restriktiver ist - (Automatisiert)
  • 5.4.5 Sicherstellen, dass das Standard-Umschaltzeitlimit für Benutzer 900 Sekunden oder weniger beträgt - (Automatisiert)
  • 5.5 Sicherstellen, dass der Root-Zugriff auf die Systemkonsole beschränkt ist (Manuell)
  • 5.6 Sicherstellen, dass der Zugriff auf den Befehl su eingeschränkt ist (Automatisiert)

6 Systemwartung

  • 6.1 Berechtigungen von Systemdateien
  • 6.1.1 Berechtigungen von Systemdateien überprüfen (Manuell)
  • 6.1.2 Sicherstellen, dass die Berechtigungen auf /etc/passwd konfiguriert sind (Automatisiert)
  • 6.1.3 Sicherstellen, dass die Berechtigungen auf /etc/gshadow- konfiguriert sind (Automatisiert)
  • 6.1.4 Sicherstellen, dass die Berechtigungen auf /etc/shadow konfiguriert sind (Automatisiert)
  • 6.1.5 Sicherstellen, dass die Berechtigungen auf /etc/group konfiguriert sind (Automatisiert)
  • 6.1.6 Sicherstellen, dass die Berechtigungen auf /etc/passwd- konfiguriert sind (Automatisiert)
  • 6.1.7 Sicherstellen, dass die Berechtigungen auf /etc/shadow- konfiguriert sind (Automatisiert)
  • 6.1.8 Sicherstellen, dass die Berechtigungen auf /etc/group- konfiguriert sind (Automatisiert)
  • 6.1.9 Sicherstellen, dass die Berechtigungen auf /etc/gshadow konfiguriert sind (Automatisiert)
  • 6.1.10 Sicherstellen, dass keine weltweit beschreibbaren Dateien existieren (Automatisiert)
  • 6.1.11 Sicherstellen, dass keine unbesessenen Dateien oder Verzeichnisse existieren (Automatisiert)
  • 6.1.12 Sicherstellen, dass keine ungegroupierten Dateien oder Verzeichnisse existieren (Automatisiert)
  • 6.1.13 SUID-executables überprüfen (Manuell)
  • 6.1.14 SGID-executables überprüfen (Manuell)

6.2 Benutzer- und Gruppeneinstellungen

  • 6.2.1 Sicherstellen, dass Passwortfelder nicht leer sind (Automatisiert)
  • 6.2.2 Sicherstellen, dass Root das einzige UID 0-Konto ist (Automatisiert)
  • 6.2.3 Sicherstellen, dass die Integrität des Root-Pfads gewährleistet ist (Automatisiert)
  • 6.2.4 Sicherstellen, dass die Home-Verzeichnisse aller Benutzer existieren (Automatisiert)
  • 6.2.5 Sicherstellen, dass die Berechtigungen der Home-Verzeichnisse der Benutzer 750 oder restriktiver sind - (Automatisiert)
  • 6.2.6 Sicherstellen, dass die Benutzer ihre Home-Verzeichnisse besitzen (Automatisiert)
  • 6.2.7 Sicherstellen, dass die Dot-Dateien der Benutzer nicht gruppen- oder weltweit beschreibbar sind - (Automatisiert)
  • 6.2.8 Sicherstellen, dass keine Benutzer .forward-Dateien haben (Automatisiert)
  • 6.2.9 Sicherstellen, dass keine Benutzer .netrc-Dateien haben (Automatisiert)
  • 6.2.10 Sicherstellen, dass die .netrc-Dateien der Benutzer nicht gruppen- oder weltweit zugänglich sind - (Automatisiert)
  • 6.2.11 Sicherstellen, dass keine Benutzer .rhosts-Dateien haben (Automatisiert)
  • 6.2.12 Sicherstellen, dass alle Gruppen in /etc/passwd in /etc/group existieren - (Automatisiert)
  • 6.2.13 Sicherstellen, dass keine doppelten UIDs existieren (Automatisiert)
  • 6.2.14 Sicherstellen, dass keine doppelten GIDs existieren (Automatisiert)
  • 6.2.15 Sicherstellen, dass keine doppelten Benutzernamen existieren (Automatisiert)
  • 6.2.16 Sicherstellen, dass keine doppelten Gruppennamen existieren (Automatisiert)
  • 6.2.17 Sicherstellen, dass die Schattengruppe leer ist (Automatisiert)

Lizenz

BSD

Autoreninformation

Wenn Sie zu diesem Repository beitragen möchten, besprechen Sie bitte zuerst die Änderungen, die Sie vornehmen möchten, über ein GitHub-Problem, per E-Mail oder über andere Kanäle mit mir :)

Installieren
ansible-galaxy install smith193_cruk.cis_ubuntu_20_04_ansible
GitHub Repository
Lizenz
gpl-3.0
Downloads
132
Besitzer