Förutsättningar¶
Maskin¶
OS¶
Det PostgreSQL-cluster som appliancen tillhandahåller bygger på operativsystemet Debian 12 (bookworm) i 64-bitarsversion.
CPU¶
Det rekommenderas att tilldela 4 CPU-kärnor per nod i PostgreSQL-clustret.
RAM¶
Det rekommenderas att tilldela 4 GB RAM per nod i PostgreSQL-clustret.
Disk¶
Den virtuella appliancen levereras med en virtuell disk på 60 GB.
Nätverk¶
Ett PostgreSQL-cluster kräver 4 IP-adresser:
- 1 verklig IP-adress per PostgreSQL-nod
- 1 virtuell IP-adress för PostgreSQL-clustret
Varning!
PostgreSQL-clusternodernas verkliga och virtuella IP-adresser måste alla tillhöra samma subnät.
PostgreSQL-clustrets noder placeras vanligtvis i LAN så att CyberElements Bastion kommer åt dem via Edge Gateways.
För att lättare identifiera maskinernas olika adresser benämns de på följande sätt i dokumentationen:
| IP-adressens namn | Betydelse |
|---|---|
RIP_PSQL_1 |
Verklig IP-adress för PostgreSQL-nod nr 1. |
RIP_PSQL_2 |
Verklig IP-adress för PostgreSQL-nod nr 2. |
RIP_PSQL_3 |
Verklig IP-adress för PostgreSQL-nod nr 3. |
VIP_PSQL |
Virtuell IP-adress för PostgreSQL-clustret. |
| Källa | Mål | Målport | Kommentarer |
|---|---|---|---|
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
Debian-repositoryer | TCP 80 | Krävs för att installera beroendena för CyberElements Bastion och hålla systemet uppdaterat. Dokumentationen och de virtuella appliancerna använder ftp.fr.debian.org och security.debian.org. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
DNS-server | UDP 53 | Krävs för DNS-uppslag. Valfritt om en DNS-server är tillgänglig i LAN eller DMZ. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
NTP-tidsserver | UDP 123 | Valfritt om servern behöver synkronisera sin klocka med en server i LAN eller DMZ. Som standard används Debian-poolerna: 0.debian.pool.ntp.org, 1.debian.pool.ntp.org, 2.debian.pool.ntp.org och 3.debian.pool.ntp.org. |
| Källa | Mål | Målport | Kommentarer |
|---|---|---|---|
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
TCP 2379 | Port som används för clustrets drift och som ETCD lyssnar på. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
TCP 2380 | Port som används för clustrets drift och som ETCD lyssnar på. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
TCP 5432 | SQL-anslutningsport som PostgreSQL lyssnar på (standardporten kan ändras). |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
TCP 8008 | Port som används för clustrets drift och som Patroni lyssnar på. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
DNS-server | UDP 53 | Krävs för DNS-uppslag. Valfritt om en DNS-server är tillgänglig i WAN eller DMZ. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
NTP-tidsserver | UDP 123 | Valfritt om servern behöver synkronisera sin klocka med en server i WAN eller DMZ. Som standard används Debian-poolerna: 0.debian.pool.ntp.org, 1.debian.pool.ntp.org, 2.debian.pool.ntp.org och 3.debian.pool.ntp.org. |
| IP-adresser eller nätverksintervall för administrationsarbetsstationerna | RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
TCP 22 | Port för fjärradministration via SSH. |
| IP-adresser eller nätverksintervall för administrationsarbetsstationerna | RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
TCP 5432 | SQL-anslutningsport som används av PostgreSQL (standardporten kan ändras). |
| IP-adresser eller nätverksintervall för administrationsarbetsstationerna | VIP_PSQL |
TCP 5432 | SQL-anslutningsport som används av PostgreSQL (standardporten kan ändras). |
| IP-adresser för de Edge Gateways som behöver komma åt PostgreSQL-clustret | VIP_PSQL |
TCP 5432 | SQL-anslutningsport som används av PostgreSQL (standardporten kan ändras). |
Certifikat¶
PostgreSQL-clustret krypterar kommunikationsflödena mellan sina noder, både för clustrets drift och för SQL-anslutningarna. Det handlar om TLS-kryptering, vilket kräver att certifikat används.
Informationen nedan sammanfattar de inställningar och alternativ som krävs för PostgreSQL-clustrets certifikat.
Säkerhetskrav för certifikatet
Oavsett vilket certifikat som används ska du säkerställa att det uppfyller OpenSSL security level 2, som kan sammanfattas så här:
- Certifikatet och certifikaten för dess certifikatutfärdare måste ha en privat nyckel på minst 2048 bitar med krypteringen RSA, DSA och DH; för nycklar med elliptiska kurvor (ECC) måste de vara minst 224 bitar.
- Certifikatets signatur får inte vara MD5 eller SHA-1 (SHA-512 föredras).
Varje PostgreSQL-nod använder ett enda certifikat men måste också importera rotcertifikatutfärdarens (CA) certifikat.
Rot-CA:n förväntas vara i base64-kodat crt-format.
Certifikatet för PostgreSQL-noden måste uppfylla följande inställningar:
- Den hashfunktion som används för signaturen måste ingå i familjen SHA-2; vi rekommenderar SHA-512.
- Certifikatet och certifikaten för dess certifikatutfärdare måste ha en privat nyckel på minst 2048 bitar med RSA-, DSA- och DH-kryptering; för nycklar med elliptiska kurvor (ECC) måste de vara minst 224 bitar. Vi rekommenderar en storlek på 4096 bitar för RSA och ECDSA-kurvan secp384r1 med en storlek på 384 bitar.
- Attributet
Common Namemåste ha serverns korta namn som värde (om FQDN anges uppstår fel). - Attributet
Key Usagemåste ha värdenacritical,digitalSignatureochkeyEncipherment. - Attributet
Extended Key Usagemåste ha värdenaserverAuthochclientAuth. - Attributet
Subject Alternative Namemåste definieras så att det omfattar:- Namnet på den PostgreSQL-nod som är kopplad till den verkliga IP-adressen
- Namnet på det PostgreSQL-cluster som är kopplat till den virtuella IP-adressen
- PostgreSQL-nodens verkliga IP-adress
- PostgreSQL-clustrets virtuella IP-adress
Förväntat certifikatformat: P12.