MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Sichere MongoDB-Bereitstellung auf Amazon AWS

Letzte Woche bat einer meiner Kunden um Architekturempfehlungen für die sichere Bereitstellung von MongoDB-Produktionsinstanzen auf Amazon EC2 AWS. Das hat mich zum Nachdenken über das Thema gebracht und dieser Blogbeitrag ist das Ergebnis. Viel zu viele Unternehmen stellen ihre MongoDB-Produktionsdatenbanken im Internet zur Verfügung, wenn es bessere Möglichkeiten gibt. Regel Nr. 1 der Sicherheit besteht darin, den physischen Zugriff auf Ihre Datenbankserver einzuschränken. Selbst wenn Ihre Anmeldeinformationen kompromittiert sind, werden die Auswirkungen erheblich reduziert, wenn der Angreifer nicht auf Ihre Server zugreifen kann.

Bevor wir in die Details eintauchen, lassen Sie uns ein wenig zurücktreten und uns daran erinnern, wie IT-Mitarbeiter Datenbanken in der Prä-Amazon-AWS-Welt bereitgestellt haben. Ich kann mich an ein paar verschiedene Konfigurationen erinnern:

1. Dual-Firewall-DMZ-Konfiguration (demilitarisierte Zone)

In dieser Konfiguration werden die Front-Tier- und Mid-Tier-Server in einer DMZ bereitgestellt und die Datenbankserver befinden sich hinter der zweiten Firewall. Die vordere Firewall erlaubt Verbindungen auf den Webports und die hintere Firewall erlaubt nur Verbindungen auf den Datenbankports.

2. VLAN – Weniger beliebt als Dual-Firewall-DMZ

Die Datenbankserver und die Front-End-Server befinden sich in separaten VLANs. In der Trunk-Verbindung zwischen den beiden VLANs sind nur die Datenbankports zulässig.

Technisch hat sich seitdem nicht viel geändert. Allerdings sind die Techniken jetzt anders. Sie sprechen nicht mehr von DMZs und Firewalls, sondern von VPCs und Sicherheitsgruppen. Wenn Sie ein größeres Unternehmen mit IT-Mitarbeitern sind, würde ich mich definitiv mit Amazon VPC befassen. Es gibt Ihnen viel Kontrolle über das Layer-3-Netzwerk und Sie können Ihre Datenbanken in ein privates Subnetz stellen und sie nicht dem Internet aussetzen. Es ist jedoch ein viel längeres Thema für einen anderen Blogbeitrag. Wenn Sie VPC bereits eingerichtet haben und MongoDB in der VPC einrichten möchten, finden Sie hier meinen Blogbeitrag, der Sie durch die Schritte führt – Bereitstellen von MongoDB auf Amazon VPC.

Im Rest dieses Beitrags werde ich mich auf EC2-Classic konzentrieren.

3 Schritte zum Konfigurieren einer Dual-Firewall-DMZ in AWS

1. Erstellen Sie eine Sicherheitsgruppe für Ihre MongoDB-Server

Eine Sicherheitsgruppe kann sich über eine ganze Region erstrecken – selbst wenn Sie also einen Replikatsatz haben, können Sie Ihre Replikate über Verfügbarkeitszonen in der Region verteilen und sie immer noch in derselben Sicherheitsgruppe haben . Erstellen Sie eine Sicherheitsgruppe für Ihre MongoDB-Server und fügen Sie alle Ihre Mongo-Server nur dieser Sicherheitsgruppe hinzu.

2. Erstellen Sie eine Sicherheitsgruppe für Ihre Mid-/Front-Tier-Server

Erstellen Sie eine zusätzliche Sicherheitsgruppe für Ihre MongoDB-Server der mittleren und/oder vorderen Ebene.

3. Konfigurieren Sie Ihren Zugriff auf die MongoDB-Sicherheitsgruppe

Konfigurieren Sie Ihre MongoDB-Sicherheitsgruppe, um den Zugriff auf die Front-Tier-Server nur über die MongoDB-Ports zuzulassen. Konfigurieren Sie Ihre Front-End-Sicherheitsgruppe, um die Webports für das Internet zu öffnen.

Dual-Firewall-DMZ in AWS über ScaleGrid konfigurieren

1. Erstellen Sie eine Sicherheitsgruppe in AWS

Melden Sie sich bei Ihrer Amazon-Konsole an und erstellen Sie eine Sicherheitsgruppe für Ihre Mid-/Front-Tier-Server. Nennen wir die Sicherheitsgruppe „AppServerSG“. Konfigurieren Sie diese Sicherheitsgruppe, um den http/https-Port nach Bedarf zu öffnen. Platzieren Sie Ihre Mid-Tier- und Front-Tier-Server in dieser Sicherheitsgruppe.

2. Erstellen Sie ein ScaleGrid-AWS-Cloud-Profil

Melden Sie sich bei der ScaleGrid-Konsole an und klicken Sie auf die Registerkarte Maschinenpool. Erstellen Sie Ihren eigenen benutzerdefinierten Maschinenpool, damit Sie Mongo-Instances in Ihrem eigenen AWS-Konto bereitstellen und verwalten können. Klicken Sie auf der Registerkarte Maschinenpool auf die Schaltfläche Erstellen. Geben Sie Ihren Amazon-API-Schlüssel und Ihren geheimen Schlüssel ein und drücken Sie Weiter:

3. Wählen Sie Ihre AWS-Region für MongoDB aus

Wählen Sie die AWS-Region Ihrer Wahl für die Bereitstellung von MongoDB aus:

4. Konfigurieren Sie Ihre Zugriffsrichtlinie

Dies ist der Hauptschritt für die Sicherheitskonfiguration. Wählen Sie die Option aus, um nur Computern in einer bestimmten Sicherheitsgruppe den Zugriff auf Ihre MongoDB-Server zu erlauben. Wählen Sie dann die Sicherheitsgruppen aus, denen Sie Zugriff gewähren möchten. Geben Sie einen Namen für Ihren Maschinenpool ein und klicken Sie dann auf Weiter:

5. Erstellen Sie Ihren MongoDB-Cluster

Navigieren Sie zurück zu Ihrer MongoDB-Bereitstellungsseite in der Hauptkonsole. Klicken Sie auf „Erstellen“, um einen neuen MongoDB-Cluster zu erstellen. Wählen Sie in der Maschinenpoolauswahl den soeben erstellten Maschinenpool aus und erstellen Sie den Cluster.

Dies ist nur eine der Techniken, um Ihre MongoDB-Bereitstellung auf AWS zu sichern. Wenn Sie weitere Vorschläge haben, verwenden Sie bitte die Kommentarbereiche, um Ihr Feedback zu geben. Ausführlichere Sicherheitspraktiken finden Sie in den Sicherheitspraktiken der 10. Generation. Wenn Sie Fragen haben, senden Sie uns wie immer eine E-Mail an [email protected].