Zum Inhalt

Erneuerung von PostgreSQL-Clusterzertifikaten

Zubereitungen

Erneuerung des Zertifikats

Bevor Sie irgendwelche Aktionen auf den PostgreSQL-Cluster-Knoten ausführen, bereiten Sie bitte für jeden der Cluster-Knoten neue Zertifikate vor. Als Erinnerung müssen die Zertifikate mehreren Einschränkungen entsprechen, die in die PostgreSQL-Cluster-Voraussetzungen angegeben sind.

Wenn Sie die Änderung ohne Beeinträchtigung der Produktion vornehmen möchten, müssen Sie folgende Bedingungen erfüllen:

  • Die Zertifizierungsstelle wurde seit der letzten Generation der PostgreSQL-Knotenzertifikate nicht erneuert
  • Die Zertifizierungsstelle wird während der Gültigkeitsdauer der neuen Zertifikate nicht auslaufen.
  • Sie können weiterhin Zertifikate mit derselben Zertifizierungsstelle erzeugen und signieren, die bei der Erstellung der vorherigen PostgreSQL-Knotenzertifikate verwendet wurde
  • Die PostgreSQL-Knotenzertifikate sind noch nicht abgelaufen

Wenn diese Bedingungen erfüllt sind, können Sie die Erneuerung der Zertifikate im laufenden Betrieb ohne Unterbrechung der Produktion in Betracht ziehen.

Um Zertifikate mit dem openssl PKI zu regenerieren, der optional in der PostgreSQL-Cluster-Installationsdokumentation angegeben ist, müssen Sie den Zertifizierungsbehörde-Schlüssel wiederverwenden und dann die Befehle zur Zertifikatsgenerierung erneut ausführen.

Wenn es nicht möglich ist, die Zertifikate sofort zu erneuern und Sie eine PKI über openssl verwenden, empfehlen wir Ihnen eine neue zu erstellen.

Erstellung der Bescheinigungen

Sie müssen das Zertifikat der Zertifizierungsstelle für die Wurzel mit einer Erweiterung .crt an jeden PostgreSQL-Knoten /tmp/ senden.

Sie müssen auch /tmp/ Das Zertifikat und der zugehörige private Schlüssel für jeden PostgreSQL-Knoten. .p12 Die Datenbank ist in der Lage, die Daten zu erfassen, die Datenbank benötigt, um die Daten zu erfassen.

1
2
openssl pkcs12 -clcerts -nokeys -out psql.crt -in P12_CERT
openssl pkcs12 -nocerts -out psql.key -in P12_CERT

Bitte ersetzen Sie die vorherigen Befehle P12_CERT durch den Namen Ihrer Zertifikatsdatei .p12.

Erneuerung des Zertifikats

Warning

Wenn Sie die Zertifikate ohne Unterbrechung der Produktion aktualisieren können und möchten, müssen Sie Folgendes tun:

Um die folgenden Aktionen zu vereinfachen, passen Sie bitte die Variablen in den folgenden Befehlen mit Ihren Werten an (Ändern Sie die Anpassung für jeden PostgreSQL-Knoten):

Wert Variable Definition
PSQL_CERT Neues PostgreSQL-Knotenzertifikat
PSQL_KEY Schlüssel, der mit dem neuen PostgreSQL-Knotenzertifikat verknüpft ist.
PSQL_CA Zertifikat der Zertifizierungsstelle, die PostgreSQL-Knotenzertifikat generiert hat.

Verbinden Sie sich über SSH als root mit dem PostgreSQL-Knoten, dessen Zertifikate Sie aktualisieren möchten, und führen Sie die folgenden Befehle aus, um die Zertifikate zu ersetzen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
cp /tmp/PSQL_CERT /etc/etcd/peer.crt
cp /tmp/PSQL_CERT /etc/etcd/client.crt
cp /tmp/PSQL_CERT /etc/patroni/client.crt
cp /tmp/PSQL_KEY /etc/etcd/peer.key
cp /tmp/PSQL_KEY /etc/etcd/client.key
cp /tmp/PSQL_KEY /etc/patroni/client.key
cp /tmp/PSQL_CA /etc/etcd/ca.crt
cp /tmp/PSQL_CA /etc/patroni/ca.crt
cp /tmp/PSQL_CA /usr/local/share/ca-certificates/PSQL-CA-`date +%G-%m-%d`.crt
update-ca-certificates

Um die Zertifikatsänderungen abzuschließen, müssen Sie den PostgreSQL-Knoten neu starten:

1
reboot