

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configuration d’un tunnel VPN entre les instances principales et de réplica de RDS Custom for Oracle
<a name="cfo-standby-vpn-tunnel"></a>

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)
   ```

1. Basculez vers l'utilisateur racine.

   ```
   $ sudo su – root
   ```

1. 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
   ```

1. 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
      ```

   1. 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
      ```

   1. 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
      ```

   1. 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
      ```

1. 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 de l'instance principale et IPv4 l'adresse de l'instance IPv4 de secours dans la AWS console.

   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
   ```

1. Sur l’instance principale et sur l’instance de secours, démarrez le démon `ipsec` sur les deux hôtes.

   ```
   ipsec setup start
   ```

1. 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 ~]#
   ```