Sécuriser les applications héritées à l'aide d'OCI IAM App Gateway
Introduction
La passerelle d'application Oracle est une appliance logicielle qui permet d'intégrer à des fins d'authentification des applications hébergées sur une instance de calcul, dans une infrastructure cloud ou sur un serveur sur site à Oracle Cloud Infrastructure.
La passerelle d'application agit comme un proxy inverse protégeant les applications Web en limitant l'accès réseau non autorisé à ces dernières. La passerelle d'application intercepte toute demande HTTP adressée à ces applications et s'assure que les utilisateurs sont authentifiés avec OCI Identity and Access Management (IAM) avant de transmettre la demande à ces applications. La passerelle d'application propage l'identité de l'utilisateur authentifié aux applications.
Si l'utilisateur n'est pas authentifié avec OCI IAM, la passerelle d'application redirige l'utilisateur vers la page de connexion d'OCI IAM pour la validation des informations d'identification.
Objectif
Ce tutoriel explique comment utiliser Oracle App Gateway pour sécuriser une application héritée en ajoutant une couche d'authentification et d'autorisation intégrée à OCI IAM. Cela permet un contrôle centralisé de l'accès à l'environnement hérité, garantissant la sécurité, la gouvernance et la visibilité sur les utilisateurs autorisés.
Prérequis
Avant de configurer la passerelle d'application dans Oracle Cloud Infrastructure (OCI), assurez-vous que vous disposez des éléments suivants :
- Un compte OCI avec des droits d'accès administratifs
- Domaine d'identité créé de type Enterprise
- Accès au domaine d'identité configuré dans OCI IAM
- Droit d'accès permettant de créer et de gérer des applications d'entreprise dans OCI IAM
- Environnement réseau configuré
- Un sous-réseau dans le réseau cloud virtuel (VCN) pour héberger la passerelle d'application
- Règles de sécurité dans les listes de sécurité ou un groupe de sécurité réseau pour autoriser le trafic sur le port 443 (HTTPS) et le port d'application back-end
- Un serveur avec la passerelle d'application
- Machine virtuelle ou hôte exécutant Linux pour installer l'agent Cloud Gate (module NGINX + OCI IAM)
- Certificat TLS valide ou auto-signé pour activer HTTPS sur la passerelle d'application
- Une ancienne application disponible
- Doit être exécuté sur un hôte back-end (HTTP ou HTTPS)
- L'adresse et le port de l'application doivent être connus et accessibles à partir du VCN
- Utilisateurs et groupes dans OCI IAM
- Utilisateurs provisionnés dans le domaine d'identité
- Groupes ou affectations configurés pour définir qui peut accéder à l'application héritée
Tâche 1 : télécharger Oracle App Gateway OVA et le convertir en VMDK
-
Cliquez sur Domaines, paramètres pour votre domaine, puis faites défiler la page jusqu'à la section Téléchargements. Cliquez sur les 3 points pour ouvrir le menu de la passerelle d'application pour Identity Cloud Service, puis cliquez sur Télécharger :

