Partager via


Filtrage des demandes FTP <requestFiltering>

Le filtrage des demandes FTP est une fonctionnalité de sécurité intégrée qui a été introduite dans FTP 7 et qui est à peu près analogue aux fonctionnalités disponibles via les fonctionnalités de filtrage des demandes disponibles pour les sites HTTP. Tous les paramètres de la fonctionnalité de filtrage des demandes se trouvent dans l’élément <requestFiltering>, qui contient plusieurs éléments enfants pour chacune des zones de fonctionnalités suivantes :

  • <denyUrlSequences> : cet élément peut contenir une collection de modèles de séquence d’URL que IIS 7 refusera. Par exemple, vous pouvez refuser des parties de séquences d’URL qu’un attaquant peut essayer d’exploiter.
  • <fileExtensions> : cet élément peut contenir une collection d’extensions de nom de fichier que IIS 7 refusera ou autorisera. Par exemple, vous pouvez bloquer toutes les demandes des fichiers *.EXE ou *.COM.
  • <hiddenSegments> : cet élément peut contenir une collection d’URL qui ne peuvent pas être parcourues. Par exemple, vous pouvez refuser les demandes du dossier ASP.NET App_Code.
  • <requestLimits> : cet élément contient les paramètres d’URL, de contenu et de longueurs de commande.

Une différence importante entre le filtrage des demandes FTP et le filtrage des demandes HTTP est que le filtrage des demandes HTTP comprend un élément <verbs> supplémentaire, qui peut contenir une collection de verbes HTTP que IIS refusera ou autorisera. FTP fournit ce même type de filtrage via l’élément <commandFiltering> configuré au niveau du site.

Remarque

Lorsque le filtrage des demandes bloque une demandes FTP parce qu’une demandes FTP enfreint les règles de filtrage des demandes, FTP 7 retourne une erreur FTP au client et journalise l’un des sous-états FTP suivants qui identifie la raison pour laquelle la demande a été refusée :

sous-état FTP Description
8 Le segment masqué a été détecté dans le chemin d’accès sur la base des règles de filtrage des demandes.
9 Séquence d’URL refusée détectée dans le chemin d’accès sur la base des règles de filtrage des demandes.
10 Caractères étendus détectés dans le chemin d’accès sur la base des règles de filtrage des demandes.
11 L’extension de nom de fichier a été refusée sur la base des règles de filtrage des demandes.
12 Le chemin d’accès est trop long sur la base des règles de filtrage des demandes.
51 Les règles de filtrage de commandes ont refusé l’accès.

La notification des conditions indiquées par ces sous-états permet aux administrateurs web d’analyser leurs journaux IIS et d’identifier les menaces potentielles.

Compatibilité

Version Notes
IIS 10.0 L’élément <requestFiltering> n’a pas été modifié dans IIS 10.0.
IIS 8.5 L’élément <requestFiltering> n’a pas été modifié dans IIS 8.5.
IIS 8.0 L’élément <requestFiltering> n’a pas été modifié dans IIS 8.0.
IIS 7.5 L’élément <requestFiltering> de l’élément <system.ftpServer/security> est fourni en tant que fonctionnalité d’IIS 7.5.
IIS 7.0 L’élément <requestFiltering> de l’élément <system.ftpServer/security> a été introduit dans FTP 7.0, qui était un téléchargement distinct pour IIS 7.0.
IIS 6.0 Le service FTP dans IIS 6.0 ne prenait pas en charge le filtrage des demandes.

Remarque

Les services FTP 7.0 et FTP 7.5 ont été expédiés hors bande pour IIS 7.0, ce qui nécessite le téléchargement et l’installation du service à partir de l’URL suivante :

https://www.iis.net/downloads/microsoft/ftp

Avec Windows 7 et Windows Server 2008 R2, le service FTP 7.5 est fourni en tant que fonctionnalité pour IIS 7.5. Le téléchargement du service FTP n’est donc plus nécessaire.

Programme d’installation

