Ich sehe diese beiden Optionen ständig im Web vorgeschlagen, wenn jemand beschreibt, wie man ein tmpfs oder ramfs mounten kann. Oft auch mit noexec aber ich interessiere mich speziell für nodev und nosuid. Ich hasse es einfach blind zu wiederholen, was jemand vorgeschlagen hat, ohne wirklich zu verstehen. Und da ich diesbezüglich nur Anweisungen zum Kopieren / Einfügen im Netz sehe, frage ich hier.
Dies stammt aus der Dokumentation:
nodev - Blockieren Sie keine speziellen Geräte im Dateisystem.
nosuid - Blockiert die Operation von suid- und sgid-Bits.
Aber ich möchte eine praktische Erklärung, was passieren könnte, wenn ich diese beiden auslasse. Angenommen, ich habe tmpfs oder ramfs (ohne diese beiden genannten Optionen) konfiguriert, auf die ein bestimmter Benutzer (kein Root-Benutzer) auf dem System zugreifen kann (Lesen + Schreiben). Was kann dieser Benutzer tun, um dem System Schaden zuzufügen? Ausgenommen der Fall, dass bei RAMs der gesamte verfügbare Systemspeicher verbraucht wird
Antworten:
Sie müssen dies nicht als harte Regel blind befolgen. Die Gründe für sicherheitsrelevantere Situationen lauten jedoch wie folgt.
Die Option nodev mount gibt an, dass das Dateisystem keine speziellen Geräte enthalten darf: Dies ist eine Sicherheitsmaßnahme. Sie möchten nicht, dass ein für Benutzer weltweit zugängliches Dateisystem wie dieses das Potenzial zur Erstellung von Zeichengeräten oder zum Zugriff auf zufällige Gerätehardware hat.
Die Option nosuid mount gibt an, dass das Dateisystem keine festgelegten Benutzer-ID-Dateien enthalten kann. Es ist sinnvoll, setuid-Binärdateien in einem Dateisystem mit Schreibzugriff auf die Welt zu verhindern, da das Risiko einer Root-Eskalation oder einer anderen Schrecklichkeit besteht.
Ich verwende diese Parameter nicht oft, nur auf öffentlich zugänglichen Systemen, bei denen andere Compliance-Aspekte berücksichtigt werden.
quelle
nosuid
wird das setuid bit nicht ignoriert? (anstelle vonThe nosuid mount option specifies that the filesystem cannot contain set userid files
)