Wie Sie eine Sicherheitsverletzung auf Ihrem Server bewältigen
Auf modernen Servern läuft häufig eine Vielzahl von Softwareanwendungen.
In unserem Fall verwenden wir Docker auf dem Server, um mehrere Dienste auszuführen.
Einer dieser Dienste, Gitlab, hatte ein Sicherheitsproblem (genauer gesagt, Gitlab Workhorse).
Das führte zu einer Trojaner-Infektion. (In unserem Fall hießen die Binärdateien "wate", falls dies für jemanden von Bedeutung ist - obwohl es sich auch um rein zufällige Namen handeln könnte).
Wir wurden darauf aufmerksam, weil unser Hoster, Hetzner, unsere IP abschaltete (und mehrere Warnmeldungen verschickte). Der Trojaner war als Teil eines DDoS-Angriffs auf eine chinesische IP verwendet worden und erzeugte verdächtige Mengen an Paketen.
Wir haben gehandelt, und aus dieser Situation sind einige nützliche Erkenntnisse entstanden.
Zum Glück war der Server über eine andere IP erreichbar (übrigens kann man bei Hetzner auch eine IP für 2 Stunden auf eine Whitelist setzen, so dass man auch mit einem Server mit nur einer IP arbeiten kann).
Hier sind einige wichtige Tipps zur Diagnose einer solchen Sicherheitsverletzung
- Keine Panik. Sichern Sie zunächst die Dockerprotokolle (und erstellen Sie möglicherweise ein Backup), bevor Sie den Server herunterfahren - Sie benötigen diese Protokolle möglicherweise, um das Problem zu diagnostizieren.
- prüfen, welche Benutzer zuletzt angemeldet waren / ob neue Konten erstellt wurden
- Verwenden Sie einen Virenscanner auf Ihrem Server (auf dem Host-Betriebssystem für Docker). Wir haben clamav um die Trojaner zu finden.
- Hinweis: Wenn Sie auch einen Mailserver betreiben (wie wir), wird der Virenscanner wahrscheinlich auch viele verdächtige Mails aufspüren.
- Verwenden Sie einen Rootkit-Scanner - wir haben zwei verwendet, rkhunter und chkrootkit
- Verwenden Sie htop, um herauszufinden, welche Prozesse den Server belasten
- Verwenden Sie ein Dienstprogramm zur Überwachung des Netzwerkverkehrs
- die Ausgabe von ps -aux auf verdächtige Prozesse zu überprüfen
Meine Empfehlung lautet, dass vor Wenn Sie den Container herunterfahren, erstellen Sie einen Dump von ps -aux | grep wate (in unserem Fall), um die laufenden Trojanerprozesse zu sehen, und dann nach dem Herunterfahren wieder.
Auf diese Weise können Sie sich vergewissern, dass die Sicherheitsverletzung eingedämmt wurde und sich die Prozesse nicht außerhalb des Docker-Containers ausgebreitet haben.
WordPress-Leistungsprobleme
In dieser Situation traten auch einige WordPress-Performance-Probleme auf - während die Haupt-IP des Servers blockiert war.
Nachdem Hetzner unsere IP freigeschaltet hatte, waren die Leistungsprobleme verschwunden. (Unser anfänglicher Verdacht war, dass der Verstoß in einem WordPress-Container stattgefunden hatte).
Maßnahmen, um die Situation in Zukunft zu vermeiden
- Wir werden automatische Container-Updates einrichten. Der Freund meiner Schwester hat mir den Docker-Container "Watchtower" empfohlen.
- Es gibt ein Tool namens Lynis ein Tool zur Sicherheitsüberprüfung, das wir uns ansehen werden
- Verwenden Sie die Authentifizierung mit öffentlichen/privaten Schlüsseln auf dem Server für SSH. Schränken Sie gezielt die Konten ein, die sich anmelden dürfen
- Verwendung eines SaaS-Überprüfungsdienstes/Scanners - wir planen, dies regelmäßig durchzuführen
- Beginnen Sie mit der Erstellung von rollenden Backups, falls Sie dies noch nicht getan haben - so können Sie zu einem vergangenen Datum zurückkehren
Für Fehler muss man sich nicht schämen - die moderne IT ist ein komplexes Unterfangen. Solange man aus den Situationen lernt und verschiedene Ansätze für IT-Probleme (und das Leben im Allgemeinen) verwendet, gibt es Wachstum und Fortschritt. Das Leben.
Glücklicherweise können die meisten Situationen gemeistert und umgedreht werden. Wir hoffen, dass Sie über Sicherungskopien verfügen und sich von Ihrer Situation erholen können.
Ich wünsche Ihnen viel Glück und danke Ihnen für die Lektüre.