Minulý týden mě jeden z mých zákazníků požádal o doporučení architektury pro bezpečné nasazení produkčních instancí MongoDB na Amazon EC2 AWS. To mě přimělo přemýšlet o tématu a tento blogový příspěvek je výsledkem. Příliš mnoho společností vystavuje své produkční databáze MongoDB na internetu, když existují lepší možnosti. Pravidlo #1 zabezpečení je omezit fyzický přístup k vašim databázovým serverům. I když jsou vaše přihlašovací údaje kompromitovány, výrazně to snižuje dopad, pokud útočník nemůže získat přístup k vašim serverům.
Než se ponoříme do podrobností, vraťme se trochu zpět a připomeňme si, jak pracovníci IT nasazovali databáze ve světě AWS před Amazonem. Pamatuji si několik různých konfigurací:
1. Konfigurace duální brány firewall DMZ (demilitarizovaná zóna)
V této konfiguraci jsou servery přední a střední vrstvy nasazeny v DMZ a databázové servery jsou za druhým firewallem. Přední firewall umožňuje připojení na webových portech a zadní firewall umožňuje připojení pouze na databázových portech.
2. VLAN – Méně populární než Dual Firewall DMZ
Databázové servery a front-end servery jsou na samostatných VLAN. V propojení trunku mezi dvěma VLAN jsou povoleny pouze databázové porty.
Technicky se od té doby nic moc nezměnilo. Techniky jsou však nyní jiné. Už nemluvíte o DMZ a firewallech, ale mluvíte o VPC a bezpečnostních skupinách. Pokud jste větší podnik s IT personálem, určitě bych se podíval na Amazon VPC. Poskytuje vám velkou kontrolu nad sítí vrstvy 3 a můžete umístit své databáze do soukromé podsítě a nevystavovat je internetu. To je však mnohem delší téma na další blogový příspěvek. Pokud jste již nastavili VPC a chcete nastavit MongoDB ve VPC, zde je můj příspěvek na blogu, který vás provede jednotlivými kroky – Nasazení MongoDB na Amazon VPC.
Ve zbytku tohoto příspěvku se zaměřím na EC2-classic.
3 kroky ke konfiguraci Dual Firewall DMZ v AWS
1. Vytvořte skupinu zabezpečení pro své servery MongoDB
Skupina zabezpečení může pokrývat celý region – takže i když máte sadu replik, můžete své repliky distribuovat do zón dostupnosti v regionu a stále je mít ve stejné skupině zabezpečení . Vytvořte skupinu zabezpečení pro své servery MongoDB a přidejte všechny své servery mongo pouze do této skupiny zabezpečení.
2. Vytvořte skupinu zabezpečení pro své servery střední/přední úrovně
Vytvořte další skupinu zabezpečení pro své servery MongoDB střední a/nebo přední úrovně.
3. Nakonfigurujte svůj přístup k skupině zabezpečení MongoDB
Nakonfigurujte svou skupinu zabezpečení MongoDB tak, aby umožňovala přístup k serverům přední úrovně pouze na portech MongoDB. Nakonfigurujte svou frontendovou bezpečnostní skupinu tak, aby otevírala webové porty k internetu.
Nakonfigurujte Dual Firewall DMZ v AWS prostřednictvím ScaleGrid
1. Vytvořte skupinu zabezpečení v AWS
Přihlaste se do konzole Amazon a vytvořte skupinu zabezpečení pro své servery střední a přední úrovně. Skupinu zabezpečení nazvěme „AppServerSG“. Nakonfigurujte tuto skupinu zabezpečení tak, aby podle potřeby otevřela port http/https. Umístěte své servery střední a přední úrovně do této skupiny zabezpečení.
2. Vytvořte cloudový profil ScaleGrid AWS
Přihlaste se do konzoly ScaleGrid a klikněte na kartu Machine Pool. Vytvořte si vlastní vlastní fond strojů, abyste mohli nasadit a spravovat instance mongo ve svém vlastním účtu AWS. Na záložce Machine pool klikněte na tlačítko vytvořit. Zadejte svůj Amazon API klíč a tajný klíč a stiskněte Další:
3. Vyberte svůj region AWS pro MongoDB
Vyberte oblast AWS podle svého výběru pro nasazení MongoDB:
4. Nakonfigurujte zásady přístupu
Toto je hlavní krok pro konfiguraci zabezpečení. Vyberte možnost, abyste povolili přístup k vašim serverům MongoDB pouze počítačům v konkrétní skupině zabezpečení. Poté vyberte skupiny zabezpečení, kterým chcete poskytnout přístup. Zadejte název fondu počítačů a poté klikněte na tlačítko Další:
5. Vytvořte svůj MongoDB Cluster
Přejděte zpět na stránku nasazení MongoDB v hlavní konzoli. Kliknutím na „Vytvořit“ vytvoříte nový cluster MongoDB. Ve výběru Fond počítačů vyberte fond počítačů, který jste právě vytvořili, a vytvořte cluster.
Toto je jen jedna z technik, jak zabezpečit nasazení MongoDB na AWS. Pokud máte nějaké další návrhy, použijte prosím sekce komentářů, abyste nám poskytli zpětnou vazbu. Podrobnější bezpečnostní postupy naleznete v bezpečnostních postupech 10gen. Jako vždy, pokud máte nějaké dotazy, napište nám na adresu [email protected].