Configuration d’un tunnel VPN entre les instances principales et de réplica de RDS Custom for Oracle - Amazon Relational Database Service

Configuration d’un tunnel VPN entre les instances principales et de réplica de RDS Custom for Oracle

Un tunnel VPN est une connexion chiffrée entre deux ou plusieurs appareils sur un réseau. Pour garantir le plus haut niveau de sécurité à vos instances Oracle Data Guard dans RDS Custom for Oracle, nous vous recommandons vivement d’implémenter un tunnel VPN pour chiffrer les communications entre vos instances principales et de secours. Le tunnel protège les données sensibles lorsqu’elles circulent sur le réseau entre les instances. Bien que cette configuration soit facultative, nous la recommandons comme meilleure pratique pour garantir la sécurité des données et la conformité réglementaire.

Assurez-vous de respecter les prérequis suivants :

  • Vous disposez d’un accès racine aux hôtes principaux et de secours.

  • Vous disposez de l’expertise technique nécessaire pour exécuter la commande ipsec.

Pour configurer un tunnel VPN entre une instance principale et un réplica de RDS Custom for Oracle
  1. Ajoutez les groupes de sécurité de l’instance principale et de l’instance de secours à la liste d’autorisation en respectant les règles suivantes :

    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)
  2. Basculez vers l'utilisateur racine.

    $ sudo su – root
  3. Exécutez les commandes suivantes sur l’instance principale et sur l’instance de secours pour initialiser la base de données des services de sécurité réseau (NSS) sous l’utilisateur root.

    ipsec initnss --nssdir /etc/ipsec.d
  4. Générez des clés RSA comme suit :

    1. Sur l’instance principale, générez les clés à l’aide de l’une des commandes ipsec suivantes, en fonction de la version de votre système d’exploitation.

      ipsec newhostkey --nssdir /etc/ipsec.d ## for Oracle Linux Version 8 ipsec newhostkey --output /etc/ipsec.secrets ## for Oracle Linux version 7.9
    2. Obtenez la clé publique dont vous avez besoin pour créer la configuration. Dans l’exemple suivant, l’instance principale est left, car dans le langage ipsec, left fait référence à l’appareil que vous êtes en train de configurer et right fait référence à l’appareil situé à l’autre bout du tunnel.

      ipsec showhostkey --left --ckaid ckaid-returned-in-last-statement
    3. Sur l’instance de secours, générez des clés pour l’instance de secours.

      ipsec newhostkey --nssdir /etc/ipsec.d ## for Oracle Linux Version 8 ipsec newhostkey --output /etc/ipsec.secrets ## for Oracle Linux version 7.9
    4. Obtenez la clé publique pour l’instance de secours dont vous avez besoin pour créer la configuration. Dans l’exemple suivant, l’instance de secours est right, car elle fait référence au périphérique situé à l’autre bout du tunnel.

      ipsec showhostkey --right --ckaid ckaid-returned-in-last-statement
  5. Sur la base des clés RSA que vous avez obtenues, générez la configuration. La configuration est identique pour l’instance principale et pour l’instance de secours. Vous pouvez trouver l’adresse IPv4 de l’instance principale et l’adresse IPv4 de l’instance de secours dans la console AWS.

    Sur l’instance principale et sur l’instance de secours, enregistrez la configuration suivante dans le fichier /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
  6. Sur l’instance principale et sur l’instance de secours, démarrez le démon ipsec sur les deux hôtes.

    ipsec setup start
  7. Démarrez le tunnel sur l’instance principale ou sur l’instance de secours. La sortie doit ressembler à ce qui suit :

    [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 ~]#