Przejdź do treści

Wymagania wstępne

Maszyna

OS

Cluster PostgreSQL dostarczany przez appliance opiera się na 64-bitowym systemie operacyjnym Debian 12 (bookworm).

CPU

Zaleca się przydzielenie 4 rdzeni CPU na węzeł clustera PostgreSQL.

RAM

Zaleca się przydzielenie 4 GB pamięci RAM na węzeł clustera PostgreSQL.

Dysk

Wirtualna appliance jest dostarczana z dyskiem wirtualnym o pojemności 60 GB.

Sieć

Cluster PostgreSQL będzie wymagać 4 adresów IP:

  • 1 rzeczywisty adres IP na węzeł PostgreSQL
  • 1 wirtualny adres IP dla clustera PostgreSQL

Ostrzeżenie!

Rzeczywiste i wirtualne adresy IP węzłów clustera PostgreSQL muszą wszystkie należeć do tej samej podsieci.

Węzły clustera PostgreSQL są zwykle umieszczane w sieci LAN, aby CyberElements Bastion uzyskiwał do nich dostęp przez serwery Edge Gateway.

Aby lepiej rozróżnić poszczególne adresy maszyn, w dokumentacji będą one nazywane następująco:

Nazwa adresu IP Znaczenie
RIP_PSQL_1 Rzeczywisty adres IP węzła PostgreSQL nr 1.
RIP_PSQL_2 Rzeczywisty adres IP węzła PostgreSQL nr 2.
RIP_PSQL_3 Rzeczywisty adres IP węzła PostgreSQL nr 3.
VIP_PSQL Wirtualny adres IP clustera PostgreSQL.
Źródło Cel Port docelowy Uwagi
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
Repozytoria Debiana TCP 80 Wymagane do instalacji zależności CyberElements Bastion i utrzymywania systemu w aktualnym stanie. Dokumentacja i wirtualne appliance używają ftp.fr.debian.org oraz security.debian.org.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
Serwer DNS UDP 53 Wymagane do rozwiązywania nazw DNS. Opcjonalne, jeśli serwer DNS jest dostępny w sieci LAN lub DMZ.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
Serwer czasu NTP UDP 123 Opcjonalne, jeśli serwer musi synchronizować swój zegar z serwerem w sieci LAN lub DMZ. Domyślnie używane są pule Debiana: 0.debian.pool.ntp.org, 1.debian.pool.ntp.org, 2.debian.pool.ntp.org i 3.debian.pool.ntp.org.
Źródło Cel Port docelowy Uwagi
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 2379 Port używany do działania clustera, nasłuchiwany przez ETCD.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 2380 Port używany do działania clustera, nasłuchiwany przez ETCD.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 5432 Port połączeń SQL obsługiwany przez PostgreSQL (port domyślny można zmienić).
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 8008 Port używany do działania clustera, nasłuchiwany przez Patroni.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
Serwer DNS UDP 53 Wymagane do rozwiązywania nazw DNS. Opcjonalne, jeśli serwer DNS jest dostępny w sieci WAN lub DMZ.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
Serwer czasu NTP UDP 123 Opcjonalne, jeśli serwer musi synchronizować swój zegar z serwerem w sieci WAN lub DMZ. Domyślnie używane są pule Debiana: 0.debian.pool.ntp.org, 1.debian.pool.ntp.org, 2.debian.pool.ntp.org i 3.debian.pool.ntp.org.
Adresy IP lub zakres sieci stacji roboczych administracyjnych RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 22 Port zdalnej administracji przez SSH.
Adresy IP lub zakres sieci stacji roboczych administracyjnych RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 5432 Port połączeń SQL używany przez PostgreSQL (port domyślny można zmienić).
Adresy IP lub zakres sieci stacji roboczych administracyjnych VIP_PSQL TCP 5432 Port połączeń SQL używany przez PostgreSQL (port domyślny można zmienić).
Adresy IP serwerów Edge Gateway, które muszą mieć dostęp do clustera PostgreSQL VIP_PSQL TCP 5432 Port połączeń SQL używany przez PostgreSQL (port domyślny można zmienić).

Certyfikaty

Cluster PostgreSQL szyfruje strumienie komunikacji między swoimi węzłami, zarówno na potrzeby działania clustera, jak i połączeń SQL. Jest to szyfrowanie TLS, które wymaga użycia certyfikatów.
Poniższe informacje podsumowują ustawienia i opcje wymagane dla certyfikatów clustera PostgreSQL.

Wymóg bezpieczeństwa certyfikatu

Niezależnie od użytego certyfikatu upewnij się, że jest zgodny z poziomem bezpieczeństwa 2 OpenSSL, co można podsumować następująco:

  • Certyfikat oraz certyfikaty jego urzędów certyfikacji muszą mieć klucz prywatny o długości co najmniej 2048 bitów przy szyfrowaniu RSA, DSA i DH; w przypadku kluczy na krzywych eliptycznych (ECC) muszą mieć co najmniej 224 bity.
  • Podpis certyfikatu nie może być MD5 ani SHA-1 (preferowany jest SHA-512).

Każdy węzeł PostgreSQL będzie używać jednego certyfikatu, ale będzie też musiał zaimportować certyfikat głównego urzędu certyfikacji (CA).
Główny CA jest oczekiwany w formacie crt z kodowaniem base64.

Certyfikat węzła PostgreSQL musi spełniać następujące ustawienia:

  • Funkcja skrótu użyta do podpisu musi należeć do rodziny SHA-2; zalecamy SHA-512.
  • Certyfikat i certyfikaty jego urzędów certyfikacji muszą mieć klucz prywatny o długości co najmniej 2048 bitów przy szyfrowaniu RSA, DSA i DH; w przypadku kluczy na krzywych eliptycznych (ECC) muszą mieć co najmniej 224 bity. Zalecamy rozmiar 4096 bitów dla RSA oraz krzywą ECDSA secp384r1 o rozmiarze 384 bitów.
  • Atrybut Common Name musi mieć jako wartość krótką nazwę serwera (podanie FQDN spowoduje błędy).
  • Atrybut Key Usage musi mieć wartości critical, digitalSignature i keyEncipherment.
  • Atrybut Extended Key Usage musi mieć wartości serverAuth i clientAuth.
  • Atrybut Subject Alternative Name musi być zdefiniowany tak, aby obejmował:
    • Nazwę węzła PostgreSQL powiązaną z rzeczywistym adresem IP
    • Nazwę clustera PostgreSQL powiązaną z wirtualnym adresem IP
    • Rzeczywisty adres IP węzła PostgreSQL
    • Wirtualny adres IP clustera PostgreSQL

Oczekiwany format certyfikatu: P12.