florianutz.ubuntu1804_cis
Ubuntu 18.04 CIS STIG
Konfigurieren Sie eine Ubuntu 18.04 Maschine, um den CIS Richtlinien zu entsprechen. Die Ergebnisse der Stufen 1 und 2 werden standardmäßig korrigiert.
Diese Rolle nimmt Änderungen am System vor, die Dinge beschädigen könnten. Es handelt sich nicht um ein Auditing-Tool, sondern vielmehr um ein Remediations-Tool, das nach einem Audit verwendet werden sollte.
WICHTIGER INSTALLATIONSSCHRITT
Wenn Sie dies über den ansible-galaxy
-Befehl installieren möchten, müssen Sie es wie folgt ausführen:
ansible-galaxy install -p roles -r requirements.yml
Fügen Sie dies in die Datei requirements.yml ein:
- src: https://github.com/florianutz/Ubuntu1804-CIS.git
Basierend auf CIS Ubuntu Benchmark v2.0.1 - 01-03-2020.
Dieses Repository stammt von der Arbeit von MindPointGroup.
Anforderungen
Lesen Sie die Aufgaben sorgfältig durch, um sicherzustellen, dass diese Änderungen Ihr System nicht beschädigen, bevor Sie dieses Playbook ausführen.
Rollvariablen
Es sind viele Rollvariablen in defaults/main.yml definiert. Diese Liste zeigt die wichtigsten.
ubuntu1804cis_notauto: Führen Sie CIS-Prüfungen aus, die wir normalerweise NICHT automatisieren möchten, da die Wahrscheinlichkeit hoch ist, das System zu beschädigen (Standard: false)
ubuntu1804cis_section1: CIS - Allgemeine Einstellungen (Abschnitt 1) (Standard: true)
ubuntu1804cis_section2: CIS - Diensteinstellungen (Abschnitt 2) (Standard: true)
ubuntu1804cis_section3: CIS - Netzwerkeinstellungen (Abschnitt 3) (Standard: true)
ubuntu1804cis_section4: CIS - Protokollierungs- und Auditingeinstellungen (Abschnitt 4) (Standard: true)
ubuntu1804cis_section5: CIS - Zugriffs-, Authentifizierungs- und Autorisierungseinstellungen (Abschnitt 5) (Standard: true)
ubuntu1804cis_section6: CIS - Systemeinstellungen (Abschnitt 6) (Standard: true)
Deaktivieren Sie alle Selinux-Funktionen
ubuntu1804cis_selinux_disable: false
Dienstvariablen:
Diese steuern, ob ein Server diese Dienste weiterhin ausführen darf oder nicht
ubuntu1804cis_avahi_server: false
ubuntu1804cis_cups_server: false
ubuntu1804cis_dhcp_server: false
ubuntu1804cis_ldap_server: false
ubuntu1804cis_telnet_server: false
ubuntu1804cis_nfs_server: false
ubuntu1804cis_rpc_server: false
ubuntu1804cis_ntalk_server: false
ubuntu1804cis_rsyncd_server: false
ubuntu1804cis_tftp_server: false
ubuntu1804cis_rsh_server: false
ubuntu1804cis_nis_server: false
ubuntu1804cis_snmp_server: false
ubuntu1804cis_squid_server: false
ubuntu1804cis_smb_server: false
ubuntu1804cis_dovecot_server: false
ubuntu1804cis_httpd_server: false
ubuntu1804cis_vsftpd_server: false
ubuntu1804cis_named_server: false
ubuntu1804cis_bind: false
ubuntu1804cis_vsftpd: false
ubuntu1804cis_httpd: false
ubuntu1804cis_dovecot: false
ubuntu1804cis_samba: false
ubuntu1804cis_squid: false
ubuntu1804cis_net_snmp: false
Server als Mail-Server festlegen
ubuntu1804cis_is_mail_server: false
Systemnetzwerkparameter (nur Host ODER Host und Router)
ubuntu1804cis_is_router: false
IPv6 erforderlich
ubuntu1804cis_ipv6_required: true
AIDE
ubuntu1804cis_config_aide: true
AIDE Cron-Einstellungen
ubuntu1804cis_aide_cron:
cron_user: root
cron_file: /etc/crontab
aide_job: '/usr/sbin/aide --check'
aide_minute: 0
aide_hour: 5
aide_day: '*'
aide_month: '*'
aide_weekday: '*'
Auf 'true' setzen, wenn X Windows in Ihrer Umgebung benötigt wird
ubuntu1804cis_xwindows_required: no
Anforderungen an Client-Anwendungen
ubuntu1804cis_openldap_clients_required: false
ubuntu1804cis_telnet_required: false
ubuntu1804cis_talk_required: false
ubuntu1804cis_rsh_required: false
ubuntu1804cis_ypbind_required: false
Zeit-Synchronisation
ubuntu1804cis_time_synchronization: chrony
ubuntu1804cis_time_Synchronization: ntp
ubuntu1804cis_time_synchronization_servers:
- uri: "0.pool.ntp.org"
config: "minpoll 8"
- uri: "1.pool.ntp.org"
config: "minpoll 8"
- uri: "2.pool.ntp.org"
config: "minpoll 8"
- uri: "3.pool.ntp.org"
config: "minpoll 8"
- name: "SCORED | 1.1.5 | PATCH | Sicherstellen, dass die noexec-Option auf der /tmp-Partition gesetzt ist"
Es ist nicht implementiert, noexec für /tmp würde apt beeinträchtigen. /tmp enthält ausführbare Skripte während der Paketinstallation.
##### 1.5.3 | PATCH | Sicherstellen, dass die Authentifizierung im Einbenutzermodus erforderlich ist
Es ist standardmäßig deaktiviert, da es ein zufälliges Passwort für root setzt. Um es zu aktivieren, setzen Sie:
```yaml
ubuntu1804cis_rule_1_5_3: true
Um ein anderes als das zufällige Passwort zu verwenden:
ubuntu1804cis_root_password: 'neues Passwort'
3.4.2 | PATCH | Sicherstellen, dass /etc/hosts.allow konfiguriert ist
ubuntu1804cis_host_allow:
- "10.0.0.0/255.0.0.0"
- "172.16.0.0/255.240.0.0"
- "192.168.0.0/255.255.0.0"
ubuntu1804cis_firewall: firewalld
ubuntu1804cis_firewall: iptables
5.3.1 | PATCH | Sicherstellen, dass die Anforderungen für die Passworterstellung konfiguriert sind
ubuntu1804cis_pwquality:
- key: 'minlen'
value: '14'
- key: 'dcredit'
value: '-1'
- key: 'ucredit'
value: '-1'
- key: 'ocredit'
value: '-1'
- key: 'lcredit'
value: '-1'
Abhängigkeiten
Ansible >= 2.4 und <= 2.7 (2.8 wird noch nicht unterstützt)
Beispiel-Playbook
- name: Server absichern
hosts: servers
become: yes
roles:
- Ubuntu1804-CIS
Um die Aufgaben in diesem Repository auszuführen, erstellen Sie zuerst diese Datei eine Ebene über dem Repository
(d.h. die Playbook .yml und das Verzeichnis Ubuntu1804-CIS
sollten nebeneinander liegen),
überprüfen Sie dann die Datei defaults/main.yml
und deaktivieren Sie jede Regel/Abschnitt,
die Sie nicht ausführen möchten.
Angenommen, Sie haben die Datei site.yml
genannt, führen Sie es mit folgendem Befehl aus:
ansible-playbook site.yml
Tags
Viele Tags sind verfügbar, um genau zu steuern, was geändert wird und was nicht.
Einige Beispiele für die Verwendung von Tags:
# Audit und patchen Sie die Seite
ansible-playbook site.yml --tags="patch"
Lizenz
MIT
ansible-galaxy install florianutz.ubuntu1804_cis