Terminal-Leitungsdisziplinen nicht bei Bedarf laden
Verhindert, dass ein gewöhnliches Programm den Kernel dazu bringt, selten genutzten Terminal-Code zu laden, der schon ausgenutzt wurde.
Warum es wichtig ist
Eine TTY-Line-Discipline ist ein Stück Kernelcode, das Daten auf einem seriellen Terminal behandelt. Einige alte hatten Fehler, und ein gewöhnliches Programm konnte den Kernel mit der Anfrage TIOCSETD zum Laden bewegen und dann den Fehler ausnutzen. Automatisches Laden zu verbieten nimmt unprivilegierten Benutzern diesen Weg.
Wie es funktioniert
Setzt dev.tty.ldisc_autoload auf 0. Eingebaute oder bereits geladene Line-Disciplinen funktionieren weiter, aber der Kernel lädt keine zusätzlichen mehr auf Anfrage eines Programms ohne die nötige Berechtigung.
Für wen es sich eignet
Fast alle Desktops und Server. Lassen Sie es aus, wenn Sie serielle Geräte nutzen, die das Laden eines solchen Moduls auf Abruf brauchen, etwa einige SLIP-, CAN-über-Seriell- oder Modem-Einrichtungen.
Was Sie bemerken könnten
Meist nichts. Wenn ein seltenes Serielles Werkzeug mit einem Fehler über eine unbekannte Line-Discipline fehlschlägt, kann ein Administrator das passende Modul vorher von Hand laden.
Auf Ihrem Computer prüfen
Den aktuellen Wert lesen:
sysctl dev.tty.ldisc_autoload Von Hand anwenden
Jetzt setzen (bis zum nächsten Neustart):
sudo sysctl -w dev.tty.ldisc_autoload=0 Nach Neustarts beibehalten, in einer eigenen Datei:
sudo tee /etc/sysctl.d/90-kernel-ldisc-autoload.conf <<'EOF'
dev.tty.ldisc_autoload = 0
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