Sécuriser les applications existantes à l'aide de la passerelle d'application OCI IAM
Présentation
Oracle App Gateway est un boîtier applicatif qui permet d'intégrer des applications hébergées sur une instance de calcul, dans une infrastructure en nuage ou sur un serveur sur place à Oracle Cloud Infrastructure aux fins d'authentification.
La passerelle d'application agit en tant que mandataire inverse qui protège les applications Web en limitant l'accès non autorisé au réseau. La passerelle d'application intercepte toute demande HTTP adressée à ces applications et s'assure que les utilisateurs sont authentifiés auprès du service de gestion des identités et des accès pour OCI (IAM) avant de transmettre la demande à ces applications. La passerelle d'application propage l'identité de l'utilisateur authentifié dans les applications.
Si l'utilisateur n'est pas authentifié auprès d'OCI IAM, la passerelle d'application redirige l'utilisateur vers la page de connexion d'OCI IAM pour la validation des données d'identification.
Objectif
Ce tutoriel explique comment utiliser la passerelle d'application Oracle pour sécuriser une application existante 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 existant, assurant ainsi la sécurité, la gouvernance et la visibilité des utilisateurs autorisés.
Conditions requises
Avant de configurer la passerelle d'application dans Oracle Cloud Infrastructure (OCI), assurez-vous d'avoir :
- Un compte OCI avec des autorisations administratives
- Domaine d'identité créé de type Entreprise
- Accès au domaine d'identité configuré dans OCI IAM
- Permission de créer et de gérer des applications d'entreprise dans OCI IAM
- Un environnement réseau configuré
- Sous-réseau du réseau en nuage 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é de réseau pour autoriser le trafic sur le port 443 (HTTPS) et le port d'application dorsal
- Serveur avec passerelle d'application
- Une machine virtuelle ou un hôte exécutant Linux pour installer l'agent Cloud Gate (module GNINX + OCI IAM)
- Certificat TLS valide ou auto-signé pour activer HTTPS sur la passerelle d'application
- Une application existante disponible
- Doit être exécuté sur un hôte dorsal (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 existante
Tâche 1 : Télécharger la passerelle d'application Oracle OVA et la convertir en VMDK
-
Cliquez sur Domaines, paramètres pour votre domaine, puis faites défiler l'affichage vers le bas jusqu'à la section Téléchargements. Cliquez sur les 3 points pour ouvrir le menu 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 du boîtier virtuel VirtualBox) du fichier .zip vers votre ordinateur.

-
Pour traiter ce fichier, importez le . Fichier OVA dans VirtualBox. Importation du . Le fichier OVA créera une image de disque virtuel (. fichier VDI;
-
Chargez ce fichier VDI dans un seau dans OCI.

Tâche 2 : Créer l'image personnalisée de la passerelle d'application dans OCI
-
Après le . Le fichier VDI est disponible dans le seau. Créez une image personnalisée à utiliser sur les instances de votre client. Cliquez sur Calcul, 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 le compartiment ici où 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é
- Seau : Sélectionnez Importer à partir d'un ensemble de stockage d'objets
- 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é
Après avoir rempli ces informations, cliquez sur Importer l'image. Une fois l'importation terminée, vous pouvez créer une instance OCI avec la nouvelle image personnalisée.
Tâche 3 : Créer une instance de passerelle d'application
-
Pour créer l'instance, cliquez sur Calcul, Instances :

-
Cliquez sur Créer une instance :

-
Entrez les informations relatives à la création de l'instance et cliquez sur Modifier l'image pour sélectionner l'image personnalisée créée au cours des étapes précédentes.

-
Sélectionnez les champs à utiliser dans 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 de l'image personnalisée : Sélectionnez votre image de passerelle d'application créée précédemment
Tâche 4 : Valider les paramètres du serveur de passerelle d'application
Pour valider les paramètres de votre serveur de 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>
SSH avec l'utilisateur 'oracle'. Le mot de passe de cet utilisateur se trouve dans la documentation officielle sur le produit de passerelle d'application, sur ce lien.
Note : Le mot de passe doit être modifié lors de votre première connexion.
Tâche 5 : Créer un certificat et une clé privée pour le serveur de passerelle d'application
Une fois que vous avez accédé à l'instance, créez une instance server.crt et une instance server.key à utiliser par la passerelle d'application, car elle fonctionnera sur HTTPS. Pour ce faire, exécutez les commandes suivantes sur le serveur :
-
Pour créer server.key :
openssl genrsa -out server.key 2048 -
Pour créer server.crt :
openssl req -new -x509 -days 365 -key server.key -out server.crt
Important : Notez le chemin d'accès où les fichiers server.crt et server.key sont stockés sur le serveur de votre 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 enregistrer la passerelle d'application dans la console OCI.
Notes :
- Cet exercice utilise des certificats SSL auto-signé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 existante à l'aide de la passerelle d'application.
- Si votre environnement utilise SSL valide, consultez la documentation sur la passerelle d'application Oracle pour plus d'informations.
Tâche 6 : Enregistrer la passerelle d'application dans la console OCI
-
Pour enregistrer la passerelle d'application, à partir de la console Web OCI, cliquez sur Identité et sécurité, domaines :

-
Cliquez sur votre nom de domaine :

Note : Pour utiliser la passerelle d'application, votre domaine d'identité doit être créé en tant que type Enterprise.
-
Cliquez sur Passerelles d'application, puis sur Créer une passerelle d'application :

-
Entrez les informations requises dans le flux de travail 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 s'affichent à l'écran :

-
Après avoir créé votre passerelle d'application, 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 un nom pour votre passerelle d'application
2 : Hôte : Il s'agit du nom de domaine complet de l'instance de passerelle d'application créée précédemment. Pour saisir ces informations, allez à votre instance, cliquez sur l'onglet Réseau et saisissez le nom de domaine 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 utilisera SSL. Par conséquent, cliquez sur SSL activé
5 : Propriétés supplémentaires : Entrez les paramètres SSL tels qu'ils ont été 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îtra à l'écran après sa configuration :

-
Cliquez sur l'onglet Détails et activez votre 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 (gardez-la dans un endroit sûr) pour l'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 le point d'extrémité du domaine OCI.
-
Pour tester la connectivité au point d'extrémité du domaine d'identité, saisissez son nom de domaine complet. Pour la saisir, dans la console OCI, dans la page Détails de votre domaine d'identité, cliquez sur Copier dans la ligne d'URL du 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 complet de votre point d'extrémité de domaine (le même que celui utilisé pour effectuer le test d'accès par curl ci-dessus) :
-
Les paramètres suivants à configurer sont les suivants :
- CG_APP_TENANT : Entrez l'OCID du client 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 votre passerelle d'application
-
Pour terminer, vous devez vérifier que le résolveur du serveur de passerelle d'application peut identifier l'adresse IP du point d'extrémité de votre domaine d'identité dans OCI. Pour ce faire, exécutez la commande ci-dessous :
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 passerelle d'application, vous devez exécuter la commande pour configurer votre 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 à l'invite. Une fois la configuration terminée, vérifiez que la passerelle d'application utilise la commande suivante :
/scratch/oracle/cloudgate/home/bin/cg-status
-
Après avoir validé que le serveur est en cours d'exécution, vous pouvez commencer à configurer l'application qui utilisera les fonctions de la passerelle d'application.
Tâche 9 : Sécuriser une application existante avec la passerelle d'application Oracle
-
Pour protéger une application existante à l'aide de la passerelle d'application Oracle, vous devez configurer l'accès au domaine d'identité où la passerelle d'application est configurée, cliquer sur Applications intégrées, puis sur Ajouter une application :

