Un túnel de VPN es una conexión cifrada entre dos o más dispositivos a través de una red. Para garantizar el máximo nivel de seguridad para sus instancias de Oracle Data Guard en RDS Custom for Oracle, le recomendamos encarecidamente que implemente un túnel de VPN para cifrar la comunicación entre las instancias principales y en espera. El túnel protege los datos confidenciales cuando viajan de una instancia a otra por la red. Si bien esta configuración es opcional, aconsejamos su uso como práctica recomendada para garantizar la seguridad de los datos y el cumplimiento de las normas.
Asegúrese de cumplir los siguientes requisitos previos:
-
Tiene acceso raíz a los hosts principal y en espera.
-
Tiene los conocimientos técnicos necesarios para ejecutar el comando
ipsec
.
Para configurar un túnel de VPN entre un servidor principal y una réplica en RDS Custom para Oracle
-
Agregue los grupos de seguridad de la instancia principal y de la instancia en espera a la lista de permitidos mediante las siguientes reglas:
ACTION FLOW SOURCE PROTO PORT ALLOW ingress this-SG 50 (ESP) all (N/A) ALLOW egress this-SG 50 (ESP) all (N/A) ALLOW ingress this-SG 17 (UDP) 500 (IKE) ALLOW egress this-SG 17 (UDP) 500 (IKE)
-
Cambie al usuario raíz.
$ sudo su – root
-
Ejecute los siguientes comandos tanto en la instancia principal como en la instancia en espera para inicializar la base de datos de los Servicios de Seguridad de Red (NSS) bajo el usuario
root
.ipsec initnss --nssdir /etc/ipsec.d
-
Genere las claves RSA de la siguiente manera:
-
En la instancia principal, genere las claves mediante uno de los siguientes comandos
ipsec
, según la versión del sistema operativo.ipsec newhostkey --nssdir /etc/ipsec.d ## for Oracle Linux Version 8 ipsec newhostkey --output /etc/ipsec.secrets ## for Oracle Linux version 7.9
-
Obtenga la clave pública, necesaria para crear la configuración. En el siguiente ejemplo, la instancia principal es
left
porque, en términos generales deipsec
,left
se refiere al dispositivo que está configurando actualmente yright
se refiere al dispositivo que se encuentra en el otro extremo del túnel.ipsec showhostkey --left --ckaid
ckaid-returned-in-last-statement
-
En la instancia en espera, genere claves para la instancia en espera.
ipsec newhostkey --nssdir /etc/ipsec.d ## for Oracle Linux Version 8 ipsec newhostkey --output /etc/ipsec.secrets ## for Oracle Linux version 7.9
-
Obtenga la clave pública de la instancia en espera, necesaria para crear la configuración. En el ejemplo siguiente, la instancia en espera es
right
, ya que hace referencia al dispositivo situado en el otro extremo del túnel.ipsec showhostkey --right --ckaid
ckaid-returned-in-last-statement
-
-
En función de las claves RSA que haya obtenido, genere la configuración. La configuración es idéntica tanto para la instancia principal como para la instancia en espera. Puede encontrar la dirección IPv4 de la instancia principal y la dirección IPv4 de la instancia en espera en la consola de AWS.
Tanto en la instancia principal como en la instancia en espera, guarde la siguiente configuración en el archivo
/etc/ipsec.d/custom-fb-tunnel.conf
.conn custom-db-tunnel type=transport auto=add authby=rsasig left=
IPV4-for-primary
leftrsasigkey=RSA-key-generated-on-primary
right=IPV4-for-standby
rightrsasigkey=RSA-key-generated-on-standby
-
Tanto en la instancia principal como en la instancia en espera, inicie el daemon
ipsec
en ambos hosts.ipsec setup start
-
Inicie el túnel en la instancia principal o en la instancia en espera. El resultado de debería parecerse al siguiente.
[root@ip-172-31-6-81 ~]# ipsec auto --up custom-db-tunnel 181 "custom-db-tunnel" #1: initiating IKEv2 connection 181 "custom-db-tunnel" #1: sent IKE_SA_INIT request to 172.31.32.196:500 182 "custom-db-tunnel" #1: sent IKE_AUTH request {cipher=AES_GCM_16_256 integ=n/a prf=HMAC_SHA2_512 group=DH19} 003 "custom-db-tunnel" #1: initiator established IKE SA; authenticated peer '3584-bit PKCS#1 1.5 RSA with SHA1' signature using preloaded certificate '172.31.32.196' 004 "custom-db-tunnel" #2: initiator established Child SA using #1; IPsec transport [172.31.6.81-172.31.6.81:0-65535 0] -> [172.31.32.196-172.31.32.196:0-65535 0] {ESP/ESN=>0xda9c4815 <0xb742ca42 xfrm=AES_GCM_16_256-NONE DPD=passive} [root@ip-172-31-6-81 ~]#