Wie überprüfe ich, ob ein Linux-Server frei von Rootkits / Backdoors / Botnets usw. ist?

9

Wenn ein Linux-Server eine Woche lang mit extrem niedrigen Sicherheitsrichtlinien (r / w anonyme Samba-Ordner, Firebird-Datenbankserver mit Standard-Administratorkennwort, keine Firewall usw.) dem Internet ausgesetzt war, wie stelle ich dann sicher, dass das System funktionsfähig ist? nicht kompromittiert ohne vollständige Formatierung und Neuinstallation, nur remote über SSH darauf zugreifen?

Ivan
quelle

Antworten:

7

Normalerweise würde ich eine lokale Prüfung mit einem Tool wie chkrootkit vorschlagen. Wenn die Prüfung jedoch nur aus der Ferne ausgeführt werden kann, würde ich empfehlen, stattdessen Rootkit Hunter zu verwenden.

Rookit Hunter sucht nach Rootkits und anderen derartigen Aktivitäten, indem Tests wie die folgenden ausgeführt werden ( weitere Informationen finden Sie unter Projektinformationen ):

  • MD5 Hash vergleichen
  • Suchen Sie nach Standarddateien, die von Rootkits verwendet werden
  • Falsche Dateiberechtigungen für Binärdateien
  • Suchen Sie in LKM- und KLD-Modulen nach verdächtigen Zeichenfolgen
  • Suchen Sie nach versteckten Dateien

Ich möchte hinzufügen, dass, wie andere gesagt haben, der einzig sichere Weg, um sicherzustellen, dass Ihr Service nicht manipuliert wurde, darin besteht, ihn neu zu erstellen. Diese Tools funktionieren gut, sind jedoch keine 100% ige Erfolgsgarantie.

runlevelsix
quelle
2

OSSEC sucht nach Rootkits und erkennt verdächtige Aktivitäten.

chmeee
quelle
2

Ich weiß, dass diese Antwort nicht das ist, was Sie hören möchten, aber hier gehen wir trotzdem. Es gibt einige Tools, die das System überprüfen können. Der beste Weg, um sicherzustellen, dass das System sauber ist, besteht darin, den Server zu löschen und neu zu erstellen. Ich würde folgendes tun:

  • Entfernen Sie den Computer aus dem Internet
  • Sichern Sie Daten und Konfigurationsinformationen, um Geräte zu entfernen
  • Speicher formatieren
  • Installieren Sie Base / Standard Setup / Updates neu
  • Konfigurieren Sie den Server mit alten Daten als Referenz neu
  • Wiederherstellen von Benutzerdaten

Hier sind einige Ressourcen, die ich lesen würde, wenn Sie es noch nicht getan haben.

[Linktext] [1] Linktext Linktext Linktext

[1]: http://www.sans.org/reading_room/whitepapers/linux/linux-rootkits-beginners-prevention-removal_901 "Linux Rootkits Beginners"

JJ01
quelle
2

Auch nicht die gewünschte Antwort, aber wenn die Möglichkeit besteht, dass ein System gerootet wurde, kann es sehr schwierig sein, 100% sicher zu sein, dass das System sauber ist. Rootkits sind so konzipiert, dass sie schwer zu erkennen sind. Wenn Sie die verschiedenen Root-Checker ausführen und sie sauber auschecken, ist Ihr System "höchstwahrscheinlich" sauber.

Wenn die Sicherheit ein Problem darstellt, würde ich in Betracht ziehen, sie wie oben beschrieben neu zu erstellen oder aus guten Backups wiederherzustellen.

USACASD
quelle
1

Sie müssen hier wirklich proaktiv sein. Es gibt keine zuverlässige Möglichkeit, Rootkits auf Computern zu erkennen. Sie müssen daher zunächst verhindern, dass sie dort ankommen, und Wege finden, sie bei der Eingabe zu erkennen (z. B. über Tripwire und gesperrte Schnittstellen).

Wenn Sie der Meinung sind, dass eine Maschine in irgendeiner Weise ausgenutzt wurde, müssen Sie sie wirklich neu installieren - es gibt keine garantierte Möglichkeit, sie vor einer Neuinstallation zu bereinigen. Bei weitem die sicherste Option.

Adam Gibbins
quelle
1

RKhunter, Tripwire usw. sind großartig, aber nur dann von Vorteil, wenn sie vor dem Vorfall installiert wurden. Dies liegt daran, dass sie hervorragend geeignet sind, um festzustellen, ob Schlüsseldateien geändert wurden. Wenn Sie RKHunter jetzt installieren und ausführen, werden viele Rootkits erkannt, es werden jedoch keine Hintertüren erkannt, die ein Angreifer im Betriebssystem oder in den von Ihnen verwendeten Anwendungen geöffnet hat.

Sie könnten sich beispielsweise auf einen Computer schleichen, einen neuen Benutzer erstellen, ihm SSH- und Sudo-Berechtigungen erteilen und anschließend bereinigen, wobei eine legitim aussehende Konfiguration und keine Rootkits verbleiben. Kommen Sie später zurück und tun Sie Ihr Übel.

Am besten überprüfen Sie, welche Ports von Diensten überwacht werden, und überprüfen Sie dann die Konfiguration all dieser Dienste und stellen Sie sicher, dass sie alle legitim sind. Sehen Sie sich dann Ihre Firewall-Konfiguration an und sperren Sie nicht benötigte Ports, sowohl eingehende als auch ausgehende. Installieren Sie dann RKHunter usw., um zu sehen, ob ein Script-Kiddie ein Root-Kit unordentlich dort abgelegt hat.

Um ehrlich zu sein, ist es wahrscheinlich weniger Arbeit, das zu tun, was JJ vorgeschlagen und neu aufgebaut hat, als absolut sicherzustellen, dass der Computer nicht kompromittiert wurde. Es sind die Daten, die wertvoll sind, nicht das Betriebssystem und die Konfiguration (abgesehen von den Arbeitsstunden beim Einrichten).

Sie werden nie sicher sein, dass es nicht von jemandem geknackt wurde, der schlauer ist als Sie.

dunxd
quelle
0

Der erste Schritt sollte eigentlich rkhunter / chkrootkit sein, aber ich hatte in der Vergangenheit auch viel Glück mit den Funktionen, die in bestimmten Paketmanagern enthalten sind, zum Beispiel 'rpmverify', das alle Pakete auf Ihrem System durchläuft und dies überprüft Die MD5-Summen der enthaltenen Dateien unterscheiden sich nicht von den Dateien auf der Festplatte.

Core-Binärdateien sollten wirklich identische MD5s haben wie in den RPM- oder DPKG-Datenbanken angegeben. Wenn sie sich also unterscheiden, wissen Sie, dass etwas Seltsames vor sich geht.

JamesHannah
quelle
-1

Der effektivste Weg, um festzustellen, ob Ihr laufendes System gefährdet ist, ist die Verwendung von Second Look . Der Kernel und die gesamte laufende Software im Speicher werden überprüft, um sicherzustellen, dass sie mit dem übereinstimmen, was der Distributionsanbieter geliefert hat. Dies ist ein weitaus besserer Ansatz als rkhunter, chkrootkit usw., die nach Artefakten bestimmter bekannter Infektionen suchen . Second Look macht keine Annahmen über die Integrität des Betriebssystems, sodass Sie es vor einem Vorfall nicht verwendet oder installiert haben müssen.

(Haftungsausschluss: Ich bin der Hauptentwickler von Second Look.)

Andrew Tappert
quelle