Saltar a contenido

Requisitos previos

Máquina

OS

El clúster de PostgreSQL que proporciona la appliance se basa en un sistema operativo Debian 12 (bookworm) de 64 bits.

CPU

Se recomienda asignar 4 núcleos de CPU por nodo del clúster de PostgreSQL.

RAM

Se recomienda asignar 4 GB de RAM por nodo del clúster de PostgreSQL.

Disco

La appliance virtual se entrega con un disco virtual de 60 GB.

Red

Un clúster de PostgreSQL necesitará 4 direcciones IP:

  • 1 dirección IP real por nodo PostgreSQL
  • 1 dirección IP virtual para el clúster de PostgreSQL

¡Atención!

Las direcciones IP reales y virtuales de los nodos del clúster de PostgreSQL deben pertenecer todas a la misma subred.

Los nodos del clúster de PostgreSQL suelen situarse en la LAN para que CyberElements Bastion acceda a ellos a través de las Edge Gateways.

Para identificar mejor las distintas direcciones de las máquinas, en la documentación se designarán de la siguiente manera:

Nombre de la dirección IP Significado
RIP_PSQL_1 Dirección IP real del nodo PostgreSQL n°1.
RIP_PSQL_2 Dirección IP real del nodo PostgreSQL n°2.
RIP_PSQL_3 Dirección IP real del nodo PostgreSQL n°3.
VIP_PSQL Dirección IP virtual del clúster de PostgreSQL.
Origen Destino Puerto de destino Comentarios
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
Repositorios Debian TCP 80 Necesario para instalar las dependencias de CyberElements Bastion y mantener el sistema actualizado. La documentación y las appliances virtuales utilizan ftp.fr.debian.org y security.debian.org.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
Servidor DNS UDP 53 Necesario para la resolución DNS. Opcional si hay un servidor DNS disponible en la LAN o la DMZ.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
Servidor de tiempo NTP UDP 123 Opcional si el servidor debe sincronizar su reloj con un servidor situado en la LAN o la DMZ. De forma predeterminada, se utilizan los pools de Debian: 0.debian.pool.ntp.org, 1.debian.pool.ntp.org, 2.debian.pool.ntp.org y 3.debian.pool.ntp.org.
Origen Destino Puerto de destino Comentarios
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 2379 Puerto utilizado para el funcionamiento del clúster y escuchado por ETCD.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 2380 Puerto utilizado para el funcionamiento del clúster y escuchado por ETCD.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 5432 Puerto de conexión SQL utilizado por PostgreSQL (el puerto predeterminado puede modificarse).
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 8008 Puerto utilizado para el funcionamiento del clúster y escuchado por Patroni.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
Servidor DNS UDP 53 Necesario para la resolución DNS. Opcional si hay un servidor DNS disponible en la WAN o la DMZ.
RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
Servidor de tiempo NTP UDP 123 Opcional si el servidor debe sincronizar su reloj con un servidor situado en la WAN o la DMZ. De forma predeterminada, se utilizan los pools de Debian: 0.debian.pool.ntp.org, 1.debian.pool.ntp.org, 2.debian.pool.ntp.org y 3.debian.pool.ntp.org.
Direcciones IP o rango de red de los puestos de administración RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 22 Puerto de administración remota SSH.
Direcciones IP o rango de red de los puestos de administración RIP_PSQL_1
RIP_PSQL_2
RIP_PSQL_3
TCP 5432 Puerto de conexión SQL utilizado por PostgreSQL (el puerto predeterminado puede modificarse).
Direcciones IP o rango de red de los puestos de administración VIP_PSQL TCP 5432 Puerto de conexión SQL utilizado por PostgreSQL (el puerto predeterminado puede modificarse).
Direcciones IP de las Edge Gateways que deben acceder al clúster de PostgreSQL VIP_PSQL TCP 5432 Puerto de conexión SQL utilizado por PostgreSQL (el puerto predeterminado puede modificarse).

Certificados

El clúster de PostgreSQL cifra los flujos de comunicación entre sus nodos, tanto para el funcionamiento del clúster como para las conexiones SQL. Se trata de un cifrado TLS, que exige el uso de certificados.
La información siguiente resume los parámetros y las opciones necesarios para los certificados del clúster de PostgreSQL.

Constraint de seguridad del certificado

Independientemente del certificado utilizado, asegúrese de que cumple con el nivel de seguridad OpenSSL 2, que puede resumirse de la siguiente manera:

  • El certificado y los certificados de sus autoridades de certificación deberán tener una clave privada de al menos 2048 bits con cifrado RSA, DSA y DH; en el caso de las claves de curva elíptica (ECC), deberán tener al menos 224 bits.
  • La firma del certificado no debe ser MD5 o SHA-1 (se prefiere SHA-512).

Cada nodo PostgreSQL utilizará un único certificado, pero también deberá importar el certificado de la autoridad de certificación (CA) raíz.
Se espera que la CA raíz esté en formato crt codificado en base64.

El certificado del nodo PostgreSQL debe cumplir los siguientes parámetros:

  • La función hash utilizada para la firma debe pertenecer a la familia SHA-2; se recomienda SHA-512.
  • El certificado y los certificados de sus autoridades de certificación deben tener una clave privada de al menos 2048 bits con cifrado RSA, DSA y DH; en el caso de las claves de curva elíptica (ECC), deben ser de al menos 224 bits. Se recomienda un tamaño de 4096 bits para RSA y la curva ECDSA secp384r1 con un tamaño de 384 bits.
  • El atributo Common Name debe tener como valor el nombre corto del servidor (indicar el FQDN provocará fallos).
  • El atributo Key Usage debe tener los valores critical, digitalSignature y keyEncipherment.
  • El atributo Extended Key Usage debe tener los valores serverAuth y clientAuth.
  • El atributo Subject Alternative Name debe definirse para cubrir:
    • El nombre del nodo PostgreSQL asociado a la dirección IP real
    • El nombre del clúster de PostgreSQL asociado a la dirección IP virtual
    • La dirección IP real del nodo PostgreSQL
    • La dirección IP virtual del clúster de PostgreSQL

Formato de certificado esperado: P12.