Dans ce tutoriel, je vais vous expliquer comment ajouter le champ X-Forwarded-For dans les logs IIS, afin de récuperer l’adresse IP réelle d’un visiteur quand un reverse proxy est en amont du serveur IIS
.
Sur le serveur Web IIS, ouvrir la console Gestion des services Internet.
Sélectionner le serveur 1 et cliquer sur Journalisation 2.
Sur la page de configuration de la Journalisation, cliquer sur Sélectionner les champs 1.
Une nouvelle fenetre s’ouvre avec la liste des champs disponibles, le champ X-Forwarded-For n’est pas présent par défaut, on va donc l’ajouter, cliquer sur le bouton Ajouter un champ 1.
Nom du champ 1, saisir X-Forwarded-For, Type de source 2, sélectionner EN-tête de la demande et en source 3 entrer de nouveau X-Forwarded-For. Ajouter le champ en cliquant sur le bouton OK 4.
Le champ 1 est ajouté dans les Champ personnalisés. Cliquer sur OK 2 pour valider et fermer la fenêtre.
Cliquer sur Appliquer 1 pour la prise des modifications au niveau de IIS.
A partir de maintenant, si le champ X-Forwarded-For est transmis au serveur IIS, l’ip qu’il contient sera enregistre dans les logs.
Pour vérifier cela, aller à l’emplacement des logs, par défait C:\inetpub\logs\LogFiles\W3SVCX
et ouvrir dans éditeur le fichier le plus récent.
Comment on peut le voit sur la capture, j’ai un second fichier en date du 29 (_x) qui a été créé du fait la configuration de la journalisation a été modifiée.
Pour rappel, IIS écrit les logs à intervalle de 1 minutes, il faut donc patienter un peu pour avoir du contenu.
Sur la capture ci-dessous, on peut voir que le champ X-Forwarded-For a été ajoutée à la définition des logs.
Si on regarde à la fin des lignes, on retrouver bien l’adresse IP réelle du visite en plus de l’adresse IP du serveur Proxy (c-ip).
Le reverse proxy ici est ARR et on peut voir que l’on a aussi le port source dans les logs.
Vous savez maintenant comment configurer les logs IIS pour avoir l’ip réelle d’un visiteur quand un reverse proxy est en frontale.