Comment IP restreindre l'access à un site Web dans IIS8,5 (Windows 2012R2)

J'ai lu cela à IP-restreindre un site Web dans IIS8 pour autoriser seulement un ou plusieurs IP et nier tous les autres, vous faites ceci:

  1. Définissez "Accès pour clients non spécifiés" à "Refuser"
  2. Ajouter une adresse IP pour "Autoriser"

(comme indiqué ci-dessous capture d'écran)

Cependant, lorsque je fais ceci (comme spécifié dans la capture d'écran ci-dessous), je peux encore accéder au site à partir d'autres IP.

Qu'est-ce qui manque ici? Est-ce qu'il y a autre chose à faire?

entrez la description de l'image ici

J'ai essayé iisreset et la page n'est pas browser mis en cache sur les machines de test, qui ne devraient pas avoir access.

Si la security IP sous les fonctionnalités Windows IIS est installée, vous pouvez l'append à votre web.config pour bloquer les IP:

<location path="Default Web Site"> <system.webServer> <security> <ipSecurity allowUnlistd="false"><!-- this line blocks everybody, except those listd below --> <clear/> <!-- removes all upstream ressortingctions --> <add ipAddress="192.168.100.1" /> <add ipAddress="169.254.0.0" subnetMask="255.255.0.0" /> </ipSecurity> </security> </system.webServer> </location> 

J'ai trouvé un travail autour de ma situation.

SITUATION: besoin de bloquer les adresses IP sur le réseau, mais autoriser l'access IIS au site Web pour les applications locales du server. Accès individuel et total au sous-réseau au site Web d'IIS.

PROBLÈME: le réglage "Modifier les parameters de la fonction" à Refuser ne fonctionne pas correctement. Il ne respecte pas la list "Autoriser". Rien, local ou réseau, est autorisé à accéder au site hébergé.

Contournement: Laissez "Modifier les parameters de fonctionnalité" à "Autoriser". La dernière input de la list "Autoriser / Refuser" est "Refuser" vers le sous-réseau complet. L'input "Autoriser" pour l'IP du server local précède le sous-réseau "Refuser". Tous les ordinateurs individuels sur sous-réseau à access autorisé ont des inputs "Autoriser" précédant le "Refuser" au sous-réseau complet.

Avez-vous un proxy entre Clients et votre server IIS? Vous pouvez afficher dans les journaux IIS avec quelle IP votre client arrive.

Après beaucoup de problèmes , j'ai trouvé que les suivants ont fonctionné pour moi (IIS 8.5.X sur win server 2012 R2)

Assurer la fonctionnalité activée pour la gestion web.config

  • Dans IIS
  • Cliquez sur le server racine
  • Double-click Délégation de fonctionnalité (sous la gestion)
  • Faites défiler jusqu'à l'adresse IP et les ressortingctions de domaine
  • Changer de lecture / écriture

(dans mon cas, c'était Read Only, qui était le problème)

Ensuite, modifiez web.config pour inclure

 <system.webServer> <security> <!-- this line blocks everybody, except those listd below --> <ipSecurity allowUnlistd="false"> <!-- removes all upstream ressortingctions --> <clear /> <add ipAddress="XXXX" allowed="true" /> <add ipAddress="127.0.0.1" allowed="true" /> </ipSecurity> </security> </system.webServer> 

Où XXXX est l'IP que vous souhaitez autoriser (ajoutez une ligne comme celle-ci pour chaque réseau de sous-réseau IP ou IP que vous souhaitez autoriser)

Il est remarquable que la documentation semble manquer le autorisé = "vrai" et toute mention de l'obligation de permettre la délégation de la fonctionnalité . Merci à @Summit pour cette astuce ici