/tmp mit „noexec“ unter Debian Linux

Das /tmp Verzeichnis beinhaltet eine Menge Dateien, die z.B. über Uploadformulare oder Web-Applikationen auf den Rechner kommen und eventuell durch fehlerhafte Anwendungen ausgeführt werden können. Dies passiert meistens nur in dem /tmp Verzeichnis, da alle Dateien über den Webserver meistens zuerst an diesen Ort kopiert werden oder fast jeder Benutzer auf dem System Zugriff auf diesen Ordner hat.

Damit die lieben Hacker, Würmer oder Trojaner sich nicht im /tmp Verzeichnis ausführen lassen, setzten wir das Verzeichnis auf „noexec“. Damit können in diesem Ordner keine Dateien mehr ausgeführt werden, sehr wohl aber gelesen, geschrieben und Verzeichnisse können weiter benutzt werden.

Jeder Vorteil hat auch seine Nachteile. Debian’s apt- und dpkg-tools benutzen das Verzeichnis, um Software zu installieren bzw. zu aktualisieren, da in diesem Verzeichnis Konfigurationsskripts ausgeführt werden.

Als Lösung für das Problem steht das remounten des Verzeichnisses vor jeder Installation.

Ausführbar nach diesem Befehl: „mount -o remount,exec /tmp„;

Nicht mehr ausführbar nach diesem Befehl: „mount -o remount,noexec /tmp„;

Schön ist das, doch wenn man es vergisst oder die fehlgeschlagene Konfiguration übersieht. Dafür bietet apt eine Lösung:

DPkg::Pre-Install-Pkgs {„mount -o remount,exec /tmp“;};
DPkg::Post-Invoke {„mount -o remount /tmp“;};

Sehr schöne Lösung und wird jedem Admin gefallen 😉

Greetz

Konstantin

Quellen:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.