Website-Suche

Suchen Sie nach setuid-Binärdateien, um die Linux-Serverhärtung durchzuführen


Der Zweck dieses Tutorials besteht darin, setuid-Binärdateien unter Linux zu finden. Es ist sehr gut möglich, dass auf Ihrem Linux-Server mehr Pakete installiert sind, als Sie wirklich benötigen. Um es noch schlimmer zu machen, können diese zusätzlichen Pakete eine Handvoll Binärdateien enthalten, bei denen setuid und setguid aktiviert sind.

Auf Linux-Systemen haben einige Binärdateien eine setuid-Berechtigung, die eine spezielle Linux-Berechtigung ist, die bewirkt, dass eine ausführbare Datei nicht mit den Rechten des Benutzers ausgeführt wird, der sie gestartet hat, sondern mit denen des Dateibesitzers.

Wenn eine oder mehrere Binärdateien Ihres Systems die setuid-Berechtigung gesetzt haben, kann dies zu unnötigen Risiken führen, da es nur eine Frage der Zeit sein könnte, dass einige Ihrer Shell-Benutzer diese Sicherheitslücke ausnutzen, um Root-Rechte zu erhalten.

In diesem Tutorial lernen Sie:

  • So finden Sie setuid-Binärdateien unter Linux
  • So entfernen Sie setuid und setgid-Berechtigungen aus Binärdateien

Server-Hardening durch Eliminierung von setuid- und setgid-Binärdateien

Führen Sie die folgenden Schritte aus, um eine Liste der Binärdateien auf Ihrem System zu erstellen, die entweder die Berechtigung setuid oder setgid festgelegt haben.

  1. Der folgende Linux-Befehl erstellt eine Liste aller ausführbaren Dateien auf Ihrem System mit setuid.

    
    find / * -perm -4000 -type f -exec ls -ld {} \; > setuid.txt
    
  2. Da im vorherigen Beispiel jede Datei auf Ihrem System durchsucht wird, ist es möglicherweise effizienter, die Suche auf Verzeichnisse zu beschränken, in denen Binärdateien normalerweise gespeichert werden, z. B. /usr/bin.

    
    find /usr/bin * -perm -4000 -type f -exec ls -ld {} \; > setuid.txt
    
  3. Als nächstes können Sie eine Liste aller Dateien abrufen, die setgid-Berechtigungen haben.

    
    find / * -perm -2000 -type f -exec ls -ld {} \; > setgid.txt
    
  4. Überprüfen Sie die in setuid.txt und setgid.txt aufgelisteten Dateien sorgfältig und entfernen Sie mit dem folgenden Befehl die "s"-Bits aus jeder beliebigen Binärdatei:

    
    chmod a-s /path/to/binary/file
    

WARNING
Bitte beachten Sie, dass Sie die setuid- und setgid-Berechtigungen nicht von allen Binärdateien, die Sie finden, entfernen müssen (und sollten). Sie sollten nur mit Binärdateien beginnen, die nicht verwendet werden.

Indem Sie setuid und setgid aus einer ausführbaren Binärdatei entfernen, machen Sie diese ausführbare Datei nicht unbrauchbar. Allerdings kann nur der Superuser diese Binärdateien in die Tat umsetzen, indem er sie ausführt.

Abschließende Gedanken

In diesem Tutorial haben wir gesehen, wie man setuid-Binärdateien unter Linux findet. Diese Dateien enthalten spezielle Berechtigungen und können, wenn sie für die falsche Datei verwendet werden, einen Exploit für Benutzer mit regulären Berechtigungen darstellen. Das Entfernen von setuid- und setgid-Berechtigungen aus Binärdateien, die sie nicht benötigen, hilft dabei, Ihren Linux-Server zu härten.

Verwandte Artikel: