Linux: Mehr Sicherheit durch /tmp-Partition Optionen (noexec)
Es gibt viele Möglichkeiten ein Linux Betriebssystem sicherer zu gestalten. Eine Möglichkeit von vielen ist, den temporären Ordner (/tmp) mit einigen Optionen einzuschränken. Die einzige Voraussetzung ist, dass /tmp eine eigene Partition ist. Dies sollte bereits bei einer Installation von Linux so partitioniert werden.
Zuerst muss man die file system table bearbeiten – kurz auch fstab genannt. Diese wird bei jedem Neustart übernommen. Dort werden die Flags für jede Partition eingestellt.
Öffnen der fstab Datei
nano /etc/fstab
Danach suchen wir die Zeile mit /tmp – meine sieht zum Beispiel wie folgt aus:
/dev/md5 /tmp ext3 defaults,relatime 1 2
Um die Sicherheit nun zu erhöhen, muss noexec am Ende von defaults,relatime hinzugefügt werden. Nach der Änderung sollte es wie folgt aussehen:
/dev/md5 /tmp ext3 defaults,relatime,noexec 1 2
Was macht “noexec“?
noexec bewirkt, dass unter /tmp keine Programme mehr ausgeführt werden können. Sollte also nun wer durch irgendwelche Sicherheitslücke eine Datei dort platzieren können, kann er diese nicht ausführen. Es greifen viele Programme immer auf /tmp zu, um temporäre Daten abzulagern. Sogar bei einem PHP-Script, welches Dateien hochladen kann, werden die Dateien zuerst unter /tmp gespeichert bevor diese weiterverarbeitet werden.
Änderung übernehmen
Normalerweise wird die file system table (kurz fstab)-Datei erst bei einem Neustart übernommen. Da es garantiert einige gibt, die ungerne das System neu starten möchte, kann man diese Änderung auch manuell ausführen. Dafür folgenden Befehl ausführen:
mount -o remount,noexec /tmp
Mit diesem Befehl wird die Partition /tmp neu eingehangen. Unter gewissen Umständen können bei diesem Befehl eventuell einige Prozesse abstürzen, die gerade während dem neueinhängen auf den Mountpoints zugreifen möchten. Ist aber jedoch sehr selten der Fall – das neueinhängen dauert ja nur wenige Augenblicke.