
Ich wollte wissen, wie viel Schaden jemand anrichten kann, der sich über ein Nicht-Root-Konto Zugriff auf meinen Server verschafft.
Nachdem ich su someuser
diesen Befehl verwendet habe, um alle beschreibbaren Dateien und Ordner zu finden.
find / -writable >> list.txt
Hier ist das Ergebnis. Es ist meistens /dev/irgendwas und /proc/irgendwas und diese
/var/lock
/var/run/mysqld/mysqld.sock
/var/tmp
/var/lib/php5
Ist mein System sicher? /var/tmp macht Sinn, aber ich bin mir nicht sicher, warum dieser Benutzer Schreibzugriff auf diese Ordner hat. Soll ich sie ändern?
stat /var/lib/php5
gibt mir 1733, was seltsam ist. Warum Schreibzugriff? Warum kein Lesezugriff? Ist das eine seltsame Verwendung einer temporären Datei?
Antwort1
Benutzer benötigen Zugriff auf bestimmte Bereiche auf Systemebene, um bestimmte Software ausführen zu können. Beispielsweise /var/run/mysqld/mysqld.sock
muss der Zugriff möglich sein, damit sie mit Datenbanken interagieren können.
/var/run enthält im Allgemeinen Laufzeitdaten wie Unix-Sockets und PID-Dateien.
/var/lock enthält Sperrdateien, mit denen die Software Lese-/Schreibkollisionen usw. verhindern und das exklusive Öffnen von Dateien (Dateisperren usw.) ermöglichen kann.
Die Datei /var/lib/php5 hat einen ganz speziellen Dateizugriffsmodus – 1733 – die 1 am Anfang ist wichtig:
Ausman chmod
1000 (the sticky bit). See chmod(2) and sticky(8).
Also man sticky
erhalten wir:
STICKY DIRECTORIES
A directory whose `sticky bit' is set becomes an append-only directory,
or, more accurately, a directory in which the deletion of files is
restricted. A file in a sticky directory may only be removed or renamed
by a user if the user has write permission for the directory and the user
is the owner of the file, the owner of the directory, or the super-user.
This feature is usefully applied to directories such as /tmp which must
be publicly writable but should deny users the license to arbitrarily
delete or rename each others' files.
Das bedeutet, dass es sich um einen speziellen Sicherheitsmodus handelt, der es einem Benutzer ermöglicht, Dateien in einem Verzeichnis zu erstellen oder zu bearbeiten, aber nur der Besitzer der Datei selbst kann sie löschen.