-
Une fois le téléchargement terminé, extrayez le fichier .ova (fichier d'appliance virtuelle VirtualBox) du fichier .zip vers votre ordinateur.

-
Pour traiter ce fichier, importez le . Fichier OVA dans VirtualBox. Import du . Le fichier OVA créera une image de disque virtuel (. Fichier VDI.
-
Téléchargez ce fichier VDI vers un bucket dans OCI.

Tâche 2 : création de l'image personnalisée de la passerelle d'application dans OCI
-
Après le . Le fichier VDI est disponible dans le bucket. Créez une image personnalisée à utiliser sur les instances du locataire. Cliquez sur Compute, Images personnalisées :

-
Cliquez sur Importer l'image :

-
Remplissez et sélectionnez les paramètres pour créer l'image personnalisée :

Où :
- Créer dans le compartiment : sélectionnez ici le compartiment dans lequel l'image personnalisée sera créée
- Nom : nom de l'image personnalisée à créer
- Système d'exploitation : conservez Oracle Linux sélectionné
- Bucket : sélectionnez Importer à partir d'un bucket Object Storage
- Informations sur le stockage d'objets : sélectionnez le stockage d'objets et l'image .vdi à l'étape précédente.
- Type d'image : cliquez sur VMDK.
- Mode de lancement : cliquez sur Mode émulé.
Une fois ces informations renseignées, cliquez sur Importer l'image. Une fois l'import terminé, vous pouvez créer une instance OCI avec la nouvelle image personnalisée créée.
Tâche 3 : créer une instance de passerelle d'application
-
Pour créer l'instance, cliquez sur Compute, Instances :

-
Cliquez sur Créer une instance :

-
Renseignez les informations relatives à la création d'instance et cliquez sur Modifier l'image pour sélectionner l'image personnalisée qui a été créée lors des étapes précédentes.

-
Sélectionnez les champs pour utiliser l'image personnalisée :

Où :
- Mes images : sélectionnez cet élément pour utiliser votre image personnalisée
- Images personnalisées : laissez cet élément sélectionné
- Compartiment : sélectionnez le compartiment dans lequel l'image personnalisée a été créée
- Nom d'image personnalisée : sélectionnez l'image de passerelle d'application que vous avez créée précédemment
Tâche 4 : valider les paramètres du serveur de passerelle d'application
Pour valider les paramètres du serveur de la passerelle d'application après l'avoir créé, connectez-vous à un terminal à l'aide de SSH :
ssh -i <path_private_key> oracle@<IP_servidor_app_gateway>
Connectez-vous via SSH en tant qu'utilisateur 'oracle'. Le mot de passe de cet utilisateur est disponible dans la documentation produit officielle de la passerelle d'application à l'adresse suivante : lien.
Remarque : vous devez modifier le mot de passe lors de votre première connexion.
Tâche 5 : création d'un certificat et d'une clé privée pour le serveur App Gateway Server
Après avoir accédé à l'instance, créez une instance server.crt et une instance server.key à utiliser par la passerelle d'application, car elle fonctionnera via HTTPS. Pour ce faire, exécutez les commandes suivantes sur le serveur :
-
Pour créer server.key, procédez comme suit :
openssl genrsa -out server.key 2048 -
Pour créer server.crt, procédez comme suit :
openssl req -new -x509 -days 365 -key server.key -out server.crt
Important : notez le chemin dans lequel les fichiers server.crt et server.key sont stockés sur le serveur de la passerelle d'application. Vous aurez besoin de ces informations pour terminer la configuration de la passerelle d'application dans la console Web OCI :
ssl_certificate /home/oracle/server.crt; ssl_certificate_key /home/oracle/server.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5;
Après avoir créé les fichiers server.crt et server.key, nous pouvons inscrire la passerelle d'application dans la console OCI.
Remarques :
- Cet atelier utilise des certificats SSL autosignés. Par conséquent, nous sommes certains de rencontrer un message d'échec de validation de certificat dans le navigateur lors du test de l'accès à l'application héritée à l'aide de la passerelle d'application.
- Si votre environnement utilise SSL valide, consultez la documentation Oracle App Gateway pour plus d'informations.
Tâche 6 : inscription d'une passerelle d'application dans la console OCI
-
Pour inscrire la passerelle d'application, à partir de la console Web OCI, cliquez sur Identité et sécurité, domaines :

-
Cliquez sur votre nom de domaine :

Remarque : pour utiliser la passerelle d'application, votre domaine d'identité doit être créé sous le type Enterprise.
-
Cliquez sur Passerelles d'application, puis sur Créer une passerelle d'application :

-
Renseignez les informations requises dans le workflow de création de la passerelle d'application et cliquez sur Créer une passerelle d'application. Après la création, les détails de votre passerelle d'application seront affichés à l'écran :

-
Une fois la passerelle d'application créée, cliquez sur Hôtes, puis sur Ajouter un hôte :

-
Entrez les informations relatives au serveur de passerelle d'application créé au cours des étapes précédentes :
Où :
1 : Identificateur d'hôte : entrez le nom de la passerelle d'application
2 : Hôte : nom de domaine qualifié complet de l'instance de passerelle d'application créée précédemment. Pour capturer ces informations, accédez à votre instance, cliquez sur l'onglet Fonctions de réseau et capturez le nom de domaine qualifié complet interne 3 : Port : entrez le port sur lequel la passerelle d'application s'exécutera (dans cet exemple, nous utiliserons le port 4443).
4 : SSL activé : dans cet exercice, la passerelle d'application utilise SSL. Par conséquent, cliquez sur SSL activé.
5 : Propriétés supplémentaires : entrez les paramètres SSL tels que créés précédemment.
ssl_certificate /home/oracle/server.crt; ssl_certificate_key /home/oracle/server.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; -
Cliquez sur Ajouter un hôte.

-
Une fois la passerelle d'application créée, elle apparaît à l'écran après sa configuration :

-
Cliquez sur l'onglet Détails et activez la passerelle d'application en cliquant sur Actions, Activer la passerelle d'application :

-
Confirmez l'activation :

-
Lors de l'activation, confirmez votre activation et notez l'ID client et la clé secrète client de votre passerelle d'application (conservez-le dans un endroit sûr) à utiliser dans les étapes suivantes.

Tâche 7 : configurer le serveur de passerelle d'application
Après avoir configuré la passerelle d'application dans la console OCI, vous devez configurer le serveur de la passerelle d'application. L'étape suivante consiste à permettre au serveur de passerelle d'application de communiquer avec l'adresse de domaine OCI.
-
Pour tester la connectivité avec l'adresse de domaine d'identité, capturez son nom de domaine qualifié complet. Pour la capturer, dans la console OCI, sur la page Détails de votre domaine d'identité, cliquez sur Copier dans la ligne d'URL de domaine :

-
Modifiez le fichier
cloudgate-envpour insérer les paramètres de domaine d'identité dans la passerelle d'application en modifiant le paramètreIDCS_INSTANCE_URL. Dans ce paramètre, vous devez insérer le nom de domaine qualifié complet de votre adresse de domaine (le même que celui utilisé pour effectuer le test d'accès via la boucle ci-dessus) :
-
Les paramètres suivants à configurer sont :
- CG_APP_TENANT : entrez l'OCID de locataire dans ce champ.
- CG_APP_NAME : entrez l'ID client de votre passerelle d'application
- CG_APP_SECRET : entrez la clé secrète client de la passerelle d'application
-
Enfin, vous devez vérifier que le résolveur du serveur de la passerelle d'application peut identifier l'adresse IP de l'adresse de votre domaine d'identité dans OCI. Pour ce faire, exécutez la commande suivante :
nslookup <id_domain_endpoint_domain>
Tâche 8 : configurer le serveur d'applications
-
Après avoir apporté toutes les modifications nécessaires aux fichiers de la passerelle d'application, vous devez exécuter la commande pour configurer la passerelle d'application. Pour ce faire, exécutez la commande
setup-cloudgatedans le répertoire/scratch/oracle/cloudgate/ova/bin/setup:
-
Suivez complètement les instructions. Confirmez les informations configurées dans les fichiers de la passerelle d'application et entrez le mot de passe lorsque vous y êtes invité. Une fois la configuration terminée, vérifiez que la passerelle d'application fonctionne avec la commande suivante :
/scratch/oracle/cloudgate/home/bin/cg-status
-
Une fois que vous avez validé le fonctionnement du serveur, vous pouvez commencer à configurer l'application qui utilisera les fonctionnalités de la passerelle d'application.
Tâche 9 : sécuriser une application héritée avec Oracle App Gateway
-
Pour protéger une application héritée à l'aide d'Oracle App Gateway, vous devez configurer l'accès au domaine d'identité dans lequel la passerelle d'application est configurée, puis cliquer sur Applications intégrées, puis sur Ajouter une application :

-
Sélectionnez Application Enterprise et cliquez sur Lancer le workflow :

-
Remplissez toutes les informations demandées, y compris :
- Nom : nom de l'application Enterprise qui sera créée pour que votre application soit protégée par la passerelle d'application.
- Description : entrez la description de l'application héritée à protéger par la passerelle d'application.
- URL de l'application : ajoutez l'URL que vos utilisateurs utilisent actuellement pour accéder à votre ancienne application. URL de l'application qui sera protégée par la passerelle d'application.

-
Cliquez sur Soumettre.
Lorsque vous avez terminé la création de l'application Enterprise, l'écran avec ses détails s'affiche.
-
Cliquez sur Configuration SSO, puis sur Modifier la configuration SSO pour poursuivre la configuration :

-
Cliquez sur Actions, puis sur Ajouter une ressource :

-
Configurez les ressources d'application héritées qui seront protégées par Oracle App Gateway. Vous pouvez créer des ressources individuellement, les ajouter une par une aux URL de votre ancienne application et utiliser des expressions régulières pour représenter les ensembles d'URL de votre application.

-
Cliquez sur Ajouter une ressource (Add resource).
-
Pour configurer le gestionnaire de ressources, cliquez sur Modifier la configuration SSO, faites défiler la page vers le bas jusqu'à la configuration SSO, sélectionnez Ajouter des ressources gérées, cliquez sur Actions, puis sur Ajouter des ressources gérées :

-
Dans la page affichée, procédez comme suit :
1 : Ressource : sélectionnez la ressource que vous venez de créer (dans ce tutoriel, il s'agit de Legacy-app-resource).
2 : Méthode d'authentification : sélectionnez la méthode d'authentification de votre ancienne application (ici, par exemple, nous utiliserons un formulaire ou un jeton d'accès).
3 : Nom/Valeur : entrez le nom et la valeur des en-têtes HTTP à envoyer à l'application héritée.

-
Enfin, cliquez sur Ajouter une ressource gérée, puis sur Enregistrer les modifications. La création de l'application d'entreprise dans OCI IAM est ainsi terminée. Cette application Enterprise représente votre ancienne application qui sera protégée par la passerelle d'application Oracle.
-
Une fois l'application Enterprise créée, activez-la en cliquant sur le menu Action, puis sur Activer :

-
Confirmez votre activation :

Tâche 10 : associer l'application Enterprise à la passerelle d'application Oracle
-
Pour associer votre application d'entreprise à la passerelle d'application Oracle, vous devez la configurer dans la console OCI à l'aide de la passerelle d'application configurée dans votre domaine d'identité lors des étapes précédentes.
-
Revenez à l'écran principal de votre domaine d'identité, cliquez sur Passerelles d'application, puis sur le nom de la passerelle d'application que vous avez configurée :

-
Cliquez sur Applications, puis sur Ajouter une application :

-
Dans l'écran de configuration, renseignez les informations requises :

Où :
1 : Application : sélectionnez l'application que vous avez créée précédemment.
2 : Sélectionner un hôte : sélectionnez l'hôte que vous avez créé pour l'application
3 : Préfixe de ressource : entrez le routage par lequel l'application doit être accessible via la passerelle d'application
4 : Serveur d'origine : entrez le nom de domaine qualifié complet du serveur sur lequel l'application héritée est exécutée, suivi du port sur lequel l'application est exécutée.
-
Enfin, cliquez sur Ajouter une application,
Une fois toutes les configurations terminées, vous pouvez tester l'accès à l'ancienne application à l'aide de la passerelle d'application Oracle.
Tâche 11 : tester l'accès aux applications héritées à l'aide d'Oracle App Gateway
-
Une fois la passerelle d'application et l'application d'entreprise configurées, vous pouvez effectuer un test d'accès. Pour ce faire, ouvrez un navigateur et entrez l'adresse publique de la passerelle d'application avec le port sur lequel elle a été configurée :

-
Lors de l'accès, la passerelle d'application redirige l'utilisateur vers OCI IAM afin que la connexion à OCI puisse être effectuée.

-
Une fois connecté, une redirection est effectuée et l'application est accessible via la passerelle d'application :

Accusés de réception
- Auteur : Rodrigo Pace de Barros (ingénieur solutions de sécurité cloud Oracle LAD A-Team)
Ressources de formation supplémentaires
Explorez d'autres ateliers sur le site docs.oracle.com/learn ou accédez à d'autres contenus d'apprentissage gratuits sur le canal Oracle Learning YouTube. En outre, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir de la documentation sur le produit, consultez Oracle Help Center.
Secure Legacy Applications by Using OCI IAM App Gateway
G43061-01