Ga naar inhoud

Voorwaarden

Machine

OS

Het PostgreSQL-cluster dat door de appliance wordt geleverd, is gebaseerd op een 64-bits besturingssysteem Debian 12 (bookworm).

CPU

Het wordt aanbevolen 4 CPU-cores per node van het PostgreSQL-cluster toe te wijzen.

RAM

Het wordt aanbevolen 4 GB RAM per node van het PostgreSQL-cluster toe te wijzen.

Schijf

De virtuele appliance wordt geleverd met een virtuele schijf van 60 GB.

Netwerk

Een PostgreSQL-cluster heeft 4 IP-adressen nodig:

  • 1 reëel IP-adres per PostgreSQL-node
  • 1 virtueel IP-adres voor het PostgreSQL-cluster

Waarschuwing!

De reële en virtuele IP-adressen van de nodes van het PostgreSQL-cluster moeten alle tot hetzelfde subnet behoren.

De nodes van het PostgreSQL-cluster worden meestal in het LAN geplaatst, zodat CyberElements Bastion er via de Edge Gateways toegang tot heeft.

Om de verschillende adressen van de machines beter te kunnen onderscheiden, worden ze in de documentatie als volgt aangeduid:

Naam van het IP-adres Betekenis
RIP_PSQL_1 Reëel IP-adres van PostgreSQL-node nr. 1.
RIP_PSQL_2 Reëel IP-adres van PostgreSQL-node nr. 2.
RIP_PSQL_3 Reëel IP-adres van PostgreSQL-node nr. 3.
VIP_PSQL Virtueel IP-adres van het PostgreSQL-cluster.
Bron Bestemming Bestemmingspoort Opmerkingen
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
Debian-repositories TCP 80 Vereist om de afhankelijkheden van CyberElements Bastion te installeren en het systeem actueel te houden. De documentatie en de virtuele appliances gebruiken ftp.fr.debian.org en security.debian.org.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
DNS-server UDP 53 Vereist voor de DNS-resolutie. Optioneel als er in het LAN of de DMZ een DNS-server beschikbaar is.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
NTP-tijdserver UDP 123 Optioneel als de server zijn klok moet synchroniseren met een server in het LAN of de DMZ. Standaard worden de Debian-pools gebruikt: 0.debian.pool.ntp.org, 1.debian.pool.ntp.org, 2.debian.pool.ntp.org en 3.debian.pool.ntp.org.
Bron Bestemming Bestemmingspoort Opmerkingen
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 2379 Poort die wordt gebruikt voor de werking van het cluster en waarop ETCD luistert.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 2380 Poort die wordt gebruikt voor de werking van het cluster en waarop ETCD luistert.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 5432 Poort voor de SQL-verbinding waarop PostgreSQL luistert (de standaardpoort kan worden gewijzigd).
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 8008 Poort die wordt gebruikt voor de werking van het cluster en waarop Patroni luistert.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
DNS-server UDP 53 Vereist voor de DNS-resolutie. Optioneel als er in het WAN of de DMZ een DNS-server beschikbaar is.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
NTP-tijdserver UDP 123 Optioneel als de server zijn klok moet synchroniseren met een server in het WAN of de DMZ. Standaard worden de Debian-pools gebruikt: 0.debian.pool.ntp.org, 1.debian.pool.ntp.org, 2.debian.pool.ntp.org en 3.debian.pool.ntp.org.
IP-adressen of netwerkbereik van de beheerwerkstations RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 22 Poort voor beheer op afstand via SSH.
IP-adressen of netwerkbereik van de beheerwerkstations RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 5432 Poort voor de SQL-verbinding die door PostgreSQL wordt gebruikt (de standaardpoort kan worden gewijzigd).
IP-adressen of netwerkbereik van de beheerwerkstations VIP_PSQL TCP 5432 Poort voor de SQL-verbinding die door PostgreSQL wordt gebruikt (de standaardpoort kan worden gewijzigd).
IP-adressen van de Edge Gateways die toegang tot het PostgreSQL-cluster moeten hebben VIP_PSQL TCP 5432 Poort voor de SQL-verbinding die door PostgreSQL wordt gebruikt (de standaardpoort kan worden gewijzigd).

Certificaten

Het PostgreSQL-cluster versleutelt de communicatiestromen tussen zijn nodes, zowel voor de werking van het cluster als voor de SQL-verbindingen. Het gaat om een TLS-versleuteling, waarvoor het gebruik van certificaten nodig is.
De onderstaande informatie vat de instellingen en opties samen die nodig zijn voor de certificaten van het PostgreSQL-cluster.

Beveiligingsvoorwaarde voor het certificaat

Zorg er, ongeacht het gebruikte certificaat, voor dat het voldoet aan OpenSSL-veiligheidsniveau 2, dat als volgt kan worden samengevat:

  • Het certificaat en de certificaten van de certificeringsinstanties ervan moeten bij de versleutelingen RSA, DSA en DH een privésleutel van ten minste 2048 bits hebben; bij sleutels met elliptische krommen (ECC) moeten dat ten minste 224 bits zijn.
  • De ondertekening van het certificaat mag niet MD5 of SHA-1 zijn (SHA-512 heeft de voorkeur).

Elke PostgreSQL-node gebruikt één enkel certificaat, maar moet ook het certificaat van de root-certificeringsinstantie (CA) importeren.
De root-CA wordt verwacht in het formaat crt met base64-codering.

Het certificaat van de PostgreSQL-node moet aan de volgende instellingen voldoen:

  • De voor de ondertekening gebruikte hashfunctie moet tot de familie SHA-2 behoren; wij bevelen SHA-512 aan.
  • Het certificaat en de certificaten van de bijbehorende certificeringsinstanties moeten een privésleutel van minstens 2048 bits hebben met RSA-, DSA- en DH-versleuteling; voor sleutels met elliptische krommen (ECC) moeten dat minstens 224 bits zijn. Wij raden een grootte van 4096 bits aan voor RSA en de ECDSA-kromme secp384r1 met een grootte van 384 bits.
  • Het attribuut Common Name moet als waarde de korte naam van de server hebben (het opgeven van de FQDN veroorzaakt fouten).
  • Het attribuut Key Usage moet de waarden critical, digitalSignature en keyEncipherment hebben.
  • Het attribuut Extended Key Usage moet de waarden serverAuth en clientAuth hebben.
  • Het attribuut Subject Alternative Name moet zo worden gedefinieerd dat het het volgende dekt:
    • De naam van de PostgreSQL-node die aan het reële IP-adres is gekoppeld
    • De naam van het PostgreSQL-cluster dat aan het virtuele IP-adres is gekoppeld
    • Het reële IP-adres van de PostgreSQL-node
    • Het virtuele IP-adres van het PostgreSQL-cluster

Verwacht certificaatformaat: P12.