sql >> Database >  >> RDS >> Database

Beveilig uw Mongo-clusters met SSL

SSL is uiterst belangrijk om de privacy en geldigheid van uw gegevens over niet-vertrouwde netwerken te behouden. Als u een productiedatabasecluster op internet implementeert, is SSL zeker iets dat u moet overwegen. ScaleGrid ondersteunt nu het inschakelen van SSL voor uw MongoDB-servers.

SSL inschakelen is nu net zo eenvoudig als het aanvinken van een vakje in de wizard voor het maken van MongoDB:

Dus waarom SSL gebruiken met MongoDB?

  1. Privacy

    Als u verbinding maakt met uw MongoDB-server via onbeveiligde netwerken, reizen uw gegevens niet-versleuteld en zijn ze vatbaar voor zowel afluisteren als knoeien. SSL versleutelt de gegevens, zodat alleen de twee eindpunten toegang hebben tot de niet-versleutelde gegevens.

  2. Verificatie

    Gebruik  PKI (private key infrastructure) om ervoor te zorgen dat alleen clients met certificaten van een geschikte CA verbinding kunnen maken met de MongoDB-server. Dit is een extra stap en u kunt ervoor kiezen om uw aangepaste certificaten of CA niet te gebruiken - u heeft nog steeds de voordelen van privacy dankzij end-to-end-codering.

MongoDB SSL-nadelen

  • Overheadprestaties

    Er is zeker wat prestatieoverhead voor het gebruik van SSL. Hoewel we nog geen uitgebreide tests moeten uitvoeren, zijn er duidelijke overheadkosten vanwege het gebruik van SSL.

  • Gebrek aan MongoDB UI

    De meeste populaire MongoDB UI's ondersteunen standaard SSL niet. Het kan dus zijn dat je voor de betaalde versie moet gaan of de mongo-console moet gebruiken.

Verbinding maken met uw SSL-geactiveerde MongoDB-server

Als je verbinding maakt met een MongoDB-server met SSL ingeschakeld, zijn er verschillende verschillen in de MongoDB-verbindingscode. Raadpleeg de documentatie van uw chauffeur voor meer informatie.

  1. Mongo-schelp

    De standaard mongo-client ondersteunt geen verbindingen met een SSL-enabled server - je hebt de SSL-enabled build van MongoDB nodig. U kunt SSH naar de SSL-enabled server sturen en vervolgens de mongo-client op de server gebruiken om verbinding te maken. Hier is de syntaxis om verbinding te maken met de admin-gebruiker die door ScaleGrid wordt geleverd:

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

    Je moet de eigenschap "ssl=true" toevoegen aan je MongoDB-verbindingsreeks. Ook vereisen bepaalde platforms (bijv. JDK) dat u de openbare sleutel van het SSL-certificaat aan het vertrouwde pad toevoegt voordat u verbinding kunt maken met de server. Standaard wordt voor elk cluster een zelfondertekend certificaat gegenereerd. U kunt de openbare sleutel van het SSL-certificaat downloaden van de gebruikersinterface of u kunt het certificaat downloaden van /etc/ssl/mongodb-cert.crt op de server. In de gebruikersinterface is een link om het openbare SSL-certificaat te downloaden beschikbaar in de verbindingsreeks modal:

    Raadpleeg het gedeelte 'VM-referenties' in deze blogpost voor meer instructies over hoe u SSH kunt gebruiken in de instantie. Het crt-bestand bevindt zich in /etc/ssl/mongodb-cert.crt op de server. Nadat u de openbare sleutel heeft gedownload, moet u deze toevoegen aan uw vertrouwde keystone:

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

    Het standaardwachtwoord voor de cacerts-winkel is "changeit". Om veiligheidsredenen moet u dit wachtwoord wijzigen in uw eigen wachtwoord. Nadat u het certificaat heeft toegevoegd, somt u de certificaten op in de keystone om te bevestigen dat het certificaat is toegevoegd:

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

    Robo 3T (voorheen Robomongo) is een van de weinige MongoDB-gebruikersinterface die verbinding met SSL ondersteunt. Wanneer u een verbinding maakt met uw MongoDB-server, selecteert u de SSL-optie. Gebruik voor het certificaat het .pem-bestand dat zowel de openbare sleutel als de persoonlijke sleutel bevat. Dit bestand bevindt zich in /etc/ssl op uw MongoDB-server. Bekijk onze Robo 3T MongoDB-verbindingsgids voor meer details.

Als je vragen hebt, neem dan zoals altijd contact met ons op via [email protected].


  1. SQL Server-prestatiebestand IO-statistieken

  2. Oracle:Null- en niet-null-rijen tellen

  3. SQL Server Log Verzending &Disaster Recovery Installatie en configuratie -2

  4. SQRT() Voorbeelden in SQL Server