
Gehärtetes Debian GNU/Linux-Distributionsaudit
Audit von gehärteten Debian GNU/Linux- und CentOS 8-Distributionen.
Die Haupttestumgebung ist Debian GNU/Linux 9/10/11/12/13, CentOS 8 und Ubuntu 22. Andere Versionen wurden nicht vollständig getestet. In dieser Version gibt es keine Implementierungen von Desktop-bezogenen Elementen.
Der Code-Rahmen basiert auf dem Projekt OVH-debian-cis. Einige der ursprünglichen Implementierungen wurden an die Besonderheiten von Debian 9/10/11/12/13 und CentOS 8 angepasst. Prüfpunkte für STIG Red_Hat_Enterprise_Linux_7_V2R5, STIG Ubuntu V1R2 und die Empfehlungen von cisecurity.org wurden hinzugefügt und implementiert, ebenso einige Prüfpunkte der HardenedLinux-Community. Die Audit- und Anwendungsfunktionen der Infrastruktur sind implementiert, und für die Punkte, die automatisch behoben werden können, wurde die automatische Korrekturfunktion implementiert.
# bash bin/hardening.sh --audit-all
[...]
hardening [INFO] Treating /home/test/harbian-audit/bin/hardening/13.15_check_duplicate_gid.sh
13.15_check_duplicate_gid [INFO] Working on 13.15_check_duplicate_gid
13.15_check_duplicate_gid [INFO] Checking Configuration
13.15_check_duplicate_gid [INFO] Performing audit
13.15_check_duplicate_gid [ OK ] No duplicate GIDs
13.15_check_duplicate_gid [ OK ] Check Passed
[...]
################### SUMMARY ###################
Total Available Checks : 271
Total Checks Run : 271
Total Passed Checks : [ 226/271 ]
Total Failed Checks : [ 44/271 ]
Enabled Checks Percentage : 100.00 %
Conformity Percentage : 83.39 %
$ git clone https://github.com/hardenedlinux/harbian-audit.git && cd harbian-audit
# cp etc/default.cfg /etc/default/cis-hardening
# sed -i "s#CIS_ROOT_DIR=.*#CIS_ROOT_DIR='$(pwd)'#" /etc/default/cis-hardening
# bin/hardening.sh --init
# bin/hardening.sh --audit-all
hardening [INFO] Treating /home/test/harbian-audit/bin/hardening/1.1_install_updates.sh
1.1_install_updates [INFO] Working on 1.1_install_updates
1.1_install_updates [INFO] Checking Configuration
1.1_install_updates [INFO] Performing audit
1.1_install_updates [INFO] Checking if apt needs an update
1.1_install_updates [INFO] Fetching upgrades ...
1.1_install_updates [ OK ] No upgrades available
1.1_install_updates [ OK ] Check Passed
[...]
################### SUMMARY ###################
Total Available Checks : 284
Total Checks Run : 284
Total Passed Checks : [ 260/284 ]
Total Failed Checks : [ 24/284 ]
Enabled Checks Percentage : 100.00 %
Conformity Percentage : 91.55 %
# bin/hardening.sh --set-hardening-level 5
# bin/hardening.sh --apply
hardening [INFO] Treating /home/test/harbian-audit/bin/hardening/1.1_install_updates.sh
1.1_install_updates [INFO] Working on 1.1_install_updates
1.1_install_updates [INFO] Checking Configuration
1.1_install_updates [INFO] Performing audit
1.1_install_updates [INFO] Checking if apt needs an update
1.1_install_updates [INFO] Fetching upgrades ...
1.1_install_updates [ OK ] No upgrades available
1.1_install_updates [INFO] Applying Hardening
1.1_install_updates [ OK ] No Upgrades to apply
1.1_install_updates [ OK ] Check Passed
[...]
Wenn Sie eine Netzwerkinstallation von einer minimalen CD für die Installation von Debian GNU/Linux verwenden, müssen Sie vor der Verwendung des Härtungstools Pakete installieren.
# apt-get install -y bc net-tools pciutils network-manager
Redhat/CentOS benötigen vor der Verwendung des Härtungstools Paketinstallationen:
# yum install -y bc net-tools pciutils NetworkManager epel-release
Sie müssen vor der Härtung für alle Benutzer ein Passwort festlegen. Andernfalls können Sie sich nach Abschluss der Härtung nicht anmelden. Beispiel (OS-Benutzer: root und test):
# passwd
# passwd test
Die Härtungsskripte befinden sich in bin/hardening. Jedes Skript hat eine entsprechende Konfigurationsdatei in etc/conf.d/[script_name].cfg.
Jedes Härtungsskript kann über seine Konfigurationsdatei individuell aktiviert werden. Zum Beispiel ist dies die Standardkonfigurationsdatei für disable_system_accounts:
# Configuration for script of same name
status=disabled
# Put here your exceptions concerning admin accounts shells separated by spaces
EXCEPTIONS=""
Der Parameter status kann drei Werte annehmen:
disabled (nichts tun): Das Skript wird nicht ausgeführt.audit (RO): Das Skript prüft, ob eine Änderung angewendet werden sollte.enabled (RW): Das Skript prüft, ob eine Änderung vorgenommen werden sollte, und wendet automatisch an, was möglich ist.Sie können das Konfigurationselement auch aktivieren, indem Sie die Stufe ändern, mit folgendem Befehl:
# bash bin/hardening.sh --audit-all
# bash bin/hardening.sh --set-hardening-level <level>
Die globale Konfiguration befindet sich in etc/hardening.cfg. Diese Datei steuert die Protokollstufe sowie das Sicherungsverzeichnis. Wenn ein Skript angewiesen wird, eine Datei zu bearbeiten, wird es eine mit Zeitstempel versehene Sicherung in diesem Verzeichnis erstellen.
Um die Prüfungen durchzuführen und die Korrekturen anzuwenden, führen Sie bin/hardening.sh aus.
Dieser Befehl hat zwei Hauptbetriebsmodi:
--audit: Überprüfen Sie Ihr System mit allen aktivierten Skripten im Audit-Modus--apply: Überprüfen Sie Ihr System mit allen aktivierten Skripten im Audit-Modus und wenden Sie Änderungen für aktivierte Skripte anZusätzlich kann --audit-all verwendet werden, um die Ausführung aller Auditskripte zu erzwingen, einschließlich der deaktivierten. Dies wird das System nicht ändern.
--audit-all-enable-passed kann als schneller Weg zur Inbetriebnahme Ihrer Konfiguration verwendet werden. Es führt alle Skripte im Audit-Modus aus. Wenn ein Skript bestanden wird, wird es automatisch für zukünftige Läufe aktiviert. Verwenden Sie diese Option NICHT, wenn Sie bereits mit der Anpassung Ihrer Konfiguration begonnen haben.
Verwenden Sie den Befehl, um Ihr Betriebssystem zu härten:
# bash bin/hardening.sh --apply
Wenn rsyslog verwendet wird und Sie das harbian-audit-Protokoll in eine separate Protokolldatei ausgeben möchten, lautet die Konfiguration wie folgt:
user.info /var/log/harbian-audit.log
user.* -/var/log/user.log
Das Protokoll wird in die Datei /var/log/harbian-audit.log ausgegeben.
Wenn Sie docs/configurations/etc.iptables.rules.v4.sh auf Ihre Firewall-Regeln anwenden und das iptables-Protokoll in eine separate Protokolldatei ausgeben möchten, fügen Sie die folgenden Zeilen in die rsyslog.conf ein:
:msg,contains,"FW-" -/var/log/firewalllog.log
& stop
Wenn Sie --apply ausführen und set-hardening-level auf 5 (die höchste Stufe) gesetzt ist, müssen Sie Folgendes tun:
# sed -i '/^[^#].*pam_wheel.so.*/s/^/# &/' /etc/pam.d/su
Kommentieren Sie die Zeile mit pam_wheel.so vorübergehend aus. Nachdem Sie den su-Befehl verwendet haben, heben Sie die Auskommentierung der Zeile wieder auf.
# echo "ALL: 192.168.1. 192.168.5." >> /etc/hosts.allow
Dieses Beispiel erlaubt nur 192.168.1. 192.168.5. den Zugriff auf dieses System. Muss entsprechend Ihrer Situation konfiguriert werden.
# sed -i "/^root/a\test ALL=(ALL:ALL) ALL" /etc/sudoers
etc.iptables.rules.v4.sh First install the iptables-persistent package, then to do the following:
$ INTERFACENAME="your network interfacename(Example eth0)"
# bash docs/configurations/etc.iptables.rules.v4.sh $INTERFACENAME
# iptables-save > /etc/iptables/rules.v4
# ip6tables-save > /etc/iptables/rules.v6
nftables.conf führen Sie Folgendes aus (Ihr Netzwerkschnittstellenname (Beispiel eth0)):
$ sed -i 's/^define int_if = ens33/define int_if = eth0/g' etc.nftables.conf
# nft -f ./etc.nftables.conf
# bin/hardening.sh --final
Einige Prüfpunkte überprüfen verschiedene Situationen und sind voneinander abhängig; sie müssen mehrmals angewendet (behoben) werden, und das Betriebssystem muss nach jeder Anwendung (Behebung) neu gestartet werden.
8.1.35 Da dieses Element gesetzt ist, werden die Audit-Regeln nicht hinzugefügt.
8.4.1
8.4.2
Diese sind alle mit Aide verbunden. Es ist am besten, alle Elemente zu beheben, nachdem sie korrigiert wurden, um die Integrität der Datenbank im System zu gewährleisten.
4.5
Quellcode beziehen
$ git clone https://github.com/hardenedlinux/harbian-audit.git
Ein benutzerdefiniertes Härtungsskript hinzufügen
$ cp src/skel bin/hardening/99.99_custom_script.sh
$ chmod +x bin/hardening/99.99_custom_script.sh
$ cp src/skel.cfg etc/conf.d/99.99_custom_script.cfg
Programmieren Sie Ihre Prüfung mit Erklärung, was sie tut, und wenn Sie testen möchten
$ sed -i "s/status=.+/status=enabled/" etc/conf.d/99.99_custom_script.cfg
$ bash bin/hardening.sh --audit --only 99.99
$ bash bin/hardening.sh --apply --only 99.99
Dieses Dokument beschreibt die Ergänzungen zu den Abschnitten, die nicht in der CIS-Referenzdokumentation enthalten sind. Es enthält die STIG-Referenzdokumentation und zusätzliche Prüfungen, die von der HardenedLinux-Community empfohlen werden.
CIS Debian GNU/Linux 8 Benchmark v1.0.0
CIS Debian GNU/Linux 9 Benchmark v1.0.0
harbian audit Debian Linux 9 Benchmark
Konfiguration des Grub2-Passwortschutzes
Dauerhafte iptables-Regeln mit Debian 9
Bereitstellung von audisp-remote für auditd-Protokolle
Migration von iptables zu nftables in Debian 10
Dauerhafte nft-Regeln mit Debian 10
Behebung von SELinux-Zugriffsverweigerung
Nodejs + Redis + MySQL Demo
Bereitstellung von Hyperledger Cello auf Debian 9
nginx-mutual-ssl-proxy-http
nginx-mutual-ssl-proxy-tcp-udp
Erstellen und Veröffentlichen eines AMI
Verwendung von harbian-audit-konformen GNU/Linux Debian 9
Erstellen eines QEMU-Images von harbian-audit-konformen Debian GNU/Linux 9
Verwendung des QEMU-Images von harbian-audit-konformen Debian GNU/Linux 9
GPL 3.0
Dieses Projekt ist eine Sammlung von Werkzeugen. Sie sollen dem Systemadministrator helfen, eine sichere Umgebung aufzubauen. Obwohl wir es bei OVH verwenden, um unsere PCI-DSS-konforme Infrastruktur zu härten, können wir nicht garantieren, dass es für Sie funktioniert. Es wird nicht auf magische Weise einen beliebigen Host absichern.
Zusätzlich, unter Bezugnahme auf die Lizenz:
DIESE SOFTWARE WIRD VON OVH SAS UND BEITRAGENDEN „WIE BESEHEN“ BEREITGESTELLT, UND JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNGEN, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF, DIE STILLSCHWEIGENDEN GEWÄHRLEISTUNGEN DER MARKTGÄNGIGKEIT UND EIGNUNG FÜR EINEN BESTIMMTEN ZWECK, WERDEN ABGELEHNT. IN KEINEM FALL HAFTEN OVH SAS ODER BEITRAGENDE FÜR DIREKTE, INDIREKTE, ZUFÄLLIGE, BESONDERE, BEISPIELHAFTE ODER FOLGESCHÄDEN (EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF, BESCHAFFUNG VON ERSATZGÜTERN ODER -DIENSTLEISTUNGEN; NUTZUNGSAUSFALL, DATENVERLUST ODER GEWINNENTGANG; ODER GESCHÄFTSUNTERBRECHUNG), UNABHÄNGIG VON DER URSACHE UND AUF JEDER HAFTUNGSTHEORIE, SEI ES VERTRAG, VERSCHULDEN ODER UNERLAUBTE HANDLUNG (EINSCHLIESSLICH FAHRLÄSSIGKEIT ODER ANDERWEITIG), DIE AUS DER NUTZUNG DIESER SOFTWARE ENTSTEHEN, SELBST WENN AUF DIE MÖGLICHKEIT SOLCHER SCHÄDEN HINGEWIESEN WURDE.
3-Clause BSD