Gå til indholdet

Forudsætninger

Maskine

OS

Det PostgreSQL-cluster, der leveres af appliancen, er baseret på et 64-bit Debian 12-operativsystem (bookworm).

CPU

Det anbefales at tildele 4 CPU-kerner pr. node i PostgreSQL-clusteret.

RAM

Det anbefales at tildele 4 GB RAM pr. node i PostgreSQL-clusteret.

Disk

Den virtuelle appliance leveres med en virtuel disk på 60 GB.

Netværk

Et PostgreSQL-cluster kræver 4 IP-adresser:

  • 1 reel IP-adresse pr. PostgreSQL-node
  • 1 virtuel IP-adresse til PostgreSQL-clusteret

Advarsel!

De reelle og virtuelle IP-adresser for noderne i PostgreSQL-clusteret skal alle tilhøre det samme undernet.

Noderne i PostgreSQL-clusteret placeres normalt i LAN'et, så CyberElements Bastion kan få adgang til dem via Edge Gateways.

For bedre at kunne identificere de forskellige maskinadresser benævnes de som følger i dokumentationen:

Navn på IP-adresse Betydning
RIP_PSQL_1 Reel IP-adresse for PostgreSQL-node nr. 1.
RIP_PSQL_2 Reel IP-adresse for PostgreSQL-node nr. 2.
RIP_PSQL_3 Reel IP-adresse for PostgreSQL-node nr. 3.
VIP_PSQL Virtuel IP-adresse for PostgreSQL-clusteret.
Kilde Destination Destinationsport Kommentarer
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
Debian-repositories TCP 80 Påkrævet for at installere afhængighederne til CyberElements Bastion og holde systemet opdateret. Dokumentationen og de virtuelle appliances bruger ftp.fr.debian.org og security.debian.org.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
DNS-server UDP 53 Påkrævet til DNS-opløsning. Valgfri, hvis en DNS-server er tilgængelig på LAN'et eller i DMZ'en.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
NTP-tidsserver UDP 123 Valgfri, hvis serveren skal synkronisere sit ur med en server på LAN'et eller i DMZ'en. Som standard bruges Debian-poolene: 0.debian.pool.ntp.org, 1.debian.pool.ntp.org, 2.debian.pool.ntp.org og 3.debian.pool.ntp.org.
Kilde Destination Destinationsport Kommentarer
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 2379 Port, der bruges til clusterets drift, og som ETCD lytter på.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 2380 Port, der bruges til clusterets drift, og som ETCD lytter på.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 5432 SQL-forbindelsesport, som PostgreSQL lytter på (standardporten kan ændres).
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 8008 Port, der bruges til clusterets drift, og som Patroni lytter på.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
DNS-server UDP 53 Påkrævet til DNS-opløsning. Valgfri, hvis en DNS-server er tilgængelig på WAN'et eller i DMZ'en.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
NTP-tidsserver UDP 123 Valgfri, hvis serveren skal synkronisere sit ur med en server på WAN'et eller i DMZ'en. Som standard bruges Debian-poolene: 0.debian.pool.ntp.org, 1.debian.pool.ntp.org, 2.debian.pool.ntp.org og 3.debian.pool.ntp.org.
IP-adresser eller netværksområde for administrationsarbejdsstationer RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 22 Port til fjernadministration via SSH.
IP-adresser eller netværksområde for administrationsarbejdsstationer RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 5432 SQL-forbindelsesport, der bruges af PostgreSQL (standardporten kan ændres).
IP-adresser eller netværksområde for administrationsarbejdsstationer VIP_PSQL TCP 5432 SQL-forbindelsesport, der bruges af PostgreSQL (standardporten kan ændres).
IP-adresser på de Edge Gateways, der skal have adgang til PostgreSQL-clusteret VIP_PSQL TCP 5432 SQL-forbindelsesport, der bruges af PostgreSQL (standardporten kan ændres).

Certifikater

PostgreSQL-clusteret krypterer kommunikationsstrømmene mellem sine noder, både til clusterets drift og til SQL-forbindelserne. Der er tale om en TLS-kryptering, som kræver brug af certifikater.
Oplysningerne nedenfor opsummerer de indstillinger og valgmuligheder, der kræves til certifikaterne til PostgreSQL-clusteret.

Sikkerhedskrav til certifikatet

Uanset hvilket certifikat der bruges, skal du sikre dig, at det overholder OpenSSL sikkerhedsniveau 2, som kan opsummeres som følger:

  • Certifikatet og certifikaterne fra dets certificeringsmyndigheder skal have en privat nøgle på mindst 2048 bit med krypteringerne RSA, DSA og DH; for nøgler med elliptiske kurver (ECC) skal de være på mindst 224 bit.
  • Certifikatets signatur må ikke være MD5 eller SHA-1 (SHA-512 foretrækkes).

Hver PostgreSQL-node bruger et enkelt certifikat, men skal også importere certifikatet fra rodcertificeringsmyndigheden (CA).
Rod-CA'en forventes i crt-format med base64-kodning.

Certifikatet til PostgreSQL-noden skal overholde følgende indstillinger:

  • Den hashfunktion, der bruges til signaturen, skal tilhøre SHA-2-familien; vi anbefaler SHA-512.
  • Certifikatet og certifikaterne fra dets certificeringsmyndigheder skal have en privat nøgle på mindst 2048 bit med RSA-, DSA- og DH-kryptering; for nøgler med elliptiske kurver (ECC) skal de være på mindst 224 bit. Vi anbefaler en størrelse på 4096 bit til RSA og ECDSA-kurven secp384r1 med en størrelse på 384 bit.
  • Attributten Common Name skal have serverens korte navn som værdi (angivelse af FQDN'et medfører fejl).
  • Attributten Key Usage skal have værdierne critical, digitalSignature og keyEncipherment.
  • Attributten Extended Key Usage skal have værdierne serverAuth og clientAuth.
  • Attributten Subject Alternative Name skal defineres, så den dækker:
    • Navnet på den PostgreSQL-node, der er knyttet til den reelle IP-adresse
    • Navnet på det PostgreSQL-cluster, der er knyttet til den virtuelle IP-adresse
    • PostgreSQL-nodens reelle IP-adresse
    • PostgreSQL-clusterets virtuelle IP-adresse

Forventet certifikatformat: P12.