Module Maverics IIS (existant)

ℹ️
Les modules de serveur Web Maverics ont été remplacés par les orchestrateurs RP. Ce modèle doit être utilisé dans tous les nouveaux déploiements où un serveur web est protégé par un orchestrateur local.

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.

Module IIS téléchargé

Vous serez d’abord invité à accepter les termes du contrat de licence de l’utilisateur final.

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.

Emplacement d’installation

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.

Fournisseur de secret et verbosité des journaux

Pour finir, appuyez sur le bouton « Install ».

Confirmer l’installation

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éponse code est utilisé. Prise en charge de id_token, code, id_token token, code id_token, code token, et code id_token token. Lorsque l’orchestrateur est utilisé en tant que fournisseur d’identité, seule la réponse id_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ètre fabric.providers.clients.clientSecret de l’orchestrateur.

  • responseMode : le mode de réponse utilisé (form_post, queryou fragment). 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 est form_post.

  • providerIssuer : l’identifiant de l’émetteur du fournisseur OIDC. Si elle n’est pas spécifiée, l’URL de base AuthEndpoint sera utilisée par défaut. Cette valeur doit correspondre au paramètre fabric.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 de Domain= 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 de Path= 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 par http, 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 simples allowUnauthenticated 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 valeur false 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.

Registry Editor

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é.