sql >> Database teknologi >  >> RDS >> Database

Sikre dine Mongo Clusters med SSL

SSL er ekstremt vigtigt for at bevare fortroligheden og gyldigheden af ​​dine data over ikke-pålidelige netværk. Hvis du implementerer en produktionsdatabaseklynge på internettet, er SSL bestemt noget, du bør overveje. ScaleGrid understøtter nu aktivering af SSL for dine MongoDB-servere.

Aktivering af SSL er nu lige så let som at markere et felt i MongoDB-oprettelsesguiden:

Så hvorfor bruge SSL med MongoDB?

  1. Privatliv

    Hvis du opretter forbindelse til din MongoDB-server via usikrede netværk, rejser dine data ukrypteret og er modtagelige for både aflytning og manipulation. SSL krypterer dataene, så kun de to endepunkter har adgang til de ukrypterede data.

  2. Godkendelse

    Brug  PKI (privat nøgleinfrastruktur) til at sikre, at kun klienter med certifikater fra en passende CA kan oprette forbindelse til MongoDB-serveren. Dette er et ekstra trin, og du kan vælge ikke at bruge dine brugerdefinerede certifikater eller CA – du vil stadig have fordelene ved privatliv på grund af ende-til-ende-kryptering.

MongoDB SSL Ulemper

  • Ydeevneomkostninger

    Der er helt sikkert nogle præstationsomkostninger ved at bruge SSL. Selvom vi endnu mangler at køre omfattende tests, er der klare overhead på grund af brugen af ​​SSL.

  • Mangel på MongoDB UI

    De fleste af de populære MongoDB UI'er understøtter ikke SSL ud af boksen. Så du skal muligvis vælge den betalte version eller bruge mongo-konsollen.

Opretter forbindelse til din SSL-aktiverede MongoDB-server

Hvis du opretter forbindelse til en MongoDB-server med SSL aktiveret, er der flere forskelle i MongoDB-forbindelseskoden. Se venligst din drivers dokumentation for flere detaljer.

  1. Mongo Shell

    Mongo-standardklienten understøtter ikke forbindelser til en SSL-aktiveret server – du skal bruge den SSL-aktiverede-build af MongoDB. Du kan SSH ind i den SSL-aktiverede server og derefter bruge mongo-klienten på serveren til at oprette forbindelse. Her er syntaksen for at oprette forbindelse ved hjælp af admin-brugeren leveret af ScaleGrid:

    mongo <span style="color: #758e9f;">--ssl --sslCAFile <file.crt></span> -u admin -p <pass> servername/admin 
    
    
  2. Kode

    Du skal tilføje egenskaben "ssl=true" til din MongoDB-forbindelsesstreng. Desuden vil visse platforme (f.eks. JDK) kræve, at du tilføjer den offentlige nøgle til SSL-certifikatet til den betroede sti, før du kan oprette forbindelse til serveren. Som standard genereres et selvsigneret certifikat for hver klynge. Du kan downloade den offentlige nøgle til SSL-certifikatet fra brugergrænsefladen, eller du kan downloade certifikatet fra /etc/ssl/mongodb-cert.crt på serveren. I brugergrænsefladen er et link til at downloade det offentlige SSL-certifikat tilgængeligt i forbindelsesstrengen:

    Se afsnittet "VM-legitimationsoplysninger" i dette blogindlæg for at få flere instruktioner om, hvordan du kan SSH ind i instansen. Crt-filen er placeret på /etc/ssl/mongodb-cert.crt på serveren. Når du har downloadet den offentlige nøgle, skal du tilføje den til din betroede keystone:

    keytool -import -alias "MongoDB-cert" -file "/etc/ssl/mongodb-cert.crt"
    -keystore "/usr/java/default/jre/lib/security/cacerts"
    -noprompt -storepass "changeit"
    

    Standardadgangskoden til cacerts-butikken er "changeit". Af sikkerhedsmæssige årsager bør du ændre denne adgangskode til din egen. Når du har tilføjet certifikatet, skal du opregne certifikaterne i keystone for at bekræfte, at certifikatet er blevet tilføjet:

    keytool -list -keystore cacerts -storepass changeit
    
  3. Mongo UI:Robo 3T

    Robo 3T (tidligere Robomongo) er en af ​​de få MongoDB-brugergrænseflader, der understøtter forbindelse med SSL. Når du opretter en forbindelse til din MongoDB-server, skal du vælge SSL-indstillingen. Til certifikatet skal du bruge .pem-filen, der både har den offentlige nøgle og den private nøgle. Denne fil er placeret på /etc/ssl på din MongoDB-server. Se vores Robo 3T MongoDB Connection Guide for flere detaljer.

Som altid, hvis du har spørgsmål, bedes du kontakte os på [email protected].


  1. Oracle Dynamic Pivoting

  2. Sammenlign DATETIME og DATE ignorerende tidsdel

  3. null vs tom streng i Oracle

  4. Sådan deaktiveres Change Data Capture (CDC) på en database i SQL Server - SQL Server Tutorial