Pour prendre en charge la publication FTP pour votre serveur internet, vous devez installer le service FTP. Pour cela, procédez 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. Sur la page Serveur des rôles, développez Serveur internet (IIS), puis sélectionnez Serveur FTP.

    Remarque

    Pour prendre en charge l’authentification ASP.Membership ou l’authentification du Gestionnaire IIS pour le service FTP, vous devez sélectionner Extensibilité FTP en plus de Service FTP.

    Screenshot of the Server Roles page. F T P server is selected and expanded. F T P Extensibility is highlighted and selected.

  5. Cliquez sur Suivant puis sur la pageSélectionner des fonctionnalités, cliquez à nouveau 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’accueil, 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 le 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, puis sélectionnez Serveur FTP.

    Remarque

    Pour prendre en charge l’authentification ASP.Membership ou l’authentification du Gestionnaire IIS pour le service FTP, vous devez également sélectionner Extensibilité FTP. Screenshot of the I I S navigation tree. F T P Extensibility is highlighted and selected.

  4. Cliquez sur OK.

  5. Cliquez sur Fermer.

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 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 Ajouter des services de rôle, développez le Serveur FTP.

  5. Sélectionnez Service FTP.

    Remarque

    Pour prendre en charge l’authentification ASP.Membership ou l’authentification du Gestionnaire IIS pour le service FTP, vous devez également sélectionner Extensibilité FTP. Screenshot of the Select Role Services page. F T P Server is expanded. F T P Service is selected and highlighted.

  6. Sélectionnez Suivant.

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

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

Windows 7

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

  2. Dans le 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 puis Serveur FTP.

  4. Sélectionnez Service FTP.

    Remarque

    Pour prendre en charge l’authentification ASP.Membership ou l’authentification du Gestionnaire IIS pour le service FTP, vous devez également sélectionner Extensibilité FTP. Screenshot of the I I S navigation tree. F T P Server is selected and expanded.

  5. Cliquez sur OK.

Windows Server 2008 ou Windows Vista

  1. Téléchargez le package d’installation à partir de l’URL suivante :

    https://www.iis.net/downloads/microsoft/ftp

  2. Suivez les instructions de la procédure pas à pas suivante pour installer le service FTP :

    Installation et résolution des problèmes FTP 7

Procédure

Remarque

Le filtrage des demandes FTP n’avait pas d’interface utilisateur dans la version FTP 7.0. L’interface utilisateur du filtrage des demandes FTP a été ajoutée dans la version FTP 7.5.