-
Sélectionnez Application d'entreprise et cliquez sur Lancer le flux de travail :

-
Remplissez toutes les informations demandées, y compris :
- Nom : Nom de l'application d'entreprise qui sera créée pour que votre application soit protégée par la passerelle d'application;
- Description : Entrez une description pour votre application existante à protéger par la passerelle d'application;
- URL de l'application : Ajoutez l'URL que vos utilisateurs utilisent actuellement pour accéder à votre application existante. URL de l'application qui sera protégée par la passerelle d'application.

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

-
Cliquez sur Actions, puis sur Ajouter une ressource :

-
Configurez les ressources d'application existantes qui seront protégées par la passerelle d'application Oracle. Vous pouvez créer des ressources individuellement, les ajouter une à une aux URL de votre application existante et utiliser des expressions rationnelles pour représenter les collections d'URL de votre application.

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

-
Dans la page affichée, procédez comme suit :
1 : Ressource : Sélectionnez la ressource nouvellement créée (dans ce tutoriel, il s'agit de Legacy-app-resource)
2 : Méthode d'authentification : Sélectionnez la méthode d'authentification pour votre application existante (ici, par exemple, nous utiliserons Formulaire ou jeton d'accès)
3 : Nom/Valeur : Entrez le nom et la valeur des en-têtes HTTP à envoyer à l'application existante

-
Enfin, cliquez sur Ajouter une ressource gérée, puis sur Enregistrer les modifications. Cette opération complète la création de l'application d'entreprise dans l'OCI IAM. Cette application d'entreprise représente votre application existante qui sera protégée par la passerelle d'application Oracle.
-
Une fois l'application d'entreprise 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é au cours des étapes précédentes.
-
Retournez à l'écran principal de votre domaine d'identité, cliquez sur Passerelles d'application, puis cliquez sur le nom de la passerelle d'application que vous avez configurée :

-
Cliquez sur Applications, puis sur Ajouter une application :

-
Sur l'écran de configuration, remplissez 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 chemin d'accès à l'application au moyen de la passerelle d'application.
4 : Serveur d'origine : Entrez le nom de domaine complet de votre serveur sur lequel l'application existante 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'application existante à l'aide de la passerelle d'application Oracle.
Tâche 11 : Tester l'accès aux applications existantes à l'aide de la passerelle d'application Oracle
-
Après avoir configuré la passerelle d'application et l'application d'entreprise, vous pouvez effectuer un test d'accès. Pour ce faire, ouvrez un navigateur et entrez l'adresse publique de la passerelle d'application ainsi que le port où 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 se produit et l'application est accessible au moyen de la passerelle d'application :

Remerciements
- Auteur : Rodrigo Pace de Barros (Oracle LAD A-Team Cloud Security Solution Engineer)
Ressources d'apprentissage supplémentaires
Explorez d'autres laboratoires sur le site docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir la documentation sur le produit, visitez Oracle Help Center.
Secure Legacy Applications by Using OCI IAM App Gateway
G43060-01