Partager via


Sécurité IP <ipSecurity>

Vue d’ensemble

L’élément <ipSecurity> définit une liste de restrictions de sécurité basées sur IP dans IIS 7 et versions ultérieures. Ces restrictions peuvent être basées sur l’adresse IP version 4, une plage d’adresses IP version 4 ou un nom de domaine DNS.

Compatibilité

Version Notes
IIS 10.0 L’élément <ipSecurity> n’a pas été modifié dans IIS 10.0.
IIS 8.5 L’élément <ipSecurity> n’a pas été modifié dans IIS 8.5.
IIS 8.0 L’attribut enableProxyMode a été ajouté pour vous permettre de bloquer les requêtes d’un client qui se connecte via un proxy. L’attribut denyAction a été ajouté pour spécifier la réponse en mode refus par défaut qu’IIS renvoie aux clients.
IIS 7.5 L’élément <ipSecurity> n’a pas été modifié dans IIS 7.5.
IIS 7.0 L’élément <ipSecurity> a été introduit dans IIS 7.0.
IIS 6.0 L’élément <ipSecurity> remplace la propriété métabase IPSecurity IIS 6.0.

Programme d’installation

L’installation par défaut d’IIS n’inclut pas le service de rôle ni la fonctionnalité Windows pour la sécurité IP. Pour utiliser la sécurité IP sur IIS, vous devez installer le service de rôle ou la fonctionnalité Windows en procédant comme suit :

Windows Server 2012 ou Windows Server 2012 R2

  1. Dans la barre des tâches, cliquez sur Gestionnaire de serveur.
  2. Dans Gestionnaire de serveur, cliquez sur le menu Gérer, puis sur Ajouter des rôles et des fonctionnalités.
  3. Dans l’Assistant Ajout de rôles et de fonctionnalités, cliquez sur Suivant. Sélectionnez le type d’installation, puis cliquez sur Suivant. Sélectionnez le serveur de destination, puis cliquez sur Suivant.
  4. Dans la page Rôles serveur, développez Serveur web (IIS), Serveur web, Sécurité, puis sélectionnez Restrictions d’adresse IP et de domaine. Sélectionnez Suivant.
    Screenshot that shows I P and Domain Restrictions selected for Windows Server 2012. .
  5. Dans la page Sélectionner les composants, cliquez sur Suivant.
  6. Dans la page Confirmer les sélections d’installation, cliquez sur Installer.
  7. Dans la page Résultats , cliquez sur Fermer.

Windows 8 ou Windows 8.1

  1. Dans l’écran Démarrer, déplacez le pointeur jusqu’au coin inférieur gauche, cliquez avec le bouton droit sur le bouton Démarrer, puis cliquez sur Panneau de configuration.
  2. Dans Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver des fonctionnalités Windows.
  3. Développez Internet Information Services, Services World Wide Web, Sécurité, puis sélectionnez Sécurité IP.
    Screenshot that shows I P Security selected for Windows 8.
  4. Cliquez sur OK.
  5. Cliquez sur Fermer.

Windows Server 2008 ou Windows Server 2008 R2

  1. Dans la barre des tâches, cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire de serveur.

  2. Dans le volet de hiérarchie du Gestionnaire de serveur, développez Rôles, puis cliquez sur Serveur web (IIS).

  3. Dans le volet Serveur web (IIS), faites défiler jusqu’à la section Services de rôle, puis cliquez sur Ajouter des services de rôle.

  4. Dans la page Sélectionner des services de rôle de l’Assistant Ajout de services de rôle, sélectionnez Restrictions d’adresse IP et de domaine, puis cliquez sur Suivant.

    Screenshot that shows I P and Domain Restrictions selected for Windows Server 2008.

  5. Dans la page Confirmer les sélections pour l'installation, cliquez sur Installer.

  6. Dans la page Résultats , cliquez sur Fermer.

Windows Vista ou Windows 7

  1. Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.

  2. Dans Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver des fonctionnalités Windows.

  3. Développez Internet Information Services, Services World Wide Web, puis Sécurité.

  4. Sélectionnez Sécurité IP, puis cliquez sur OK.

    Screenshot that shows I P Security selected for Windows Vista or Windows 7.

Procédure

