Предварителни изисквания¶
Компютър¶
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_1RIP_PSQL_2RIP_PSQL_3 |
Хранилища на Debian | TCP 80 | Необходимо за инсталиране на зависимостите на CyberElements Bastion и за поддържане на системата актуална. Документацията и виртуалните устройства използват ftp.fr.debian.org и security.debian.org. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
DNS сървър | UDP 53 | Необходимо за преобразуването на имена чрез DNS. По избор, ако в LAN или в DMZ е наличен DNS сървър. |
RIP_PSQL_1RIP_PSQL_2RIP_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_1RIP_PSQL_2RIP_PSQL_3 |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
TCP 2379 | Порт, използван за работата на клъстера, на който слуша ETCD. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
TCP 2380 | Порт, използван за работата на клъстера, на който слуша ETCD. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
TCP 5432 | Порт за SQL връзки, обслужван от PostgreSQL (портът по подразбиране може да бъде променен). |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
TCP 8008 | Порт, използван за работата на клъстера, на който слуша Patroni. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
DNS сървър | UDP 53 | Необходимо за преобразуването на имена чрез DNS. По избор, ако в WAN или в DMZ е наличен DNS сървър. |
RIP_PSQL_1RIP_PSQL_2RIP_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_1RIP_PSQL_2RIP_PSQL_3 |
TCP 22 | Порт за отдалечено администриране чрез SSH. |
| IP адреси или мрежов диапазон на работните станции за администриране | RIP_PSQL_1RIP_PSQL_2RIP_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.