Déploiement sécurisé à l'aide du proxy inverse

Découvrez comment configurer un service proxy inverse à l'aide de NGINX pour accéder aux microservices Oracle GoldenGate sans utiliser de numéros de port.

Conditions préalables à l'utilisation de ReverseProxySettings

Vous pouvez utiliser n'importe quel service proxy inverse avec MA. L'exemple suivant fournit un processus que vous pouvez suivre pour configurer d'autres services de proxy inverse en association avec la documentation de votre serveur proxy.

Les prérequis suivants fournissent des détails sur la configuration minimale requise pour configurer un proxy inverse NGINX. Des exigences similaires peuvent être requises pour votre environnement et le proxy inverse, si vous utilisez un utilitaire différent pour la configuration du proxy.

Remarque : lors de l'installation d'Oracle GoldenGate 26ai sur Oracle Linux 8 ou RHEL 8, assurez-vous que la version de NGINX est 1.24 ou supérieure en activant le flux de module NGINX approprié.

  1. Installez NGINX, reportez-vous à Installation du serveur Web et du proxy NGINX sur Oracle Linux. Pour Oracle Linux, la commande d'installation de NGINX est la suivante :

    yum -y install nginx

  2. Vérifiez que la version de JRE est JRE 8 ou supérieure.

  3. Installez Oracle GoldenGate MA.

  4. Créez un ou plusieurs déploiements MA actifs.

  5. Assurez-vous que l'utilisateur Oracle dispose des droits d'accès sudo.

  6. Configurez la variable d'environnement PATH pour inclure le chemin du répertoire d'installation NGINX.

Exécuter l'utilitaire ReverseProxySettings pour configurer NGINX

Une installation d'architecture de microservices Oracle GoldenGate inclut l'utilitaire ReverseProxySettings. L'utilitaire ReverseProxySettings se trouve dans le répertoire $OGG_HOME/lib/utl/reverseproxy.

Pour identifier les commandes supplémentaires qui peuvent être utilisées avec l'utilitaire ReverseProxySettings, exécutez l'utilitaire avec l'option --help :

$OGG_HOME/lib/utl/reverseproxy/ReverseProxySettings --help

Les options disponibles avec l'utilitaire ReverseProxySettings sont les suivantes :

-o ou -sortie

Nom du fichier de sortie. Le nom par défaut du fichier est ogg.conf.

-P ou -mot de passe

Mot de passe d'un compte Service Manager.

-l ou -log

Nom du fichier journal et lancement de la journalisation. La valeur par défaut est Aucune journalisation.

–trailOnly

Configurer uniquement pour les données de trace entrantes.

-t ou -type

Type de serveur proxy. La valeur par défaut est Nginx.

-s ou -no-ssl

Configurer sans SSL.

-h ou -host

Nom d'hôte virtuel pour le proxy inverse.

-p ou -port

Numéro de port proxy inverse. Les valeurs par défaut sont 80 ou 443.

- ? ou -aide

Afficher les informations d'utilisation.

-u ou -utilisateur

Nom du compte du gestionnaire de services à utiliser.

-v ou -version

Affiche le numéro de version.

Exécuter l'utilitaire ReverseProxySettings

Pour utiliser l'utilitaire ReverseProxySettings, procédez comme suit :

  1. Pour générer un fichier de configuration pour le proxy inverse NGINX, accédez à l'emplacement de l'utilitaire ReverseProxySettings :

    cd $OGG_HOME/lib/utl/reverseproxy
  2. Exécutez l'utilitaire ReverseProxySetting :

    ReverseProxySettings -u *adminuser* -P *adminpwd* -o ogg.conf http://localhost:9100

    Dans ce fragment de code, adminuser est le nom utilisateur du déploiement et adminpwd le mot de passe utilisateur du déploiement utilisé pour se connecter au déploiement.

  3. Copiez le fichier ogg.conf généré à l'étape 2 dans le répertoire /etc/nginx/conf.d.

    sudo cp ogg.conf /etc/nginx/conf.d/.
  4. Mettez à jour le fichier ogg.conf pour les paramètres SSL/TLS en procédant comme suit :

    1. Recherchez la ligne ssl_ciphers, remplacez-la par ce qui suit :

      ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305;
    2. Ajoutez une autre ligne en dessous de cette ligne :

      ssl_conf_command Ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256;
    3. Si vous utilisez un certificat auto-signé, assurez-vous que la clé privée et le fichier de certificat pem ont été copiés dans le répertoire /etc/nginx, comme indiqué dans l'exemple suivant :

      sudo cp ogg.key /etc/nginx/.
      sudo cp ogg.pem /etc/nginx/.

      Modifiez les deux lignes suivantes pour pointer vers l'emplacement de fichier correct :

      ssl_certificate          /etc/nginx/ogg.pem;
      ssl_certificate_key      /etc/nginx/ogg.key;
    4. Si vous utilisez un certificat signé par une autorité de certification racine, assurez-vous que tous les certificats CA intermédiaires ont été ajoutés à votre certificat de serveur :

      cat server_cert.pem intermediate_ca_cert1.pem intermediate_ca_cert2.pem > ogg_chain.pem

      Copiez la clé privée et la chaîne de certificats dans /etc/nginx :

      sudo cp ogg_chain.pem /etc/nginx/.
      sudo cp ogg_key /etc/nginx/.

      Modifiez les deux lignes suivantes pour pointer vers l'emplacement de fichier correct :

      ssl_certificate         /etc/nginx/ogg_chain.pem;
      ssl_certificate_key     /etc/nginx/ogg.key;
  5. Validez la configuration NGINX :

    sudo nginx -t

    Si la commande réussit, la sortie affiche ce qui suit :

    NGINX: the configuration file /etc/NGINX/NGINX.conf syntax is ok
    NGINX: configuration file /etc/NGINX/NGINX.conf test is successful
  6. Redémarrez le service NGINX :

    sudo systemctl restart nginx

    Si les modifications apportées au fichier de configuration ne sont pas chargées, arrêtez et redémarrez le proxy.

  7. Pour vérifier si vous pouvez accéder aux microservices après la configuration de NGINX, ouvrez le navigateur Web.

  8. Entrez l'URL proxy du gestionnaire de services à l'aide du numéro de port 443, comme suit :

    http://dc.example.com:443

    Cela permet d'ouvrir la page de connexion du gestionnaire de services, à partir de laquelle vous pouvez également accéder aux autres microservices. Si vous souhaitez accéder directement à un microservice, vous pouvez entrer l'URL proxy de ce microservice, comme indiqué dans le fichier ogg.conf, généré précédemment.

Reportez-vous également à cette vidéo pour configurer le proxy inverse NGINX.

Résiliation SSL

Lorsqu'il existe une connexion non sécurisée entre le proxy inverse, qui utilise une connexion basée sur TLS, et le serveur d'origine, il est appelé terminaison SSL du proxy inverse. Remarque : dans SSL-Termination, les connexions entre le proxy inverse et les serveurs d'origine ne sont pas sécurisées.

Cependant, le pontage SSL est également pris en charge lorsque les connexions entre le client et le proxy inverse sont sécurisées et que la connexion entre le proxy inverse et le serveur d'origine est également sécurisée.

Remarque : mTLS n'est pas pris en charge lorsqu'un proxy inverse est utilisé.