Ich verschiebe einen MongoDB-Server auf meiner Ubuntu-Maschine in die Produktion. Ich habe ein von einem Drittanbieter signiertes SSL-Zertifikat erhalten und es auf dem Server installiert. Clients können über die Zertifizierungsstelle ihres Systems eine Verbindung herstellen und die Identität des Servers validieren.
Auf der MongoDB-Website werden jedoch Client-Zertifikate erwähnt. Kann ich sie generieren, da die Zertifizierungsstelle ein Drittanbieter ist? Ich habe versucht, sie mit OpenSSL zu generieren, indem ich das Zertifikat und den Schlüssel meines Servers übergebe, aber es wird auch nach einem Zertifikat gefragt, server.srl
das ich nicht habe. Ich bin nicht sicher, was ich tun muss, um diese zu generieren, oder ob ich sie brauche. Ich gehe davon aus, dass sie eine zusätzliche Sicherheitsebene darstellen, da ich zusätzlich zu meiner Identität auch die Identität des Clients überprüfen kann.
Danke!
Antwort1
„Kann ich sie generieren, da es sich bei der Zertifizierungsstelle um einen Drittanbieter handelt?“ Nein!
Um ein Zertifikat zu generieren (also eine Zertifikatsanforderung zu signieren), benötigen Sie den privaten Schlüssel des signierten Zertifikats. Und dieser Schlüssel ist privat (also geheim), wie der Name schon sagt.
Sie können den Drittanbieter um ein weiteres Zertifikat bitten. Dies wäre dann einKlientZertifikat. Aber vielleicht bietet dieses Unternehmen nurServerZertifikate.
Sie können das CA-Zertifikat und das Client-Zertifikat selbst erstellen. In der MongoDB-Konfiguration können Sie die CA separat für Client- und Server-Zertifikate angeben.
In MongoDB können Sie ein Client-Zertifikat „nur“ als Zertifikat verwenden oder es anstelle von Benutzername/Passwort zur Authentifizierung nutzen.
Schauen Sie sich anhttps://stackoverflow.com/questions/41302023/wie-sicherheit-in-mongodb-funktioniert-mit-x-509-cert/75043317#75043317um sich einen Überblick zu verschaffen.