Comment ajouter des restrictions d’adresse IP pour refuser l’accès pour un site web

  1. Ouvrez le Gestionnaire Internet Information Services (IIS) :

    • Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :

      • Dans la barre des tâches, cliquez sur Gestionnaire de serveur, sur Outils, puis sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows 8 ou Windows 8.1 :

      • Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
      • Cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • Dans la barre des tâches, cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Vista ou Windows 7 :

      • Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
      • Double-cliquez sur Outils d’administration, puis sur Gestionnaire Internet Information Services (IIS).
  2. Dans le volet Connexions, développez le nom du serveur, développez Sites, puis le site, l’application ou le service web pour lequel vous souhaitez ajouter des restrictions d’adresse IP.

  3. Dans le volet Accueil, double-cliquez sur la fonctionnalité Restrictions d’adresse IP et de domaine.
    Screenshot that shows the I P Address and Domain Restrictions icon in the Home pane.

  4. Dans la fonctionnalité Restrictions d’adresse IP et de domaine, cliquez sur Ajouter une entrée de refus… dans le volet Actions.
    Screenshot that shows the I P Address and Domain Restrictions pane in the I I S Manager.

  5. Entrez l’adresse IP que vous souhaitez refuser, puis cliquez sur OK.
    Screenshot that shows the Add Deny Restriction Rule dialog box. Specific I P address is selected.


Comment modifier les paramètres de la fonctionnalité de restrictions d’adresse IP pour un site web

  1. Ouvrez le Gestionnaire Internet Information Services (IIS) :

    • Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :

      • Dans la barre des tâches, cliquez sur Gestionnaire de serveur, sur Outils, puis sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows 8 ou Windows 8.1 :

      • Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
      • Cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • Dans la barre des tâches, cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Vista ou Windows 7 :

      • Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
      • Double-cliquez sur Outils d’administration, puis sur Gestionnaire Internet Information Services (IIS).
  2. Dans le volet Connexions, développez le nom du serveur, développez Sites, puis le site, l’application ou le service web pour lequel vous souhaitez ajouter des restrictions d’adresse IP.

  3. Dans le volet Accueil, double-cliquez sur la fonctionnalité Restrictions d’adresse IP et de domaine.
    Screenshot that shows the I P Address and Domain Restrictions icon.

  4. Dans la fonctionnalité Restrictions d’adresse IP et de domaine, cliquez sur Modifier les paramètres de la fonctionnalité… dans le volet Actions.
    Screenshot that shows the I P Address and Domain Restrictions pane.

  5. Choisissez le comportement d’accès par défaut pour les clients non spécifiés, indiquez s’il faut activer les restrictions par nom de domaine et s’il faut activer le mode Proxy, sélectionnez le type d’action de refus, puis cliquez sur OK.
    Screenshot of the Edit I P and Domain Restrictions Settings dialog box. Forbidden is selected for Deny Action Type.

Configuration

Les règles sont traitées de haut en bas, dans l’ordre dans lequel elles apparaissent dans la liste. L’attribut allowUnlisted est traité en dernier. La bonne pratique pour les restrictions de sécurité du protocole Internet (IPsec) consiste à répertorier d’abord les règles de refus. Vous ne pouvez pas effacer l’attribut allowUnlisted s’il est défini sur false.

L’élément par défaut <ipSecurity> suivant est configuré dans le fichier ApplicationHost.config racine dans IIS 7 et versions ultérieures. Cette section de configuration hérite des paramètres de configuration par défaut, sauf si vous utilisez l’élément <clear>.

<ipSecurity allowUnlisted="true" />

Attributs

Attribut Description
allowUnlisted Attribut booléen facultatif.

Spécifie s’il faut autoriser les adresses IP non répertoriées. La définition de l’attribut allowUnlisted sur true permet à une adresse IP non répertoriée d’accéder au serveur. La définition de l’attribut allowUnlisted sur false verrouille le serveur, ce qui empêche l’accès à toutes les adresses IP, sauf si elles sont répertoriées. Si vous deviez définir cet attribut sur false et que vous ne répertoriez pas l’adresse de bouclage locale (127.0.0.1) comme adresse IP autorisée, vous ne pourriez pas accéder à votre serveur à l’aide d’un navigateur à partir d’une console locale.

