Wie eine Verbindung zu einer Datenbank Über ein Netzwerk

Wenn eine Verbindung zu einer Datenbank, müssen Sie zusätzliche Vorsichtsmaßnahmen ergreifen, wenn es nicht läuft lokal. Alle verbindungen über ein Netzwerk sollte sicher sein, und Sie sollten nie lassen Sie die Datenbank für jeden offen, um brute-force-Verbindung.

Die Beste Lösung: Führen Sie Ihre DB In ein Eigenes Subnetz

Herstellen einer Verbindung über das internet ist riskant. Sie sollten nie lassen Sie einfach Ihre Datenbank zu öffnen, um das web, so wie es ist einfach nur die Steigerung Ihrer Angriffsfläche für keinen Grund. Mit der richtigen Passwörter eingerichtet sind, wird es nicht zulassen, dass jemand zu hacken, dass Sie sofort, aber normalerweise ist es nicht notwendig, um eine Datenbank öffentlich zugänglich sein.

Mit diesem wird gesagt, ist es oft vorteilhaft, auch architektonisch zu haben, die Datenbanken auf unterschiedlichen Servern. Das aufteilen der Datenbank von Ihrem web-Server ermöglicht es Ihnen zu verwalten es individuell. Wenn Sie wollten, skalieren Sie Ihre web-Server, oder fügen Sie read replicas für die Datenbank, es ist leichter zu tun, wenn es zu trennen.

Es läuft auf einer anderen Maschine bedeutet, werden Sie es läuft über eine Art Netzwerk. Die beste Praxis für diese Ausführung ist die Datenbank in einem privaten Subnetz. Die meisten cloud-Anbietern wie AWS, bieten die Möglichkeit, bestimmte Server, privat, so, dass es keine öffentliche IP. Sie können dann die Datenbank, zu hören auf die private IP-Adresse.

Auf diese Weise, verbindungen zu der Datenbank, die nur zufällig in Ihrer VPC oder virtual private cloud. Der Nutzer wird die Verbindung zu Ihrem öffentlichen web-server, die spricht, um die Datenbank für den Benutzer, ohne dass diese selbst wissen, die Adresse des Datenbank-Servers.

Diese Konfiguration ist ziemlich einfach zu setup. Die meisten cloud-Anbieter haben Kontrollen für private Subnetze, aber wenn Sie nur wollen, um zu behandeln sich selbst, Sie können den gleichen Effekt erzielen mit einer firewall, die erlaubt nur verbindungen von privaten Adressen:

sudo ufw allow from 172.16.0.0/12 to any port 22

Dieser block wird jede Anfrage an den server stammt von einer öffentlichen IP, effektiv aussperren der Außenwelt auf den server zugreifen, obwohl Sie wahrscheinlich wollen, zu halten SSH öffnen und in gewisser Weise für administrative Zwecke.

Für Fern-Administration, – Whitelist IPs

Wenn Sie möchten, um den Zugriff auf die Datenbank von Ihrem eigenen Computer, müssen Sie eine Verbindung über das internet. Die einfachste Lösung, um dies zu tun sicher ist nur whitelist die IP von der Maschine, die Sie verwenden für die Verwaltung. Dies bedeutet nicht, ersetzen Sie mit einem Passwort, aber es ist viel besser, als dass jemand erraten es.

In ufw, der Standard-firewall von Ubuntu, können Sie dies ganz einfach gemacht:

sudo ufw allow from 123.123.123.123 zu jedem port 27017

Sie wollen sicherstellen, dass Sie don ‘ T haben keine anderen Regeln erlauben den Zugriff auf diesen port von einer beliebigen IP.

Wenn Sie nicht wollen, dass jeder Datenverkehr über das internet wird das problem ein bisschen komplizierter. Sie müssen zum einrichten eines VPN server wie OpenVPN, das läuft in Ihrem Netzwerk und bietet verwaltet den Zugriff auf die Maschinen in privaten Subnetzen. Sie können die Verbindung zum VPN und haben Ihre Maschine handeln, wie es ist in der gleichen VPC wie die Datenbank, die wird geben Ihnen die Möglichkeit, verbinden Sie es direkt über eine sichere Verbindung. Doing es auf diese Weise ermöglicht die Datenbank-server werden komplett gesperrt, um sich in Ihrem eigenen Netz, das ist ein großer bonus für die Sicherheit.


Posted

in

by

Tags: