
macOS-Skript für Sicherheitsaudits
Ein auf Bash basierendes Sicherheits-Audit-Toolkit für macOS, das die Härtungseinstellungen des Systems anhand der CIS-Benchmark-Empfehlungen überprüft und JSON/HTML-Berichte erzeugt.
Erstellt von Bartłomiej Pogwizd · https://www.youtube.com/@pTech-pl
Dieses Toolkit besteht aus zwei Skripten:
auditMAC.sh — führt das vollständige Sicherheitsaudit aus und gibt die Ergebnisse im Terminal sowie in einer TSV-Datendatei ausgenerate_reports.sh — wandelt die TSV-Datendatei in einen JSON-Bericht und einen gestalteten HTML-Bericht um
sudo-Zugriff (für mehrere Prüfungen erforderlich)chmod +x auditMAC.sh
./auditMAC.sh
Das Skript wird Folgendes tun:
sudo-Passwort abfragen (wird nur lokal verwendet, niemals gespeichert)Legen Sie die Dateien ( auditMAC.sh und generate_reports.sh ) in denselben Ordner JSON- und HTML-Dateien werden im Ordner angezeigt; sie werden automatisch generiert.
Dies erzeugt zwei Dateien im aktuellen Verzeichnis:
macos_security_report.jsonmacos_security_report.html========================================
macOS Security / Audit Report
Author: Bartłomiej Pogwizd / youtube.com/pTech
Version: 2.5
========================================
System Security
----------------------------------------
Firewall OK Enabled
SIP OK Enabled
FileVault FAIL Disabled
Gatekeeper OK Enabled
...
Security Score 72/100
Risk Level: Medium
Passed 31
Warnings 4
Failures 8
Status-Legende:
| Status | Bedeutung |
|---|---|
OK | Die Einstellung entspricht dem empfohlenen Wert |
WARN |
Die Bewertung wird wie folgt berechnet:
score = (passed × 100 + warnings × 50) / total_checks
| Bewertung | Risikostufe |
|---|---|
| 80–100 | 🟢 Niedrig |
| 50–79 | 🟡 Mittel |
| 0–49 | 🔴 Hoch |
Jede Prüfung im HTML/JSON-Bericht ist mit einer CIS-macOS-Benchmark-ID gekennzeichnet (z. B. 2.1.1 für Firewall, 2.2.1 für FileVault). Dadurch lässt sich die offizielle CIS-Dokumentation zur Behebung von Problemen leicht abgleichen.
sudo wird nur für Befehle verwendet, die erhöhte Rechte erfordern (z. B. fdesetup, systemsetup, launchctl)/tmp mit umask 077 erstellt und beim Beenden immer aufgeräumt, auch bei Fehlern oder Strg+CINFO gekennzeichnet, mit Anweisungen zur manuellen ÜberprüfungMIT — Sie können es frei verwenden, ändern und teilen.
Pull-Requests und Issues sind willkommen. Wenn eine Prüfung auf Ihrer macOS-Version falsche Ergebnisse liefert, erstellen Sie bitte ein Issue und fügen Sie die Ausgabe von sw_vers bei.
| Kategorie | Prüfungen |
|---|
| Systemsicherheit | Firewall, SIP, Secure Boot, Gatekeeper, FileVault, Firmware-Passwort, Authentifizierter Root |
| Datenschutz | Diagnose-Uploads, Siri-Datenfreigabe, Ortungsdienste, AirPlay-Empfänger, Bildschirmsperre, Gastkonto, Autologin |
| Updates & Zeit | Ausstehende Updates, Auto-Download, Kritische Updates, Netzwerkzeit, Wake-on-Network |
| Freigabe & Fernzugriff | Bildschirmfreigabe, SMB, Druckerfreigabe, Remote-Login, Remote-Verwaltung, AirDrop, Handoff |
| Systemdienste | tftpd, nfsd, httpd, uucp, sshd |
| Benutzer & Berechtigungen | Administratorkonten, Rolle des aktuellen Benutzers, Status des Root-Kontos |
| Netzwerk & Ports | Offene lauschende Ports (IPv4/IPv6) |
| Startobjekte | LaunchAgents und LaunchDaemons (System und Benutzer) |
| SSH-Härtung | PermitRootLogin, PasswordAuthentication, PubkeyAuthentication, AllowUsers |
| Systemerweiterungen | Aktive/wartende/beendete Kernel-Erweiterungen |
| Die Einstellung konnte nicht ermittelt werden oder ist ein Graubereich |
FAIL | Die Einstellung entspricht nicht der Empfehlung |
INFO | Nur informativ, keine Bewertung bestanden/nicht bestanden |