Cloud-Server können durch verschiedene Faktoren kompromittiert werden:schwache Passwörter, schwache IP-Tabellen, alte Softwareversionen mit bekannten Exploits und so weiter.
Wenn Ihr Cloud-Server kompromittiert wurde, geraten Sie nicht in Panik. Panik führt zu Fehlentscheidungen, die die Situation verschlimmern könnten. Versuchen Sie stattdessen zu verstehen, was passiert ist, und stellen Sie sicher, dass Ihr Cloud-Server nicht erneut auf die gleiche Weise kompromittiert wird. Das Ziel dieses Artikels ist es, Ihnen zu helfen, aus Ihren Fehlern zu lernen und zu vermeiden, dieselben Fehler zu wiederholen.
Dieser Artikel beschreibt einige Techniken und Tools, mit denen Sie Ihre Server untersuchen können, wenn Sie vermuten, dass sie kompromittiert wurden. Sie sollten diese Tools verwenden, bevor Sie in den Rettungsmodus wechseln (weitere Informationen zum Rettungsmodus finden Sie unter Prüfen auf eine Sicherheitskompromittierung:Untersuchung des Rettungsmodus). Auf dem für diesen Artikel verwendeten Cloud-Server wurde Ubuntu® 8.10 ausgeführt. Die gezeigten Schritte sind jedoch für andere Linux®-Distributionen ähnlich.
Wichtige Warnung
Bevor Sie fortfahren, müssen Sie eine wichtige Entscheidung treffen. Planen Sie, die Strafverfolgungsbehörden einzubeziehen und den Angreifer strafrechtlich zu verfolgen? Wenn Sie dies tun, lassen Sie das kompromittierte System in Ruhe und nehmen Sie keine Änderungen daran vor. Alle Änderungen, die Sie nach dem Angriff vornehmen, könnten die Beweise verfälschen und die Untersuchung erschweren. Aus diesem Grund besteht eine gängige Richtlinie darin, ein System auszuschalten, nachdem eine Kompromittierung erkannt wurde, und es so lange ausgeschaltet zu lassen, bis die Strafverfolgung bereit ist, Nachforschungen anzustellen.
Netzwerkverbindungen prüfen
Beginnen Sie Ihre Untersuchung, indem Sie die Netzwerkverbindungen Ihres Cloud-Servers überprüfen.
Verwenden Sie netstat -an
Befehl, der eine Ausgabe ähnlich dem folgenden Beispiel erzeugt, um nach offenen Hintertüren auf Ihrem Cloud-Server zu suchen.
netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
tcp 0 284 1.2.3.4:6697 5.6.7.8:34506 ESTABLISHED
In diesem Beispiel ist Port 6697 offen. Dieser Port wird häufig von Internet Relay Chat (IRC)-Servern verwendet. Sofern Sie keinen eigenen Chat-Server betreiben, ist dies kein gutes Zeichen. Mit dem folgenden tcpdump
können Sie alle Verbindungen zu diesem Port erkennen Befehl:
tcpdump src port 6697
Dieser Befehl erfasst alle Pakete mit dem Zielport 6697.
lsof verwenden
Viele UNIX®-basierte Systeme verwenden die Liste offener Dateien (lsof
)-Befehlszeilendienstprogramm, um eine Liste aller geöffneten Dateien und der Prozesse, die sie geöffnet haben, zu melden. Standardmäßig behandelt Linux alles, einschließlich Geräte, als Datei. Dies macht lsof
ein sehr mächtiges Werkzeug.
Nicht alle virtuellen Maschinen (VMs) haben lsof
standardmäßig installiert, so dass Sie es möglicherweise mit yum
installieren müssen oder apt-get
wenn Sie die folgende Antwort sehen:
-bash: lsof: command not found
Beispielsweise können Sie lsof
verwenden um zu sehen, welcher Benutzer eine bestimmte Datei geöffnet hat:
sudo lsof /etc/passwd
Wenn Sie den Benutzernamen unter der Kontrolle des Eindringlings entdecken, können Sie lsof
verwenden um alle laufenden Prozesse des Eindringlings anzuzeigen:
sudo lsof -u hisUserName
lsof
hilft Ihnen auch, Ihre Netzwerkverbindungen zu überprüfen. Es ist wichtig, verschiedene Aspekte Ihres Cloud-Servers mit mehreren Tools zu untersuchen, denn wenn Sie vermuten, dass das System kompromittiert ist, können Sie nicht sicher sein, welche Befehle zuverlässige Ergebnisse liefern. Auch lsof
bietet einige Optionen, die netstat
nicht.
Führen Sie den folgenden Befehl aus, um alle offenen IP-Sockets aufzulisten, die dem Secure Shell-Server (SSH) Ihres Cloud-Servers zugeordnet sind:
sudo lsof -i:22
Zusammenfassung
In diesem Artikel haben Sie einige Techniken kennengelernt, mit denen Sie Hintertüren entdecken und Eindringlinge auf Ihrem Server verfolgen können. Diese Techniken helfen Ihnen, die Situation oder den Fehler, die bzw. der zu der Kompromittierung geführt hat, nicht zu wiederholen, sodass Sie mit geringerer Wahrscheinlichkeit erneut auf die gleiche Weise gehackt werden. Im nächsten Artikel, Auf eine Sicherheitskompromittierung prüfen:Untersuchung im Rettungsmodus, erfahren Sie, wie Sie Ihren Cloud-Server im Rettungsmodus untersuchen.