Comment refuser l’accès FTP à une extension de nom de fichier spécifique

  1. Ouvrez le Gestionnaire des services Internet (IIS) :

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

      • Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez 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 des services Internet (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • Cliquez sur Démarrer, placez le curseur 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 double-cliquez sur Gestionnaire des services Internet (IIS).
  2. Dans le volet Connexions, accédez au site ou au répertoire pour lequel vous souhaitez modifier vos paramètres de filtrage de demande.

  3. Dans le volet Accueil, double-cliquez sur Filtrage des demandes FTP.

  4. Dans le volet Filtrage des demandes FTP, cliquez sur l’onglet Extensions de nom de fichier.
    Screenshot of the F T P Request Filtering pane. The File Name Extensions tab is selected.

  5. Cliquez sur Refuser l’extension de nom de fichier dans le volet Actions.

  6. Dans la boîte de dialogue Refuser l’extension de nom de fichier, entrez l’extension de nom de fichier que vous souhaitez bloquer. Par exemple, pour empêcher l’accès aux fichiers avec une extension de nom de fichier de .inc, vous devez entrer « inc » dans la boîte de dialogue.
    Screenshot of the Deny File Name Extension dialog box. In the File name extension box, i n c is written.

  7. Cliquez sur OK.

Comment modifier les paramètres de la fonctionnalité de filtrage des demandes et les limites de demandes

  1. Ouvrez le Gestionnaire des services Internet (IIS) :

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

      • Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez 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 des services Internet (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • Cliquez sur Démarrer, placez le curseur 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 double-cliquez sur Gestionnaire des services Internet (IIS).
  2. Dans le volet Connexions, accédez au site ou au répertoire pour lequel vous souhaitez modifier vos paramètres de filtrage de demande.

  3. Dans le volet Accueil, double-cliquez sur Filtrage des demandes FTP.

  4. Cliquez sur Modifier les paramètres de fonctionnalité… dans le volet Actions.
    Screenshot of the Actions pane. Server is expanded. Sites is expanded.

  5. Spécifiez vos options. Par exemple, vous pouvez apporter les modifications suivantes :

    • Remplacez la longueur maximale de l’URL par 2 Ko en spécifiant 2048.
    • Remplacez la longueur maximale de la commande par 1 Ko en spécifiant 1024.

    Remarque

    Il est recommandé de ne pas décocher la case Autoriser les commandes non répertoriées.

    Screenshot of the Edit F T P Request Filtering Settings page. In the General category both options are checked.

  6. Cliquez sur OK.

Comment ajouter un segment masqué FTP

  1. Ouvrez le Gestionnaire des services Internet (IIS) :

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

      • Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez 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 des services Internet (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • Cliquez sur Démarrer, placez le curseur 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 double-cliquez sur Gestionnaire des services Internet (IIS).
  2. Dans le volet Connexions, accédez au site ou au répertoire pour lequel vous souhaitez modifier vos paramètres de filtrage de demande.

  3. Dans le volet Accueil, double-cliquez sur Filtrage des demandes FTP.

  4. Dans le volet Filtrage des demandes FTP, cliquez sur l’onglet Segments masqués.
    Screenshot of the F T P Request Filtering pane. The Hidden Segments tab is selected.

  5. Dans le volet Actions, cliquez sur Ajouter un segment masqué.
    Screenshot of the Add Hidden Segment dialog box. In the Hidden segment box, a path is written.

  6. Dans la boîte de dialogue Ajouter un segment masqué, entrez le chemin d’accès que vous souhaitez masquer.

  7. Cliquez sur OK.

Comment refuser une séquence d’URL FTP

  1. Ouvrez le Gestionnaire des services Internet (IIS) :

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

      • Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez 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 des services Internet (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • Cliquez sur Démarrer, placez le curseur 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 double-cliquez sur Gestionnaire des services Internet (IIS).
  2. Dans le volet Connexions, accédez au site ou au répertoire pour lequel vous souhaitez modifier vos paramètres de filtrage de demande.

  3. Dans le volet Accueil, double-cliquez sur Filtrage des demandes FTP.
    Screenshot of the Home pane. The F T P Request icon is highlighted and selected.

  4. Dans le volet Filtrage des demandes FTP, cliquez sur l’onglet Séquences d’URL refusées.
    Screenshot of the F T P Request Filtering pane. the Denied U R L Sequences tab is selected.

  5. Dans le volet Actions, cliquez sur Ajouter une séquence d’URL.

  6. Dans la boîte de dialogue Ajouter une séquence de refus, entrez la séquence d’URL que vous souhaitez bloquer.
    Screenshot of the Add Deny Sequence dialog box. The U R L sequence box is shown.

  7. Cliquez sur OK.

Configuration

L’élément <requestFiltering> est configuré au niveau global, du site ou de l’URL.

Attributs

Attribut Description
allowHighBitCharacters Attribut Boolean facultatif.

Spécifie s’il faut autoriser les caractères non ASCII dans les URL.

La valeur par défaut est true.

Éléments enfants

Élément Description
fileExtensions Élément facultatif.

Spécifie les extensions de nom de fichier autorisées ou refusées pour limiter les types de requêtes envoyées au serveur FTP.
requestLimits Élément facultatif.

Spécifie les limites des demandes traitées par le serveur FTP.
hiddenSegments Élément facultatif.

Spécifie que certains segments d’URL peuvent être rendus inaccessibles aux clients.
denyUrlSequences Élément facultatif.

Spécifie des séquences qui doivent être refusées pour empêcher les attaques basées sur l’URL sur le serveur FTP.

Exemple Configuration

L’exemple suivant illustre plusieurs paramètres de configuration liés à la sécurité dans l’élément <system.ftpServer> d’un site FTP. Plus précisément, les paramètres <location> de cet exemple montrent comment :

  • Spécifiez une règle d’autorisation FTP pour l’accès en lecture et en écriture pour le groupe Administrateurs.
  • Spécifiez les options de filtrage des demandes FTP qui refusent les fichiers *.exe, *.bat et *.cmd.
  • Spécifiez les limites de requête FTP pour une longueur de contenu maximale de 1 000 000 d’octets et une longueur d’URL maximale de 1024 octets.
  • Bloquez l’accès FTP au répertoire virtuel _vti_bin, qui est utilisé avec les extensions de serveur FrontPage.
  • Spécifiez les options de filtrage IP FTP qui autorisent l’accès à partir de 127.0.0.1 et refusent l’accès à partir de la plage d’adresses IP 169.254.0.0/255.255.0.0.
<location path="ftp.example.com">
  <system.ftpServer>
    <security>
      <authorization>
        <add accessType="Allow" roles="administrators" permissions="Read, Write" />
      </authorization>
      <requestFiltering>
        <fileExtensions allowUnlisted="true">
          <add fileExtension=".exe" allowed="false" />
          <add fileExtension=".bat" allowed="false" />
          <add fileExtension=".cmd" allowed="false" />
        </fileExtensions>
        <requestLimits maxAllowedContentLength="1000000" maxUrl="1024" />
        <hiddenSegments>
          <add segment="_vti_bin" />
        </hiddenSegments>
      </requestFiltering>
      <ipSecurity enableReverseDns="false" allowUnlisted="true">
        <add ipAddress="127.0.0.1" allowed="true" />
        <add ipAddress="169.254.0.0" subnetMask="255.255.0.0" allowed="false" />
      </ipSecurity>
    </security>
  </system.ftpServer>
</location>

Exemple de code

Les exemples suivants spécifient les options de filtrage des demandes FTP qui refusent les fichiers *.exe, *.com, *.bat et *.cmd.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.ftpServer/security/requestFiltering /+"fileExtensions.[fileExtension='.exe',allowed='False']" /commit:apphost

appcmd.exe set config "Default Web Site" -section:system.ftpServer/security/requestFiltering /+"fileExtensions.[fileExtension='.com',allowed='False']" /commit:apphost

appcmd.exe set config "Default Web Site" -section:system.ftpServer/security/requestFiltering /+"fileExtensions.[fileExtension='.cmd',allowed='False']" /commit:apphost

appcmd.exe set config "Default Web Site" -section:system.ftpServer/security/requestFiltering /+"fileExtensions.[fileExtension='.bat',allowed='False']" /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 requestFilteringSection = config.GetSection("system.ftpServer/security/requestFiltering", "Default Web Site");
         ConfigurationElement fileExtensionsElement = requestFilteringSection.GetChildElement("fileExtensions");
         ConfigurationElementCollection fileExtensionsCollection = fileExtensionsElement.GetCollection();

         ConfigurationElement addElement = fileExtensionsCollection.CreateElement("add");
         addElement["fileExtension"] = @".exe";
         addElement["allowed"] = false;
         fileExtensionsCollection.Add(addElement);

         ConfigurationElement addElement1 = fileExtensionsCollection.CreateElement("add");
         addElement1["fileExtension"] = @".com";
         addElement1["allowed"] = false;
         fileExtensionsCollection.Add(addElement1);

         ConfigurationElement addElement2 = fileExtensionsCollection.CreateElement("add");
         addElement2["fileExtension"] = @".cmd";
         addElement2["allowed"] = false;
         fileExtensionsCollection.Add(addElement2);

         ConfigurationElement addElement3 = fileExtensionsCollection.CreateElement("add");
         addElement3["fileExtension"] = @".bat";
         addElement3["allowed"] = false;
         fileExtensionsCollection.Add(addElement3);

         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 requestFilteringSection As ConfigurationSection = config.GetSection("system.ftpServer/security/requestFiltering", "Default Web Site")
      Dim fileExtensionsElement As ConfigurationElement = requestFilteringSection.GetChildElement("fileExtensions")
      Dim fileExtensionsCollection As ConfigurationElementCollection = fileExtensionsElement.GetCollection

      Dim addElement As ConfigurationElement = fileExtensionsCollection.CreateElement("add")
      addElement("fileExtension") = ".exe"
      addElement("allowed") = False
      fileExtensionsCollection.Add(addElement)

      Dim addElement1 As ConfigurationElement = fileExtensionsCollection.CreateElement("add")
      addElement1("fileExtension") = ".com"
      addElement1("allowed") = False
      fileExtensionsCollection.Add(addElement1)

      Dim addElement2 As ConfigurationElement = fileExtensionsCollection.CreateElement("add")
      addElement2("fileExtension") = ".cmd"
      addElement2("allowed") = False
      fileExtensionsCollection.Add(addElement2)

      Dim addElement3 As ConfigurationElement = fileExtensionsCollection.CreateElement("add")
      addElement3("fileExtension") = ".bat"
      addElement3("allowed") = False
      fileExtensionsCollection.Add(addElement3)

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var requestFilteringSection = adminManager.GetAdminSection("system.ftpServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var fileExtensionsElement = requestFilteringSection.ChildElements.Item("fileExtensions");
var fileExtensionsCollection = fileExtensionsElement.Collection;

var addElement = fileExtensionsCollection.CreateNewElement("add");
addElement.Properties.Item("fileExtension").Value = ".exe";
addElement.Properties.Item("allowed").Value = false;
fileExtensionsCollection.AddElement(addElement);

var addElement1 = fileExtensionsCollection.CreateNewElement("add");
addElement1.Properties.Item("fileExtension").Value = ".com";
addElement1.Properties.Item("allowed").Value = false;
fileExtensionsCollection.AddElement(addElement1);

var addElement2 = fileExtensionsCollection.CreateNewElement("add");
addElement2.Properties.Item("fileExtension").Value = ".cmd";
addElement2.Properties.Item("allowed").Value = false;
fileExtensionsCollection.AddElement(addElement2);

var addElement3 = fileExtensionsCollection.CreateNewElement("add");
addElement3.Properties.Item("fileExtension").Value = ".bat";
addElement3.Properties.Item("allowed").Value = false;
fileExtensionsCollection.AddElement(addElement3);

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set requestFilteringSection = adminManager.GetAdminSection("system.ftpServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set fileExtensionsElement = requestFilteringSection.ChildElements.Item("fileExtensions")
Set fileExtensionsCollection = fileExtensionsElement.Collection

Set addElement = fileExtensionsCollection.CreateNewElement("add")
addElement.Properties.Item("fileExtension").Value = ".exe"
addElement.Properties.Item("allowed").Value = False
fileExtensionsCollection.AddElement(addElement)

Set addElement1 = fileExtensionsCollection.CreateNewElement("add")
addElement1.Properties.Item("fileExtension").Value = ".com"
addElement1.Properties.Item("allowed").Value = False
fileExtensionsCollection.AddElement(addElement1)

Set addElement2 = fileExtensionsCollection.CreateNewElement("add")
addElement2.Properties.Item("fileExtension").Value = ".cmd"
addElement2.Properties.Item("allowed").Value = False
fileExtensionsCollection.AddElement(addElement2)

Set addElement3 = fileExtensionsCollection.CreateNewElement("add")
addElement3.Properties.Item("fileExtension").Value = ".bat"
addElement3.Properties.Item("allowed").Value = False
fileExtensionsCollection.AddElement(addElement3)

adminManager.CommitChanges()

Les exemples suivants spécifient les limites de requête FTP pour une longueur de contenu maximale de 1 000 000 d’octets et une longueur d’URL maximale de 1024 octets.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.ftpServer/security/requestFiltering /requestLimits.maxAllowedContentLength:"1000000" /requestLimits.maxUrl:"1024" /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 requestFilteringSection = config.GetSection("system.ftpServer/security/requestFiltering", "Default Web Site");

         ConfigurationElement requestLimitsElement = requestFilteringSection.GetChildElement("requestLimits");
         requestLimitsElement["maxAllowedContentLength"] = 1000000;
         requestLimitsElement["maxUrl"] = 1024;

         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 requestFilteringSection As ConfigurationSection = config.GetSection("system.ftpServer/security/requestFiltering", "Default Web Site")

      Dim requestLimitsElement As ConfigurationElement = requestFilteringSection.GetChildElement("requestLimits")
      requestLimitsElement("maxAllowedContentLength") = 1000000
      requestLimitsElement("maxUrl") = 1024

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var requestFilteringSection = adminManager.GetAdminSection("system.ftpServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var requestLimitsElement = requestFilteringSection.ChildElements.Item("requestLimits");
requestLimitsElement.Properties.Item("maxAllowedContentLength").Value = 1000000;
requestLimitsElement.Properties.Item("maxUrl").Value = 1024;

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set requestFilteringSection = adminManager.GetAdminSection("system.ftpServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set requestLimitsElement = requestFilteringSection.ChildElements.Item("requestLimits")
requestLimitsElement.Properties.Item("maxAllowedContentLength").Value = 1000000
requestLimitsElement.Properties.Item("maxUrl").Value = 1024

adminManager.CommitChanges()