I den första delen av bloggen "En översikt över MongoDB Atlas" tittade vi på att komma igång med MongoDB Atlas, den första installationen och migreringen av ett befintligt MongoDB-kluster till MongoDB Atlas. I den här delen kommer vi att fortsätta att utforska flera hanteringselement som krävs för varje MongoDB-produktionssystem, såsom säkerhet och affärskontinuitet.
Databassäkerhet i MongoDB Atlas
Säkerhet kommer alltid först. Även om det är viktigt för alla databaser, har det en speciell betydelse för MongoDB. I mitten av 2017 var internet fullt av nyheter angående ransomware-attacker som specifikt riktade sig mot sårbarheter i MongoDB-system. Hackare kapade MongoDB-instanser och bad om en lösensumma i utbyte mot att den lagrade informationen återlämnades. Det fanns varningar. Innan dessa ransomware-attacker skrev bloggare och experter om hur många produktionsinstanser som befanns vara sårbara. Det väckte livlig diskussion kring MongoDB-säkerhet under lång tid efteråt.
Vi är nu inne i 2019 och MongoDB blir ännu mer populärt. Den nya större versionen (4.0) släpptes nyligen, och vi har sett ökad stabilitet i MongoDB Atlas. Men vad har man gjort för att öka säkerheten för NoSQL-databaserna i molnet.
Ransomware och ständig press måste ha haft en inverkan på MongoDB eftersom vi tydligt kan se att säkerheten nu är i centrum för MongoDB-ekosystemet. MongoDB Atlas är inget undantag eftersom den nu kommer med inbyggda säkerhetskontroller för produktionsdatabehandlingsbehov och många företagssäkerhetsfunktioner ur lådan. Standardmetoden (som orsakade sårbarheten) från den äldre versionen är borta och databasen är nu säkrad som standard (nätverk, crud-auktoriseringar etc). Den kommer också med funktioner du kan förvänta dig att ha i en modern produktionsmiljö (revision, tillfällig användaråtkomst, etc).
Men det slutar inte där. Eftersom Atlas är en onlinelösning kan du nu använda integrationer med tredje part som LDAP-autentisering eller moderna MongoDB-internettjänster som MongoDB-diagram. MongoDB Atlas är byggd ovanpå Amazon WebServices (AWS), Microsoft Azure och Google Cloud Platform (GCP) som också erbjuder sina egna högsäkerhetsåtgärder. Denna fantastiska kombination säkerställer att MongoDB Atlas säkerhetsstandarder är vad vi kan förvänta oss. Låt oss ta en snabb titt på några av dessa nyckelfunktioner.
MongoDB Atlas och nätverkssäkerhet
MongoDB Atlas bygger kluster ovanpå din befintliga molninfrastruktur. När man väljer AWS lagras kunddata i MongoDB Atlas-system. Dessa system är dedikerade AWS EC2 virtuella servrar med en hyresgäst som är skapade enbart för en Atlas-kund. Amazon AWS-datacenter är kompatibla med flera fysiska säkerhets- och informationssäkerhetsstandarder, men eftersom vi behöver ett öppet nätverk kan det skapa oro.
MongoDB Atlas dedikerade kluster distribueras i ett Virtual Private Cloud (VPC) med dedikerade brandväggar. Åtkomst måste beviljas av en IP-vitlista eller genom VPC Peering. Som standard är all åtkomst inaktiverad.
MongoDB kräver följande nätverksportar för Atlas...
- 27016 för skärvor
- 27015 för BI-anslutningen
- 27017 för server
- Om LDAP är aktiverat kräver MongoDB LDAP-nätverk 636 på kundsidan öppet för 0.0.0.0 (hela Internet) trafik.
Nätverksportarna kan inte ändras och TLS kan inte inaktiveras. Åtkomst kan också isoleras av IP-vitlista.
Dessutom kan du välja att komma åt MongoDB Atlas via Bastion-värdar. Bastion-värdar är konfigurerade att kräva SSH-nycklar (inte lösenord). De kräver också multifaktorautentisering, och användare måste dessutom godkännas av ledningen för backend-åtkomst.
MongoDB Atlas rollbaserad åtkomsthantering
Du kan konfigurera avancerade, rollbaserade åtkomstregler för att styra vilka användare (och team) som kan komma åt, manipulera och/eller ta bort data i dina databaser. Som standard finns inga användare skapade så du kommer att bli ombedd att skapa en.
MongoDB Atlas tillåter administratörer att definiera behörigheter för en användare eller applikation samt vilken data som kan nås när man frågar MongoDB. MongoDB Atlas ger möjligheten att tillhandahålla användare roller som är specifika för ett projekt eller en databas, vilket gör det möjligt att realisera en åtskillnad av uppgifter mellan olika enheter som kommer åt och hanterar data. Processen är enkel och helt interaktiv.
För att skapa en ny användare, gå till fliken Säkerhet på vänster sida och välj mellan MongoDB-användare och MongoDB-roller.
MongoDB-roller
End-to-end-databaskryptering i MongoDB Atlas
All MongoDB Atlas-data under överföring är krypterad med Transport Layer Security (TLS). Du har flexibiliteten att konfigurera den lägsta TLS-protokollversionen. Kryptering för data-at-rest är automatiserad med krypterade lagringsvolymer.
Du kan också integrera dina befintliga säkerhetspraxis och processer med MongoDB Atlas för att ge ytterligare kontroll över hur du skyddar din miljö.
För själva MongoDB Atlas Cluster är autentisering automatiskt aktiverad som standard via SCRAM för att säkerställa ett säkert system direkt.
Med krypteringsnyckelhantering kan du ta med dina egna krypteringsnycklar till dina dedikerade kluster för ett extra lager av kryptering på databasfilerna, inklusive backup-ögonblicksbilder.
Revision i MongoDB Atlas
Granulär databasrevision svarar på detaljerade frågor om systemaktivitet för distributioner med flera användare genom att spåra alla kommandon mot databasen. Revision i MongoDB är endast tillgänglig i MongoDB Enterprise. Du kan skriva granskningshändelser till konsolen, till sysloggen, till en JSON-fil eller till en BSON-fil. Du konfigurerar granskningsalternativet med –auditDestination-kvalificeraren. Till exempel för att skicka granskningshändelser som JSON-händelser till syslog använd...
mongod --dbpath data/db --auditDestination syslog
MongoDB har ett centraliserat logghanteringssystem för insamling, lagring och analys av loggdata för produktionsmiljöer. Denna information kan användas för hälsoövervakning, felsökning och för säkerhetsändamål. Varningar konfigureras i systemet för att meddela SRE om eventuella driftsproblem.
MongoDB Atlas LDAP-integration
Användarautentisering och auktorisering mot MongoDB Atlas-kluster kan hanteras via en kunds LDAP-server (Lightweight Directory Access Protocol) över TLS. En enda LDAP-konfiguration gäller för alla databaskluster inom ett Atlas-projekt. LDAP-servrar används för att förenkla åtkomstkontrollen och göra behörighetshanteringen mer detaljerad.
För kunder som kör sin LDAP-server i ett AWS Virtual Private Cloud (VPC) rekommenderas en peering-anslutning mellan den miljön och den VPC som innehåller deras Atlas-databaser.
MongoDB Business Continuity and Disaster Recovery
MongoDB Atlas skapar och konfigurerar dedikerade kluster på infrastruktur som tillhandahålls av AWS, Azure och/eller Google GCP. Datatillgängligheten är beroende av processerna för infrastrukturleverantörstjänsten Business Continuity Plans (BCP) och Disaster Recovery (DR). MongoDB Atlas infrastrukturtjänstleverantörer innehar ett antal certifieringar och revisionsrapporter för dessa kontroller.
Databasbackuper i MongoDB Atlas
MongoDB Atlas säkerhetskopierar data, vanligtvis bara sekunder efter ett operativt system. MongoDB Atlas säkerställer kontinuerlig säkerhetskopiering av replikuppsättningar, konsekventa, klusteromfattande ögonblicksbilder av fragmenterade kluster och punkt-i-tid återställning. Denna fullständigt hanterade säkerhetskopieringstjänst använder Amazon S3 i regionen närmast kundens databasinstallation.
Säkerhetskopieringsdata skyddas med kryptering på serversidan. Amazon S3 krypterar säkerhetskopierad data på objektnivå när den skriver den till diskar i sina datacenter och dekrypterar den åt dig när du återställer den. Alla nycklar hanteras helt av AWS.
Atlas-kluster som distribueras i Amazon Web Services och Microsoft Azure kan dra fördel av ögonblicksbilder från molnleverantörer som använder den underliggande molnleverantörens inbyggda ögonblicksbildsfunktioner. Säkerhetskopieringar lagras i samma molnregion som motsvarande kluster. För kluster med flera regioner lagras ögonblicksbilder i klustrets föredragna region.
Atlas erbjuder följande metoder för att säkerhetskopiera dina data...
Kontinuerliga säkerhetskopieringar av databas
Kontinuerliga säkerhetskopior är tillgängliga i M10+-kluster och versioner lägre än serverversion 4.2. Detta är en gammal metod för att utföra MongoDB-säkerhetskopior. Atlas använder inkrementella ögonblicksbilder för att kontinuerligt säkerhetskopiera dina data. Kontinuerliga backup-ögonblicksbilder ligger vanligtvis bara några sekunder efter det operativa systemet. Atlas säkerställer punkt-i-tid säkerhetskopiering av replikuppsättningar och konsekventa, klusteromfattande ögonblicksbilder av splittrade kluster på egen hand, som den använder S3 för.
Snapshots i fullständig kopia
Atlas använder din molnleverantörs inbyggda ögonblicksbildsfunktioner för att stödja fullkopierade ögonblicksbilder och lokaliserad lagring av ögonblicksbilder.
MongoDB Atlas Data Lake
Om du använder Atlas Data Lake för att mata in dina S3-data i Atlas-kluster kan du snabbt söka efter data som lagras i dina AWS S3-hinkar med Mongo Shell, MongoDB Compass och valfri MongoDB-drivrutin.
När du skapar en Data Lake kommer du att ge Atlas skrivskyddad åtkomst till S3-buckets i ditt AWS-konto och skapa en datakonfigurationsfil som mappar data från dina S3-buckets till dina MongoDB-databaser och samlingar. Atlas stöder användning av alla M10+-kluster, inklusive globala kluster, för att ansluta till Data Lakes i samma.
När denna blogg skrivs stöds följande format.
- Avro
- Parkett
- JSON
- JSON/Gzippad
- BSON
- CSV (kräver rubrikrad)
- TSV (kräver rubrikrad)
Slutsats
Det var allt för nu, jag hoppas att du gillade min tvådelade översikt av MongoDB Atlas. Kom ihåg att ClusterControl också tillhandahåller end-to-end-hantering av MongoDB-kluster och är ett bra, billigare alternativ till MongoDB Atlas som också kan distribueras i molnet.