Module Maverics IIS (existant)
Le module Maverics IIS est un plug-in conçu pour le serveur web Internet Information Services de Microsoft. Il est principalement utilisé pour l’application des politiques et l’envoi d’en-têtes aux ressources protégées.
Exigences relatives au serveur
- IIS version 7 ou supérieure
- Windows Server 2012, 2016 ou 2019
Installation
Pour installer le module Maverics IIS, procurez-vous une copie du fichier Microsoft Windows Installer (MSI) auprès de Strata, transférez-le sur le serveur Windows et double-cliquez sur le fichier pour lancer le processus d’installation.
Vous serez d’abord invité à accepter les termes du contrat de licence de l’utilisateur final.
Vous serez ensuite invité à choisir l’emplacement où vous souhaitez installer le module. L’emplacement par défaut C:\NProgram Files\NStrata Identity\Maverics Module\
sera prédéfini dans la boîte de dialogue.
Après avoir choisi un emplacement pour l’installation du module, il vous sera demandé de configurer le fournisseur de secret et le niveau de verbosité des journaux. Les valeurs peuvent être modifiées ultérieurement en mettant à jour les valeurs du registre si vous n’êtes pas prêt à les configurer tout de suite.
Pour finir, appuyez sur le bouton « Install ».
Configurer
Fichier de configuration de Maverics
Par défaut, le module IIS recherche sa configuration dans :
C:\Program Files\Strata Identity\Maverics Module\maverics.yaml
Les paramètres sont regroupés dans les sections orchestrator
et appgateway
:
orchestrator
La section orchestrator
permet de définir comment le module IIS se connecte à l’orchestrateur et définit les paramètres généraux. Elle comprend les paramètres suivants :
authEndpoint
: le terminal d’authentification enregistré défini dans le fichier de configuration de l’orchestrateur Maverics.clientID
: l’identifiant client (ID client OIDC).responseType
: le type de réponse utilisé (flux OIDC). Si ce paramètre facultatif n’est pas défini, le type de réponsecode
est utilisé. Prise en charge deid_token
,code
,id_token token
,code id_token
,code token
, etcode id_token token
. Lorsque l’orchestrateur est utilisé en tant que fournisseur d’identité, seule la réponseid_token
est prise en charge.clientSecret
: un secret partagé entre l’orchestrateur et le module IIS (secret client OIDC). Ce secret doit correspondre au paramètrefabric.providers.clients.clientSecret
de l’orchestrateur.responseMode
: le mode de réponse utilisé (form_post
,query
oufragment
). Il s’agit de la valeur par défaut pour les fournisseurs OIDC (OP, OIDC Providers) découverts. Il s’agit d’un champ facultatif. S’il n’est pas défini, le mode de réponse par défaut estform_post
.providerIssuer
: l’identifiant de l’émetteur du fournisseur OIDC. Si elle n’est pas spécifiée, l’URL de baseAuthEndpoint
sera utilisée par défaut. Cette valeur doit correspondre au paramètrefabric.providers.issuer
de l’orchestrateur, s’il est défini.redirectURI
: l’URI vers lequel l’orchestrateur redirige le navigateur afin de transmettre le jeton d’authentification JWT au module IIS. Ce paramètre peut également être défini au niveau de la passerelle d’applications. Si ce paramètre est défini aux deux endroits, c’est la valeur de la passerelle d’applications qui sera utilisée. Si ce paramètre n’est pas défini,/OIDC
est ajouté par défaut à l’URL de base.sessionCount
: le nombre maximal de sessions utilisateur mises en cache par le module IIS.unauthorizedPage
: la page vers laquelle l’utilisateur sera redirigé s’il ne dispose pas des autorisations nécessaires pour afficher l’URL demandée.cookieDomain
: utilisé lors de la définition deDomain=
pour les cookies stockés par le module IIS. S’il n’est pas spécifié, le domaine ne sera pas défini.cookiePath
: utilisé lors de la définition dePath=
pour les cookies stockés par le module IIS. S’il n’est pas spécifié, le chemin ne sera pas défini.
appgateways
La section appgateways
permet de définir le comportement spécifique des passerelles d’applications nommées en conjonction avec l’orchestrateur.
name
: un nom descriptif et unique qui correspond à l’application protégée. Chaque passerelle d’applications nommée doit être précédée d’un «-
» (voir le format de liste YAML dans l’exemple ci-dessous).basePath
: le préfixe de l’URL (c’est-à-dire le chemin d’accès à l’application) étant protégé par cette passerelle d’applications. Les motifs nomment des chemins fixes et enracinés (« /favicon.ico ») ou des sous-arborescences enracinées (« /images/ » : notez la barre oblique finale). Les motifs plus longs sont prioritaires sur les motifs plus courts, et « / » correspond à tous les chemins non couverts par d’autres motifs enregistrés (non seulement la racine).Les requêtes concernant la racine de la sous-arborescence sans barre oblique seront redirigées vers la racine de la sous-arborescence (c’est-à-dire en ajoutant la barre oblique) à moins qu’elles ne soient remplacées par un autre paramètre sans barre oblique (par exemple, une requête pour « /images » est redirigée vers « /images/ » à moins qu’une autre passerelle d’applications ne soit définie pour « /images » spécifiquement).
Les motifs peuvent commencer par un nom d’hôte, ce qui limite les correspondances aux URL de cet hôte uniquement. Ces motifs sont prioritaires sur les motifs sans nom d’hôte.
Pour utiliser une expression rationnelle, précédez le motif par
~
(par exemple,basePath: ~ ^/dept-[0-9]{2,4}/
). Si le motif commence parhttp
, la correspondance se fera sur l’ensemble de l’URL. Si ce n’est pas le cas, il sera comparé au chemin d’accès et aux paramètres de la requête de l’URL. L’unique exception à cette règle concerne les expressions rationnelles (regex), pour lesquelles la comparaison s’effectue également avec l’URL complète. La comparaison avec l’URL complète permet des expressions telles que~ ([\\da-zA-Z_\\.-]+)\\.randomcompany.com/development
pour faire correspondre des domaines et des chemins particuliers.redirectURL
: une URL hébergée sur IIS vers laquelle l’utilisateur sera redirigé après l’authentification.policies
: les politiques utilisées pour identifier les pages qui ne nécessitent pas d’authentification. Les politiques sont normalement définies dans la configuration de l’orchestrateur, mais des politiques simplesallowUnauthenticated
peuvent être définies directement ici :location
: le chemin d’accès à l’URL d’une application identifiant une ressource (c’est-à-dire une page Web ou une partie d’une application hébergée). Prise en charge des expressions rationnelles.allowUnauthenticated
: la valeurfalse
permet d’autoriser l’accès non authentifié à une ressource.
Exemple
orchestrator:
authEndpoint: https://maverics.sonarsystems.com/auth
responseType: id_token
clientID: iis-module-55
clientSecret: axTZ3lweFRic65ynQ3aEIip6l1sgQXjp
cryptoPassphrase: ojPqw6LoMuKl4KGKeVuX1RHdmVK7G0Q6
responseMode: form_post
providerIssuer: https://maverics.sonarsystems.com
sessionCount: 50
appgateways:
- name: sonar
basePath: /sonar/
redirectURI: https://app.sonarsystems.com/sonar/oidc
- name: SecurityApp
basePath: /securityapp/
redirectURI: https://app.sonarsystems.com/securityapp/oidc
policies:
- location: /securityapp/noauth
allowUnauthenticated: true
Autorisation du trafic non authentifié
Dans les exemples suivants, nous partons du principe que l’application « Sonar » est installée sur votre machine IIS et que tous les chemins de requête préfixés par /sonar/
doivent être acheminés via les passerelles d’applications définies.
Lors de la première installation du module Maverics IIS, il peut être utile de confirmer que le trafic parvient toujours à vos applications. Pour ce faire, il est nécessaire de configurer le trafic non authentifié pour qu’il circule à travers le module.
appgateways:
- name: Sonar
basePath: /sonar/
policies:
- location: /
allowUnauthenticated: true
Exiger l’authentification et appliquer la politique
Après avoir établi que l’installation a réussi, l’étape suivante consiste à exiger l’authentification et à commencer à appliquer la politique. Dans cette configuration, nous supposons qu’une réserve d’orchestrateurs à distance est déployée et qu’elle est responsable de la gestion de la connexion des utilisateurs.
orchestrator:
authEndpoint: https://maverics.enterprise.com/auth
clientID: iis-module
clientSecret: clientSecret
appgateways:
- name: IIS Protected Resources
basePath: /sonar/
Mise à jour de la verbosité du journal ou du fournisseur de secret
Pour modifier la verbosité du journal ou le fournisseur de secret, vous pouvez soit réexécuter le programme d’installation, soit utiliser l’éditeur Registry Editor. Lorsque vous utilisez l’éditeur Registry Editor, accédez à Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Strata Identity\Maverics Module
afin de mettre à jour les valeurs.
REMARQUE : l’activation du mode de débogage entraîne une diminution des performances. La journalisation de débogage est généralement désactivée dans les environnements de production.
Activez le module IIS
Les administrateurs peuvent activer le module Maverics IIS pour tous les sites appartenant à un ensemble de sites donné ou pour chaque site individuellement. En règle générale, le module est activé pour tous les sites afin de protéger toutes les ressources par défaut. Après avoir sélectionné le site approprié, cliquez sur « Modules », puis sur « Configure Native Modules… », sélectionnez « MavericsModule » et cliquez sur « OK ». Après l’installation du module IIS, il est nécessaire de redémarrer le site et de rafraîchir la réserve d’applications dans laquelle le module IIS de Maverics est exécuté.