sql >> Database >  >> NoSQL >> MongoDB

Veilige MongoDB-implementatie op Amazon AWS

Vorige week vroeg een van mijn klanten om architectuuraanbevelingen voor veilige implementatie van MongoDB-productieinstanties op Amazon EC2 AWS. Dit zette me aan het denken over het onderwerp en deze blogpost is het resultaat. Veel te veel bedrijven stellen hun productie MongoDB-databases op internet bloot als er betere opties zijn. Regel #1 van beveiliging is om fysieke toegang tot uw databaseservers te beperken. Zelfs als uw inloggegevens zijn gecompromitteerd, wordt de impact aanzienlijk verminderd als de aanvaller geen toegang heeft tot uw servers.

Laten we, voordat we in de details duiken, even een stapje terug doen en onthouden hoe IT-personeel databases implementeerde in de pre-Amazon AWS-wereld. Ik kan me een aantal verschillende configuraties herinneren:

1. Dual Firewall DMZ (Gedemilitariseerde zone) Configuratie

In deze configuratie worden de front-tier en mid-tier servers ingezet in een DMZ en bevinden de databaseservers zich achter de tweede firewall. De firewall aan de voorkant staat verbindingen op de webpoorten toe en de firewall aan de achterkant staat alleen verbindingen toe op de databasepoorten.

2. VLAN – Minder populair dan Dual Firewall DMZ

De databaseservers en de front-endservers staan ​​op aparte VLAN's. Alleen de databasepoorten zijn toegestaan ​​in de trunkverbinding tussen de twee VLAN's.

Technisch gezien is er sindsdien niet veel veranderd. De technieken zijn nu echter anders. Je praat niet langer over DMZ’s en firewalls, maar in termen van VPC’s en Security Groups. Als je een grotere onderneming bent met IT-personeel, zou ik zeker naar Amazon VPC kijken. Het geeft je veel controle over het laag 3-netwerk en je kunt je databases in een privésubnet plaatsen en ze niet blootstellen aan internet. Het is echter een veel langer onderwerp voor een andere blogpost. Als je VPC al hebt ingesteld en MongoDB in de VPC wilt instellen, volgt hier mijn blogbericht om je door de stappen te leiden:MongoDB implementeren op Amazon VPC.

In de rest van dit bericht zal ik me concentreren op EC2-classic.

3 stappen om dubbele firewall DMZ in AWS te configureren

1. Maak een beveiligingsgroep voor uw MongoDB-servers

Een beveiligingsgroep kan een hele regio beslaan - dus zelfs als u een replicaset heeft, kunt u uw replica's over beschikbaarheidszones in de regio distribueren en toch in dezelfde beveiligingsgroep zitten . Maak een beveiligingsgroep voor uw MongoDB-servers en voeg al uw mongo-servers alleen toe aan deze beveiligingsgroep.

2. Maak een beveiligingsgroep voor uw mid/front-tier-servers

Maak een extra beveiligingsgroep voor uw mid- en/of front-tier MongoDB-servers.

3. Configureer uw MongoDB-beveiligingsgroepstoegang

Configureer uw MongoDB-beveiligingsgroep om alleen toegang tot de front-tier-servers op de MongoDB-poorten toe te staan. Configureer uw front-end-beveiligingsgroep om de webpoorten naar internet te openen.

Configureer Dual Firewall DMZ in AWS via ScaleGrid

1. Maak een beveiligingsgroep in AWS

Log in op uw Amazon-console en maak een beveiligingsgroep voor uw mid/front-tier servers. Laten we de beveiligingsgroep 'AppServerSG' noemen. Configureer deze beveiligingsgroep om zo nodig de http/https-poort te openen. Plaats uw mid-tier en front-tier servers in deze beveiligingsgroep.

2. Maak een ScaleGrid AWS Cloud-profiel

Log in op de ScaleGrid-console en klik op het tabblad Machinepool. Maak uw eigen aangepaste machinepool zodat u mongo-instanties in uw eigen AWS-account kunt implementeren en beheren. Klik in het tabblad Machinepool op de knop Aanmaken. Voer uw Amazon API-sleutel en geheime sleutel in en druk op Volgende:

3. Selecteer uw AWS-regio voor MongoDB

Selecteer de AWS-regio van uw keuze voor de implementatie van MongoDB:

4. Configureer uw toegangsbeleid

Dit is de belangrijkste stap voor de beveiligingsconfiguratie. Selecteer de optie om alleen machines in een bepaalde beveiligingsgroep toegang te geven tot uw MongoDB-servers. Selecteer vervolgens de beveiligingsgroepen waartoe u toegang wilt verlenen. Voer een naam in voor uw machinepool en klik vervolgens op volgende:

5. Maak uw MongoDB-cluster

Navigeer terug naar uw MongoDB-implementatiepagina in de hoofdconsole. Klik op 'Maken' om een ​​nieuw MongoDB-cluster te maken. Selecteer in de Machinepool-selectie de machinepool die u zojuist hebt gemaakt en maak de cluster.

Dit is slechts een van de technieken om uw MongoDB-implementatie op AWS te beveiligen. Als u nog andere suggesties heeft, gebruik dan de opmerkingensecties om uw feedback te geven. Raadpleeg de 10gen-beveiligingspraktijken voor meer gedetailleerde beveiligingspraktijken. Zoals altijd, als je vragen hebt, kun je ons een e-mail sturen op [email protected].


  1. Rails Redis instelling maxmemory en maxmemory-policy

  2. Het ABC van NestJS:een beginnershandleiding met MongoDB (Mongoose).

  3. mongodb 3.4.3 Toestemming geweigerd wiredtiger_kv_engine.cpp 267 fout met ubuntu 16

  4. Aangepaste gebruikersverbindingsreeksen voor MongoDB-instanties met verificatie