Voraussetzungen¶
Maschine¶
OS¶
Der von der Appliance bereitgestellte PostgreSQL-Cluster basiert auf einem 64-Bit-Betriebssystem Debian 12 (bookworm).
CPU¶
Es wird empfohlen, 4 CPU-Kerne pro Knoten des PostgreSQL-Clusters zuzuweisen.
RAM¶
Es wird empfohlen, 4 GB RAM pro Knoten des PostgreSQL-Clusters zuzuweisen.
Festplatte¶
Die virtuelle Appliance wird mit einer virtuellen Festplatte von 60 GB ausgeliefert.
Netzwerk¶
Ein PostgreSQL-Cluster benötigt 4 IP-Adressen:
- 1 reale IP-Adresse pro PostgreSQL-Knoten
- 1 virtuelle IP-Adresse für den PostgreSQL-Cluster
Achtung!
Die realen und virtuellen IP-Adressen der Knoten des PostgreSQL-Clusters müssen alle demselben Subnetz angehören.
Die Knoten des PostgreSQL-Clusters werden in der Regel im LAN platziert, damit CyberElements Bastion über die Edge Gateways auf sie zugreift.
Um die verschiedenen Adressen der Maschinen besser zu identifizieren, werden sie in der Dokumentation wie folgt bezeichnet:
| Name der IP-Adresse | Bedeutung |
|---|---|
RIP_PSQL_1 |
Reale IP-Adresse des PostgreSQL-Knotens Nr. 1. |
RIP_PSQL_2 |
Reale IP-Adresse des PostgreSQL-Knotens Nr. 2. |
RIP_PSQL_3 |
Reale IP-Adresse des PostgreSQL-Knotens Nr. 3. |
VIP_PSQL |
Virtuelle IP-Adresse des PostgreSQL-Clusters. |
| Quelle | Ziel | Zielport | Kommentare |
|---|---|---|---|
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
Debian-Repositorys | TCP 80 | Erforderlich, um die Abhängigkeiten von CyberElements Bastion zu installieren und das System aktuell zu halten. Die Dokumentation und die virtuellen Appliances verwenden ftp.fr.debian.org und security.debian.org. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
DNS-Server | UDP 53 | Erforderlich für die DNS-Auflösung. Optional, wenn im LAN oder in der DMZ ein DNS-Server verfügbar ist. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
NTP-Zeitserver | UDP 123 | Optional, wenn der Server seine Uhr mit einem Server im LAN oder in der DMZ synchronisieren muss. Standardmäßig werden die Debian-Pools verwendet: 0.debian.pool.ntp.org, 1.debian.pool.ntp.org, 2.debian.pool.ntp.org und 3.debian.pool.ntp.org. |
| Quelle | Ziel | Zielport | Kommentare |
|---|---|---|---|
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
TCP 2379 | Port, der für den Betrieb des Clusters verwendet wird und auf dem ETCD lauscht. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
TCP 2380 | Port, der für den Betrieb des Clusters verwendet wird und auf dem ETCD lauscht. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
TCP 5432 | SQL-Verbindungsport, auf dem PostgreSQL lauscht (der Standardport kann geändert werden). |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
TCP 8008 | Port, der für den Betrieb des Clusters verwendet wird und auf dem Patroni lauscht. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
DNS-Server | UDP 53 | Erforderlich für die DNS-Auflösung. Optional, wenn im WAN oder in der DMZ ein DNS-Server verfügbar ist. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
NTP-Zeitserver | UDP 123 | Optional, wenn der Server seine Uhr mit einem Server im WAN oder in der DMZ synchronisieren muss. Standardmäßig werden die Debian-Pools verwendet: 0.debian.pool.ntp.org, 1.debian.pool.ntp.org, 2.debian.pool.ntp.org und 3.debian.pool.ntp.org. |
| IP-Adressen oder Netzbereich der Administrationsarbeitsplätze | RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
TCP 22 | Port für die Fernadministration per SSH. |
| IP-Adressen oder Netzbereich der Administrationsarbeitsplätze | RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
TCP 5432 | SQL-Verbindungsport, der von PostgreSQL verwendet wird (der Standardport kann geändert werden). |
| IP-Adressen oder Netzbereich der Administrationsarbeitsplätze | VIP_PSQL |
TCP 5432 | SQL-Verbindungsport, der von PostgreSQL verwendet wird (der Standardport kann geändert werden). |
| IP-Adressen der Edge Gateways, die auf den PostgreSQL-Cluster zugreifen müssen | VIP_PSQL |
TCP 5432 | SQL-Verbindungsport, der von PostgreSQL verwendet wird (der Standardport kann geändert werden). |
Zertifikate¶
Der PostgreSQL-Cluster verschlüsselt die Kommunikationsflüsse zwischen seinen Knoten, sowohl für den Betrieb des Clusters als auch für die SQL-Verbindungen. Es handelt sich um eine TLS-Verschlüsselung, die die Verwendung von Zertifikaten erfordert.
Die nachstehenden Informationen fassen die für die Zertifikate des PostgreSQL-Clusters erforderlichen Parameter und Optionen zusammen.
Sicherheitsanforderung an das Zertifikat
Stellen Sie unabhängig vom verwendeten Zertifikat sicher, dass es der OpenSSL-Sicherheitsstufe 2 entspricht, die sich wie folgt zusammenfassen lässt:
- Das Zertifikat und die Zertifikate seiner Zertifizierungsstellen müssen bei den Verschlüsselungsverfahren RSA, DSA und DH über einen privaten Schlüssel von mindestens 2048 Bit verfügen; bei Schlüsseln mit elliptischen Kurven (ECC) müssen es mindestens 224 Bit sein.
- Die Signatur des Zertifikats darf nicht MD5 oder SHA-1 sein (SHA-512 wird bevorzugt).
Jeder PostgreSQL-Knoten verwendet ein einziges Zertifikat, muss aber auch das Zertifikat der Wurzelzertifizierungsstelle (CA) importieren.
Die Wurzel-CA wird im Format crt mit Base64-Kodierung erwartet.
Das Zertifikat des PostgreSQL-Knotens muss die folgenden Parameter erfüllen:
- Die für die Signatur verwendete Hashfunktion muss der Familie SHA-2 angehören; wir empfehlen SHA-512.
- Das Zertifikat und die Zertifikate seiner Zertifizierungsstellen müssen einen privaten Schlüssel von mindestens 2048 Bit mit RSA-, DSA- und DH-Verschlüsselung besitzen; bei Schlüsseln mit elliptischen Kurven (ECC) müssen es mindestens 224 Bit sein. Wir empfehlen eine Größe von 4096 Bit für RSA und die ECDSA-Kurve secp384r1 mit einer Größe von 384 Bit.
- Das Attribut
Common Namemuss als Wert den Kurznamen des Servers haben (die Angabe des FQDN führt zu Fehlern). - Das Attribut
Key Usagemuss die Wertecritical,digitalSignatureundkeyEnciphermentaufweisen. - Das Attribut
Extended Key Usagemuss die WerteserverAuthundclientAuthhaben. - Das Attribut
Subject Alternative Namemuss so definiert sein, dass es Folgendes abdeckt:- Den Namen des PostgreSQL-Knotens, der der realen IP-Adresse zugeordnet ist
- Den Namen des PostgreSQL-Clusters, der der virtuellen IP-Adresse zugeordnet ist
- Die reale IP-Adresse des PostgreSQL-Knotens
- Die virtuelle IP-Adresse des PostgreSQL-Clusters
Erwartetes Zertifikatsformat: P12.