Dans ce nouveau tutoriel dédié à IIS ARR, je vais vous expliquer comment configurer ARR afin de pouvoir utiliser un certificat autosigné sur le serveur cible.
Dans le précédent tutoriel, je vous avez expliquer comment faire une décharge SSL, dans cette configuration le serveur cible est en HTTP, ce qui fait que la requête entre ARR et le serveur cible est non-chiffré.
Aujourd’hui de plus en plus d’application sont par défaut en HTTPS (SSL) comme Exchange.
Ici l’idée est de laisser le certificat autosigné sur le serveur cible et de mettre un certificat valide sur ARR afin que le trafic soit réencrypté.
Avec un certificat inconnu du serveur ARR, vous aurez une page d’erreur 502 comme ci-dessous depuis un navigateur Internet :
A première vue l’erreur 502 peut laisser croire que le serveur de destination n’est pas disponible.
Par mesure de sécurité, les pages d’erreur envoyé par IIS retourne seulement un code d’erreur standard, pour avoir plus d’information sur l’erreur 502, il faut passer par un navigateur sur le serveur ARR lui-même pour avoir toutes les informations.
Voici la même page requête avec le même erreur sur le serveur ARR :
Cette fois-ci, nous avons un peu plus d’information sur l’erreur, le code complet de l’erreur est 502.3 – Une erreur de sécurité s’est produite. Cette erreur est dû au faite que le certificat du serveur cible n’est pas valide.
A partir de là, il y a plusieurs solutions :
- Installer dans le magasin du serveur IIS, le ou les certificats des serveurs cibles
- Installer des certificats valides et reconnus
- Indiquer à IIS ARR de ne pas tenir compte de cette erreur
Dans ce tutoriel, nous allons voir la troisième option, pour cela il faut ajouter une clef de registre au serveur : SecureConnectionIgnoreFlags
.
Par défaut la clé de registre n’existe pas, il faut la créer à l’emplacement suivant :
HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\IIS Extensions\Application Request Routing\Parameters
Il peut être également nécessaire de créer la clé Parameters
Créer une ensuite une clé Valeur DWORD 32 bits nommé SecureConnectionIgnoreFlags
.
Vous pouvez aussi utiliser cette ligne de commande pour créer la clé :
reg.exe add "HKLM\SOFTWARE\Microsoft\IIS Extensions\Application Request Routing\Parameters" /v SecureConnectionIgnoreFlags /t REG_DWORD /d 0
Maintenant, on va modifier la valeur de la clé à 300 :
La valeur 300 permet d’indiquer à ARR d’ignorer l’erreur de certificat inconnu et le mauvais usage du certificat.
Voici la liste des valeurs possibles :
Valeur | Description |
---|---|
0x00001000 | SECURITY_FLAG_IGNORE_CERT_CN_INVALID (DEFAULT) |
0x00002000 | SECURITY_FLAG_IGNORE_CERT_DATE_INVALID |
0x00000100 | SECURITY_FLAG_IGNORE_UNKNOWN_CA |
0x00000200 | SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE |
Les valeurs peuvent être additionner pour ignorer plusieurs erreurs, si on souhaite ignorer toutes les erreurs, on peut utiliser la valeur 3300 par exemple.
Une fois la clé de registre configuré, redémarrer IIS à l’aide la commande iisreset
.
Vous ne devriez plus avoir d’erreur 502 depuis le navigateur.