Laden eines anderen Kernels im Betrieb verbieten
Schließt einen Weg, auf dem ein Angreifer mit Administratorrechten zu einem von ihm vorbereiteten Kernel wechseln kann.
Warum es wichtig ist
kexec lässt den laufenden Kernel einen anderen laden und anspringen, ohne über die Firmware zu gehen. Ein Angreifer, der bereits Administratorrechte hat, könnte damit einen vorbereiteten Kernel starten, der Ihre Sicherheitseinstellungen ignoriert oder seine Werkzeuge versteckt. Abschalten entfernt diesen Schritt.
Wie es funktioniert
Setzt kernel.kexec_load_disabled auf 1 und deaktiviert damit die Systemaufrufe kexec_load und kexec_file_load. Die Kernel-Dokumentation sagt, dass der Wert nach dem Setzen auf 1 erst nach dem nächsten Neustart wieder 0 werden kann.
Für wen es sich eignet
Geeignet für Desktops und Server ohne kexec. Lassen Sie es aus, wenn Sie auf Crash-Aufzeichnung mit kdump, schnelle Neustarts über kexec oder Werkzeuge zur Kernel-Aktualisierung im Lauf vertrauen.
Was Sie bemerken könnten
Befehle wie kexec -l schlagen mit einem Berechtigungsfehler fehl, und ein Crash-Kernel-Dienst, der nach der Änderung startet, lädt möglicherweise nicht. Nur ein Neustart macht es rückgängig.
Auf Ihrem Computer prüfen
Den aktuellen Wert lesen:
sysctl kernel.kexec_load_disabled Von Hand anwenden
Jetzt setzen (bis zum nächsten Neustart):
sudo sysctl -w kernel.kexec_load_disabled=1 Nach Neustarts beibehalten, in einer eigenen Datei:
sudo tee /etc/sysctl.d/90-kernel-kexec.conf <<'EOF'
kernel.kexec_load_disabled = 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.kexec_load_disabled