Cet attribut peut également affecter la délégation. Si vous deviez définir cet attribut sur false dans une configuration parente, vous ne pourriez pas utiliser l’élément <clear> pour effacer cette configuration dans les fichiers de configuration enfants.

La valeur par défaut est true.
denyAction Attribut enum facultatif.

Spécifie la réponse en mode refus par défaut qu’IIS doit renvoyer aux clients.

La valeur par défaut est forbidden.
Valeur Description
AbortRequest Spécifie que, par défaut, IIS doit renvoyer la réponse en mode refus Abort aux clients.

La valeur numérique est 0.

Unauthorized Spécifie que, par défaut, IIS doit renvoyer la réponse en mode refus Unauthorized aux clients. Si un client basé sur un navigateur est utilisé à l’extrémité distante, le renvoi de la réponse Non autorisé peut entraîner l’affichage d’une boîte de dialogue d’authentification sur le client distant, ce qui entraîne des tentatives d’authentification trompeuses auprès d’IIS.

La valeur numérique est 401.

Forbidden Spécifie que, par défaut, IIS doit renvoyer la réponse en mode refus Forbidden aux clients.

La valeur numérique est 403.

NotFound Spécifie que, par défaut, IIS doit renvoyer la réponse en mode refus Not Found aux clients.

La valeur numérique est 404.

enableProxyMode Attribut booléen facultatif.

Permet à IIS non seulement de bloquer les demandes d’une adresse IP cliente visible par IIS, mais également de bloquer les demandes d’adresses IP reçues dans l’en-tête x-forwarded-for-HTTP. Cet en-tête vous permet d’identifier l’adresse IP d’origine d’un client qui se connecte via un proxy HTTP ou un équilibreur de charge. Il s’agit du mode proxy.

La valeur par défaut est false.
enableReverseDns Attribut booléen facultatif.

Spécifie s’il faut activer ou désactiver les recherches DNS (Domain Name System) inversées pour le serveur web. Les recherches inversées impliquent la recherche du nom de domaine lorsque l’adresse IP est connue.

Attention : les recherches DNS inversées utilisent beaucoup de ressources et de temps.

La valeur par défaut est false.

Éléments enfants

Élément Description
add Élément facultatif.

Ajoute une restriction d’adresse IP à la collection de restrictions d’adresse IP.
remove Élément facultatif.

Supprime une référence à une restriction de la collection <ipSecurity>.
clear Élément facultatif.

Supprime toutes les références aux restrictions de la collection <ipSecurity>.

Exemple Configuration

L’exemple de configuration suivant ajoute deux restrictions d’adresse IP au site web par défaut ; la première restriction refuse l’accès à l’adresse IP 192.168.100.1 et la deuxième restriction refuse l’accès à l’ensemble du réseau 169.254.0.0.

<location path="Default Web Site">
   <system.webServer>
      <security>
         <ipSecurity>
            <add ipAddress="192.168.100.1" />
            <add ipAddress="169.254.0.0" subnetMask="255.255.0.0" />
         </ipSecurity>
      </security>
   </system.webServer>
</location>

Exemple de code

Les exemples de code suivants activent les recherches DNS inversées pour le site web par défaut.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/security/ipSecurity /enableReverseDns:true /commit:apphost

Remarque

Vous devez veiller à définir le paramètre commit sur apphost quand vous utilisez AppCmd.exe pour configurer ces paramètres. Cela valide les paramètres de configuration dans la section d’emplacement appropriée dans le fichier ApplicationHost.config.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection ipSecuritySection = config.GetSection("system.webServer/security/ipSecurity", "Default Web Site");
         ipSecuritySection["enableReverseDns"]=true;

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim ipSecuritySection As ConfigurationSection = config.GetSection("system.webServer/security/ipSecurity", "Default Web Site")
      
      ipSecuritySection("enableReverseDns") = True
      
      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var ipSecuritySection = adminManager.GetAdminSection("system.webServer/security/ipSecurity", "MACHINE/WEBROOT/APPHOST/Default Web Site");

ipSecuritySection.Properties.Item("enableReverseDns").Value = True;

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set ipSecuritySection = adminManager.GetAdminSection("system.webServer/security/ipSecurity", "MACHINE/WEBROOT/APPHOST/Default Web Site")

ipSecuritySection.Properties.Item("enableReverseDns").Value = True

adminManager.CommitChanges()