Keine Programme aus /tmp ausführen
Schadsoftware und Exploits legen oft ein Programm in /tmp ab und führen es aus. Dies verhindert, dass dort etwas läuft.
Warum es wichtig ist
Nach einem Einbruch laden Schadsoftware und Exploit-Skripte oft ein Programm nach /tmp herunter, weil dort jeder schreiben darf, und führen es aus. /tmp so zu mounten, dass nichts daraus ausgeführt werden kann, bricht diesen Schritt und zwingt den Angreifer, einen anderen Ort zu suchen.
Wie es funktioniert
Setzt die Mount-Option noexec auf /tmp: Der Kernel verweigert es, dort gespeicherte Programme auszuführen und Dateien von dort als ausführbaren Code abzubilden. Es hindert einen Interpreter nicht, ein Skript zu lesen, daher läuft bash /tmp/script.sh weiterhin.
Für wen es sich eignet
Passt zu Servern und aufgeräumten Desktops, auf denen Software aus dem Paketmanager kommt. Entwickler und alle, die Software bauen oder Installer ausführen, sollten es sich zweimal überlegen, denn vieles Werkzeug erwartet, Dinge aus /tmp auszuführen.
Was Sie bemerken könnten
Programme scheitern mit Permission denied oder failed to map segment from shared object. Installer, Build-Werkzeuge, Paket-Skripte und manche Java- oder Python-Module, die Code nach /tmp auspacken, sind die üblichen Betroffenen.
Auf Ihrem Computer prüfen
Die Optionen des Einhängepunkts ansehen:
findmnt -no OPTIONS /tmp Von Hand anwenden
Fügen Sie die Option beim Einhängepunkt in /etc/fstab oder in einer systemd-Mount-Unit hinzu und hängen Sie ihn dann neu ein:
# /etc/fstab, add "noexec" to the options of /tmp, for example:
tmpfs /tmp tmpfs defaults,noexec 0 0
sudo mount -o remount /tmp Rückgängig machen
Entfernen Sie die Option wieder und hängen Sie neu ein.
Verwandte Einstellungen
Quellen
- Linux Hardening Guide (madaidans)
- 17