Към съдържанието

Предварителни изисквания

Компютър

OS

Клъстерът PostgreSQL, предоставен от устройството, е базиран на 64-битова операционна система Debian 12 (bookworm).

CPU

Препоръчително е да се разпределят 4 ядра на CPU на възел в клъстера PostgreSQL.

RAM

Препоръчително е да се разпределят 4 GB RAM на възел в клъстера PostgreSQL.

Диск

Виртуалното устройство се доставя с виртуален диск от 60 GB.

Мрежа

Един клъстер PostgreSQL изисква 4 IP адреса:

  • 1 реален IP адрес на възел PostgreSQL
  • 1 виртуален IP адрес за клъстера PostgreSQL

Предупреждение!

Реалните и виртуалните IP адреси на възлите в клъстера PostgreSQL трябва всички да принадлежат към една и съща подмрежа.

Възлите на клъстера PostgreSQL обикновено се разполагат в LAN, за да бъдат достъпни за CyberElements Bastion чрез сървърите Edge Gateway.

За по-лесно разграничаване на различните адреси на компютрите в документацията те ще бъдат наименувани по следния начин:

Име на IP адреса Значение
RIP_PSQL_1 Реален IP адрес на възел PostgreSQL № 1.
RIP_PSQL_2 Реален IP адрес на възел PostgreSQL № 2.
RIP_PSQL_3 Реален IP адрес на възел PostgreSQL № 3.
VIP_PSQL Виртуален IP адрес на клъстера PostgreSQL.
Източник Местоназначение Порт на местоназначението Коментари
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
Хранилища на Debian TCP 80 Необходимо за инсталиране на зависимостите на CyberElements Bastion и за поддържане на системата актуална. Документацията и виртуалните устройства използват ftp.fr.debian.org и security.debian.org.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
DNS сървър UDP 53 Необходимо за преобразуването на имена чрез DNS. По избор, ако в LAN или в DMZ е наличен DNS сървър.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
NTP сървър за време UDP 123 По избор, ако сървърът трябва да синхронизира часовника си със сървър в LAN или в DMZ. По подразбиране се използват пуловете на Debian: 0.debian.pool.ntp.org, 1.debian.pool.ntp.org, 2.debian.pool.ntp.org и 3.debian.pool.ntp.org.
Източник Местоназначение Порт на местоназначението Коментари
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 2379 Порт, използван за работата на клъстера, на който слуша ETCD.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 2380 Порт, използван за работата на клъстера, на който слуша ETCD.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 5432 Порт за SQL връзки, обслужван от PostgreSQL (портът по подразбиране може да бъде променен).
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 8008 Порт, използван за работата на клъстера, на който слуша Patroni.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
DNS сървър UDP 53 Необходимо за преобразуването на имена чрез DNS. По избор, ако в WAN или в DMZ е наличен DNS сървър.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
NTP сървър за време UDP 123 По избор, ако сървърът трябва да синхронизира часовника си със сървър в WAN или в DMZ. По подразбиране се използват пуловете на Debian: 0.debian.pool.ntp.org, 1.debian.pool.ntp.org, 2.debian.pool.ntp.org и 3.debian.pool.ntp.org.
IP адреси или мрежов диапазон на работните станции за администриране RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 22 Порт за отдалечено администриране чрез SSH.
IP адреси или мрежов диапазон на работните станции за администриране RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 5432 Порт за SQL връзки, използван от PostgreSQL (портът по подразбиране може да бъде променен).
IP адреси или мрежов диапазон на работните станции за администриране VIP_PSQL TCP 5432 Порт за SQL връзки, използван от PostgreSQL (портът по подразбиране може да бъде променен).
IP адреси на сървърите Edge Gateway, които трябва да имат достъп до клъстера PostgreSQL VIP_PSQL TCP 5432 Порт за SQL връзки, използван от PostgreSQL (портът по подразбиране може да бъде променен).

Сертификати

Клъстерът PostgreSQL шифрова комуникационните потоци между своите възли както за работата на клъстера, така и за SQL връзките. Това е TLS шифроване, което изисква използването на сертификати.
Информацията по-долу обобщава настройките и опциите, необходими за сертификатите на клъстера PostgreSQL.

Ограничение за защитата на сертификатите

Независимо от използвания сертификат, уверете се, че той отговаря на ниво на защита 2 на OpenSSL, което може да се обобщи по следния начин:

  • Сертификатът и сертификатите на неговите сертифициращи органи трябва да имат частен ключ от поне 2048 бита при шифроване RSA, DSA и DH; ключовете с елиптични криви (ECC) трябва да са от поне 224 бита.
  • Подписът на сертификата не трябва да бъде MD5 или SHA-1 (за предпочитане е SHA-512).

Всеки възел PostgreSQL ще използва един сертификат, но ще трябва също да импортира сертификата на главния сертифициращ орган (CA).
Главният CA се очаква да бъде във формат crt, кодиран в base64.

Сертификатът на възела PostgreSQL трябва да отговаря на следните настройки:

  • Хеш функцията, използвана за подписа, трябва да е от семейството SHA-2; препоръчваме SHA-512.
  • Сертификатът и сертификатите на неговите сертифициращи органи трябва да имат частен ключ от поне 2048 бита при шифроване RSA, DSA и DH; за ключовете с елиптични криви (ECC) те трябва да са поне 224 бита. Препоръчваме размер от 4096 бита за RSA и кривата ECDSA secp384r1 с размер 384 бита.
  • Атрибутът Common Name трябва да има за стойност краткото име на сървъра (посочването на FQDN ще доведе до грешки).
  • Атрибутът Key Usage трябва да има стойностите critical, digitalSignature и keyEncipherment.
  • Атрибутът Extended Key Usage трябва да има стойностите serverAuth и clientAuth.
  • Атрибутът Subject Alternative Name трябва да бъде дефиниран така, че да обхваща:
    • Името на възела PostgreSQL, свързано с реалния IP адрес
    • Името на клъстера PostgreSQL, свързано с виртуалния IP адрес
    • Реалния IP адрес на възела PostgreSQL
    • Виртуалния IP адрес на клъстера PostgreSQL

Очакван формат на сертификата: P12.