Navigation und Service

CERT-Bund-Reports

Offene MongoDB-Server

MongoDB ist ein so genanntes NoSQL-Datenbanksystem, welches häufig in Verbindung mit Web-Applikationen eingesetzt wird. 

Problem

Der Zugriff auf einen MongoDB-Server sollte nur von vertrauenswürdigen Systemen (zum Beispiel dem Server einer Web-Applikation) aus möglich sein. Ist ein MongoDB-Server offen aus dem Internet erreichbar, kann ein Angreifer dies ausnutzen, um unberechtigt auf den Server zuzugreifen und ggf. Daten zu modifizieren, zu löschen oder sensible Informationen wie Kundendaten von Online-Shops auszuspähen.

Prüfung

Dieser Abschnitt beschreibt, wie Sie Ihr System auf einen offenen Dienst prüfen können. Es existieren üblicherweise mehrere Wege, dies zu testen. Das hier beschriebene Verfahren ist eines davon. Für alle hier beschriebenen Testverfahren werden Programme verwendet, die in gängigen Linux/Unix-Distributionen enthalten sind. Um zu überprüfen, ob ein Dienst offen aus dem Internet erreichbar ist, sollte die Prüfung nicht auf dem System selbst oder im lokalen Netzwerk erfolgen, sondern von einem anderen System im Internet, zum Beispiel an einem Kabel/DSL-Internetzugang. In allen Beispielen muss 192.168.45.67 durch die IP-Adresse des Systems ersetzt werden, welches geprüft werden soll.

Um zu überprüfen, ob ein MongoDB-Server offen aus dem Internet erreichbar ist, kann der MongoDB-Client 'mongo' wie folgt verwendet werden:

$ mongo --host 192.168.45.67

Kann erfolgreich eine Verbindung zu dem MongoDB-Server hergestellt werden, erfolgt eine Ausgabe wie diese:

MongoDB shell version: 2.4.10
connecting to: 192.168.45.67:27017/test
>

Wenn keine Verbindung zu dem MongoDB-Server hergestellt werden kann, läuft die Verbindung in einen Timeout:

Fri Feb  5 10:25:42 Error: couldn't connect to server 192.168.45.67:27017 shell/mongo.js:86
exception: connect failed

Lösung

  • Stellen Sie Ihren MongoDB-Server nicht offen ins Internet!
  • Beschränken Sie in der Konfiguration des MongoDB-Servers oder durch Blockieren eingehender Verbindungen aus dem Internet auf Port 27017/tcp auf der Firewall den Zugriff auf den MongoDB-Server auf vertrauenswürdige Systeme (zum Beispiel den Server der Webanwendung).
  • Beachten Sie die Sicherheitsempfehlungen des Herstellers.
  • Halten Sie Ihre MongoDB-Installation auf dem aktuellen Stand. Installieren Sie verfügbare Sicherheitsupdates zeitnah.

Weitere Informationen