Ransomware hat kürzlich einige ungesicherte MongoDB-Installationen angegriffen und die Daten als Lösegeld gehalten. Hier werden wir sehen, was ist MongoDB und werfen Sie einen Blick auf einige Schritte, die Sie unternehmen können, um die MongoDB-Datenbank zu sichern und zu schützen. Hier ist zunächst eine kurze Einführung in MongoDB.
Was ist MongoDB
MongoDB ist eine Open-Source-Datenbank, die Daten mithilfe eines flexiblen Dokumentdatenmodells speichert. MongoDB unterscheidet sich von herkömmlichen Datenbanken, die mit Tabellen und Zeilen erstellt werden, während MongoDB eine Architektur von Sammlungen und Dokumenten verwendet.
Nach einem dynamischen Schemadesign ermöglicht MongoDB, dass die Dokumente in einer Sammlung unterschiedliche Felder und Strukturen haben. Die Datenbank verwendet ein Dokumentenspeicher- und Datenaustauschformat namens BSON, das eine binäre Darstellung von JSON-ähnlichen Dokumenten bereitstellt. Dadurch wird die Datenintegration für bestimmte Arten von Anwendungen schneller und einfacher.
Ransomware greift MongoDB-Daten an
Kürzlich Victor Gevers, ein Sicherheitsforscher getwittert dass es eine Reihe von Ransomware-Angriffen auf schlecht gesicherte MongoDB-Installationen gab. Die Angriffe begannen letzten Dezember um Weihnachten 2016 herum und haben seitdem Tausende von MongoDB-Servern infiziert.
Zunächst entdeckte Victor 200 MongoDB-Installationen, die angegriffen und für Lösegeld gehalten wurden. Allerdings stiegen die infizierten Installationen bald auf 2000 DBs, wie von einem anderen Sicherheitsforscher, Shodan-Gründer John Matherly, berichtet wurde, und am Ende des 1st Woche 2017 betrug die Zahl der kompromittierten Systeme mehr als 27.000.
Lösegeld gefordert
Erste Berichte deuten darauf hin, dass Angreifer 0,2 Bitcoins (ca. 184 US-Dollar) als Lösegeld forderten, das von 22 Opfern bezahlt wurde. Aktuell haben die Angreifer den Lösegeldbetrag erhöht und fordern nun 1 Bitcoin (ca. 906 USD).
Seit der Offenlegung haben die Sicherheitsforscher mehr als 15 Hacker identifiziert, die an der Entführung von MongoDB-Servern beteiligt waren. Unter ihnen ein Angreifer, der E-Mail-Handle verwendet kraken0 verfügt über mehr als 15.482 MongoDB-Server kompromittiert und verlangt 1 Bitcoin, um die verlorenen Daten zurückzugeben.
Bis jetzt ist die Zahl der gekaperten MongoDB-Server auf über 28.000 angewachsen, da immer mehr Hacker dasselbe tun – für Ransom auf schlecht konfigurierte Datenbanken zugreifen, diese kopieren und löschen. Darüber hinaus hat Kraken, eine Gruppe, die zuvor an der Verbreitung von Windows Ransomware beteiligt war, hat sich angeschlossen zu.
Wie schleicht sich die MongoDB Ransomware ein
Ziel der Hacker waren MongoDB-Server, die ohne Passwort über das Internet erreichbar sind. Daher Serveradministratoren, die sich entschieden haben, ihre Server zu betreiben ohne Passwort und beschäftigt Standardbenutzernamen wurden von den Hackern leicht entdeckt.
Was noch schlimmer ist, es gibt Fälle, in denen derselbe Server existiert von verschiedenen Hackergruppen erneut gehackt die bestehende Lösegeldscheine durch ihre eigenen ersetzt haben, sodass die Opfer nicht wissen können, ob sie überhaupt den richtigen Verbrecher bezahlen, geschweige denn, ob ihre Daten wiederhergestellt werden können. Daher gibt es keine Gewissheit, ob gestohlene Daten zurückgegeben werden. Selbst wenn Sie das Lösegeld bezahlt haben, können Ihre Daten daher immer noch weg sein.
MongoDB-Sicherheit
Es ist ein Muss, dass Serveradministratoren ein starkes Passwort und einen Benutzernamen für den Zugriff auf die Datenbank zuweisen müssen. Unternehmen, die die Standardinstallation von MongoDB verwenden, wird dies ebenfalls empfohlen ihre Software aktualisierenAuthentifizierung einrichten und Port 27017 sperren die am meisten von den Hackern angegriffen wurde.
Schritte zum Schutz Ihrer MongoDB-Daten
- Zugriffskontrolle und Authentifizierung erzwingen
Beginnen Sie damit, die Zugriffskontrolle Ihres Servers zu aktivieren, und geben Sie den Authentifizierungsmechanismus an. Die Authentifizierung erfordert, dass alle Benutzer gültige Anmeldeinformationen angeben, bevor sie eine Verbindung zum Server herstellen können.
Das Neueste MongoDB 3.4 Release ermöglicht es Ihnen, die Authentifizierung für ein ungeschütztes System ohne Ausfallzeiten zu konfigurieren.
- Richten Sie die rollenbasierte Zugriffskontrolle ein
Anstatt einer Gruppe von Benutzern vollen Zugriff zu gewähren, erstellen Sie Rollen, die den genauen Zugriff definieren, den eine Gruppe von Benutzern benötigt. Befolgen Sie das Prinzip der geringsten Privilegien. Erstellen Sie dann Benutzer und weisen Sie ihnen nur die Rollen zu, die sie zum Ausführen ihrer Vorgänge benötigen.
- Kommunikation verschlüsseln
Verschlüsselte Daten sind schwer zu interpretieren, und nicht viele Hacker sind in der Lage, sie erfolgreich zu entschlüsseln. Konfigurieren Sie MongoDB so, dass TLS/SSL für alle eingehenden und ausgehenden Verbindungen verwendet wird. Verwenden Sie TLS/SSL, um die Kommunikation zwischen Mongod- und Mongos-Komponenten eines MongoDB-Clients sowie zwischen allen Anwendungen und MongoDB zu verschlüsseln.
Mit MongoDB Enterprise 3.2 kann die native Encryption at Rest der WiredTiger-Speicher-Engine so konfiguriert werden, dass Daten in der Speicherschicht verschlüsselt werden. Wenn Sie die Verschlüsselung von WiredTiger im Ruhezustand nicht verwenden, sollten MongoDB-Daten auf jedem Host mit Dateisystem-, Geräte- oder physischer Verschlüsselung verschlüsselt werden.
- Begrenzen Sie die Netzwerkexposition
Um die Netzwerkexposition zu begrenzen, stellen Sie sicher, dass MongoDB in einer vertrauenswürdigen Netzwerkumgebung ausgeführt wird. Administratoren sollten nur vertrauenswürdigen Clients den Zugriff auf die Netzwerkschnittstellen und Ports erlauben, auf denen MongoDB-Instanzen verfügbar sind.
- Sichern Sie Ihre Daten
MongoDB Cloud Manager und MongoDB Ops Manager bieten kontinuierliches Backup mit Point-in-Time-Wiederherstellung, und Benutzer können Warnungen in Cloud Manager aktivieren, um zu erkennen, ob ihre Bereitstellung dem Internet ausgesetzt ist
- Audit-Systemaktivität
Regelmäßige Überwachungssysteme stellen sicher, dass Sie über alle unregelmäßigen Änderungen an Ihrer Datenbank informiert sind. Verfolgen Sie den Zugriff auf Datenbankkonfigurationen und Daten. MongoDB Enterprise enthält eine Systemprüffunktion, die Systemereignisse in einer MongoDB-Instanz aufzeichnen kann.
- Führen Sie MongoDB mit einem dedizierten Benutzer aus
Führen Sie MongoDB-Prozesse mit einem dedizierten Benutzerkonto des Betriebssystems aus. Stellen Sie sicher, dass das Konto über Berechtigungen zum Zugriff auf Daten, aber keine unnötigen Berechtigungen verfügt.
- Führen Sie MongoDB mit sicheren Konfigurationsoptionen aus
MongoDB unterstützt die Ausführung von JavaScript-Code für bestimmte serverseitige Operationen: mapReduce, group und $where. Wenn Sie diese Vorgänge nicht verwenden, deaktivieren Sie das serverseitige Scripting mit der Option –diving in der Befehlszeile.
Verwenden Sie bei Produktionsbereitstellungen nur das MongoDB-Wire-Protokoll. Lassen Sie die Eingabevalidierung aktiviert. MongoDB aktiviert standardmäßig die Eingabevalidierung über die Einstellung „wireObjectCheck“. Dadurch wird sichergestellt, dass alle von der Mongod-Instanz gespeicherten Dokumente gültige BSON sind.
- Fordern Sie einen technischen Sicherheitsimplementierungsleitfaden an (falls zutreffend)
Der Security Technical Implementation Guide (STIG) enthält Sicherheitsrichtlinien für Bereitstellungen innerhalb des US-Verteidigungsministeriums. MongoDB Inc. stellt seinen STIG auf Anfrage für Situationen zur Verfügung, in denen dies erforderlich ist. Sie können eine Kopie für weitere Informationen anfordern.
- Berücksichtigen Sie die Einhaltung von Sicherheitsstandards
Informationen zu Anwendungen, die HIPAA- oder PCI-DSS-Konformität erfordern, finden Sie in der MongoDB-Sicherheitsreferenzarchitektur hier um mehr darüber zu erfahren, wie Sie die wichtigsten Sicherheitsfunktionen zum Aufbau einer konformen Anwendungsinfrastruktur nutzen können.
So finden Sie heraus, ob Ihre MongoDB-Installation gehackt wurde
- Überprüfen Sie Ihre Datenbanken und Sammlungen. Die Hacker löschen normalerweise Datenbanken und Sammlungen und ersetzen sie durch eine neue, während sie ein Lösegeld für das Original fordern
- Wenn die Zugriffskontrolle aktiviert ist, prüfen Sie die Systemprotokolle, um unbefugte Zugriffsversuche oder verdächtige Aktivitäten zu finden. Suchen Sie nach Befehlen, die Ihre Daten gelöscht, Benutzer geändert oder den Lösegeldforderungsdatensatz erstellt haben.
Beachten Sie, dass es keine Garantie dafür gibt, dass Ihre Daten zurückgegeben werden, selbst nachdem Sie das Lösegeld bezahlt haben. Daher sollte Ihre erste Priorität nach einem Angriff darin bestehen, Ihre(n) Cluster(s) zu sichern, um weiteren unbefugten Zugriff zu verhindern.
Wie schütze ich meine MongoDB-Datenbank?
Es gibt mehrere Dinge, die Sie tun können, um Ihre MongoDB-Datenbank zu schützen, und einige der Tipps und Tricks werden in diesem Artikel erwähnt. Beispielsweise können Sie die Zugriffskontrolle und Authentifizierung erzwingen, eine rollenbasierte Zugriffskontrolle konfigurieren, Ihre Kommunikation verschlüsseln, ein Limit für die Netzwerkexposition festlegen usw. Abgesehen davon wird empfohlen, Ihre Daten kontinuierlich zu sichern, damit Sie dies immer tun können Auf der sicheren Seite.
Ist MongoDB eine sichere Datenbank?
Ja, MongoDB ist eine sichere Datenbank, die Sie für fast jeden Zweck verwenden können. Es ist eine großartige Alternative zu Apache, DynamoDB, Redis usw. Apropos Sicherheit, Sie können es verwenden, um Dinge für Ihre Projekte zu erledigen. Es sind mehrere Sicherheitsmaßnahmen erforderlich, um die Dinge für die Benutzer sicher und sicher zu machen.
Wenn Sie Backups erstellen, können Sie zum Zeitpunkt der Wiederherstellung der neuesten Version auswerten, welche Daten sich seit dem letzten Backup und dem Zeitpunkt des Angriffs geändert haben könnten. Weitere Informationen finden Sie unter mongodb.com.