Kernel-Protokoll Administratoren vorbehalten
Das Kernel-Protokoll kann Adressen und Hardware-Details verraten. Nur ein Administrator darf es lesen.
Warum es wichtig ist
Das Kernel-Log enthält Treibermeldungen, Hardwaredetails und manchmal Speicheradressen. Jeder lokale Benutzer kann es normalerweise mit dmesg lesen, also kann eine kompromittierte App Dinge erfahren, die beim Angriff auf den Kernel helfen. Die Einschränkung behält diese Details bei den Administratoren.
Wie es funktioniert
Setzt kernel.dmesg_restrict auf 1. Das Lesen des Ringpuffers mit dmesg erfordert dann die Capability CAP_SYSLOG, die root besitzt. Dieselben Meldungen erreichen weiterhin jeden, der das Systemjournal lesen darf, etwa Mitglieder der Gruppe adm.
Für wen es sich eignet
Gut für gemeinsam genutzte Rechner und alle, die einschränken wollen, was ein übernommenes Programm erfahren kann. Lassen Sie es aus, wenn normale Benutzer auf einer Entwicklungsmachine dmesg ohne sudo brauchen.
Was Sie bemerken könnten
dmesg als normaler Benutzer schlägt mit Operation not permitted fehl. Nutzen Sie sudo dmesg oder journalctl -k, wenn Ihr Konto das Journal lesen darf.
Auf Ihrem Computer prüfen
Den aktuellen Wert lesen:
sysctl kernel.dmesg_restrict Von Hand anwenden
Jetzt setzen (bis zum nächsten Neustart):
sudo sysctl -w kernel.dmesg_restrict=1 Nach Neustarts beibehalten, in einer eigenen Datei:
sudo tee /etc/sysctl.d/90-kernel-dmesg-restrict.conf <<'EOF'
kernel.dmesg_restrict = 1
EOF
sudo sysctl --system Rückgängig machen
Entfernen Sie die Datei und starten Sie neu, oder setzen Sie den alten Wert mit sysctl -w zurück.
Verwandte Einstellungen
Quellen
- Linux Hardening Guide (madaidans)
- 2.2.1
- Linux kernel documentation
- kernel.dmesg_restrict