Fügen Sie Ubuntu eine benutzerdefinierte Zertifizierungsstelle hinzu

12

Ich habe eine benutzerdefinierte Stammzertifizierungsstelle für ein internes Netzwerk, example.com, erstellt. Im Idealfall möchte ich das mit dieser Zertifizierungsstelle verknüpfte CA-Zertifikat für meine Linux-Clients (unter Ubuntu 9.04 und CentOS 5.3) bereitstellen können, sodass alle Anwendungen die Zertifizierungsstelle automatisch erkennen (dh nicht möchten) Firefox, Thunderbird usw. manuell konfigurieren, um dieser Zertifizierungsstelle zu vertrauen).

Ich habe dies unter Ubuntu versucht, indem ich das PEM-codierte CA-Zertifikat nach / etc / ssl / certs / und / usr / share / ca-certificates / kopierte sowie /etc/ca-certificates.conf änderte und update- erneut ausführte. CA-Zertifikate, jedoch scheinen Anwendungen nicht zu erkennen, dass ich dem System eine weitere vertrauenswürdige Zertifizierungsstelle hinzugefügt habe.

Ist es daher möglich, ein CA-Zertifikat einmal zu einem System hinzuzufügen, oder muss die CA manuell zu allen möglichen Anwendungen hinzugefügt werden, die versuchen, SSL-Verbindungen zu Hosts herzustellen, die von dieser CA in meinem Netzwerk signiert wurden? Wenn es möglich ist, ein CA-Zertifikat einmal zum System hinzuzufügen, wohin muss es gehen?

Vielen Dank.

rmrobins
quelle

Antworten:

4

Kurz gesagt: Sie müssen jede Anwendung für sich aktualisieren

Nicht einmal Firefox und Thunderbird teilen Zertifikate.

Leider hat Linux keinen zentralen Ort zum Speichern / Verwalten von SSL-Zertifikaten. Windows hat einen solchen Ort, aber am Ende haben Sie das gleiche Problem (Firefox / Thunderbird verwendet die von Windows bereitgestellte API nicht, um die Gültigkeit eines SSL-Zertifikats zu bestimmen).

Ich würde mit so etwas wie Puppet / Cfengine auf jeden der Hosts gehen und die erforderlichen Stammzertifikate auf alle Clients mit den von diesen Tools bereitgestellten Mechanismen platzieren.

Serverhorror
quelle
2

Leider verwenden Programme wie Firefox und Thunderbird eine eigene Datenbank.

Sie können jedoch ein Skript schreiben, um alle Profile zu finden, und dann das Zertifikat hinzufügen. Hier ist das Tool zum Hinzufügen des Zertifikats: http://www.mozilla.org/projects/security/pki/nss/tools/certutil.html

Sie können auch eine Standarddatei cert8.db einrichten, damit auch neue Profile darauf zugreifen können.

Für andere Anwendungen ist es eine Frage, ob sie den zentralen Speicher unterstützen oder nicht.

Steven
quelle
1

Die von Ihnen angegebene Methode aktualisiert die zentrale Datei /etc/ssl/certs/ca-certificates.crt. Sie werden jedoch feststellen, dass die meisten Anwendungen nicht für die Verwendung dieser Datei konfiguriert sind. Die meisten Anwendungen können so konfiguriert werden, dass sie auf die zentrale Datei verweisen. Es gibt keine automatische Möglichkeit, diese Datei für alle zu verwenden, ohne sie neu zu konfigurieren.

Es kann sich lohnen, Fehler in Ubuntu / Debian zu melden, um diese Datei standardmäßig zu verwenden.

David Pashley
quelle
0

Sie können Ihre benutzerdefinierten PKI-Zertifizierungsstellen in Ubuntu und anderen Distributionen hinzufügen: Hier haben Sie den Link, den Sie möglicherweise als nützlich erachten: Linux Cert Management

Lido
quelle