Ich versuche, eine Einschränkung für procfs vorzunehmen, sodass nur bestimmte Mitgliedergruppen Lese- und Schreibaktionen ausführen können.
Kerneldokumentsagt, dass wir das tun können, indem wir hidepid
und gid
in setzen /etc/fstab
. Dadurch wird der böswillige Benutzer daran gehindert, Lese- und Schreibvorgänge auf procfs durchzuführen, aber ich habe Zweifel, ob es für einen böswilligen Benutzer (eingeschränkt in /etc/fstab
) möglich ist, auf Inhalte in profs mit einem Systemaufruf statt mit einer fs-Operation wie Lesen und Schreiben zuzugreifen.
Antwort1
/proc
Istdie Schnittstelle zwischen Kernel und Benutzerbereich für alle Inhalte, und die meisten dieser Inhalte sind auf keine andere Weise verfügbar (für Inhalte unter PID-Verzeichnissen, außerhalb dieses Prozesses). Dies hidepid=2
ist effektiv, um Informationen wie die Befehlszeile und Umgebung eines Prozesses vor anderen Benutzern zu verbergen.
Einige Informationen können durch Nebeneffekte ermittelt werden. Beispielsweise kann die Existenz eines Prozesses mit einer bestimmten PID ermittelt werden, indem versucht wird, ihn mit dem Signal 0 zu beenden: kill()
schlägt fehl, ESRCH
wenn ein Prozess nicht existiert, EPERM
wenn der aufrufende Prozess nicht über die richtigen Berechtigungen verfügt. Ebenso können offene Ports ermittelt werden, indem versucht wird, eine Verbindung zu ihnen herzustellen.