Compartilhar via


Filtragem de solicitação FTP <>requestFiltering

A Filtragem de Solicitações FTP é um recurso de segurança interno que foi introduzido no FTP 7 e é aproximadamente análogo à funcionalidade que estava disponível por meio de recursos de filtragem de solicitação que estão disponíveis para sites HTTP. Todas as configurações do recurso de filtragem de solicitação estão localizadas no elemento <requestFiltering>, que contém vários elementos filho para cada uma das seguintes áreas de recurso:

  • <denyUrlSequences> – Esse elemento pode conter uma coleção de padrões de sequência de URL que o IIS 7 negará; por exemplo: você pode negar partes de sequências de URL que um invasor pode tentar explorar.
  • <fileExtensions> – Esse elemento pode conter uma coleção de extensões de nome de arquivo que o IIS 7 negará ou permitirá; por exemplo: você pode bloquear todas as solicitações de arquivos *.EXE ou *.COM.
  • <hiddenSegments> – Este elemento pode conter uma coleção de URLs que não podem ser navegados; por exemplo: você pode negar solicitações para a pasta ASP.NET App_Code.
  • <requestLimits> – Esse elemento contém as configurações de URL, conteúdo e comprimentos de comando.

A diferença significativa entre a filtragem de solicitações FTP e a filtragem de solicitação HTTP é que a filtragem de solicitações HTTP inclui um elemento <verbs> adicional, que pode conter uma coleção de verbos HTTP que o IIS negará ou permitirá. O FTP fornece esse mesmo tipo de filtragem por meio do elemento <commandFiltering> configurado no nível do site.

Observação

Quando a filtragem de solicitações bloquear uma solicitação FTP porque uma solicitação FTP viola as regras de filtragem, o FTP 7 retornará um erro FTP para o cliente e registrará um dos seguintes substatus FTP que identificará o motivo pelo qual a solicitação foi negada:

Substatus FTP Descrição
8 O segmento oculto foi detectado no caminho com base nas regras de filtragem de solicitação.
9 Sequência de URL negada foi detectada no caminho com base nas regras de filtragem de solicitação.
10 Os caracteres de bit mais significativo foram detectados no caminho com base nas regras de filtragem de solicitação.
11 A extensão de nome de arquivo foi negada com base nas regras de filtragem de solicitações
12 O caminho é muito longo com base nas regras de filtragem de solicitações.
51 As regras de filtragem de comando negaram o acesso.

A notificação das condições indicadas por esses substatus permite que os administradores da Web analisem seus logs do IIS e identifiquem possíveis ameaças.

Compatibilidade

Versão Observações
IIS 10.0 O elemento <requestFiltering> não foi modificado no IIS 10.0.
IIS 8.5 O elemento <requestFiltering> não foi modificado no IIS 8.5.
IIS 8.0 O elemento <requestFiltering> não foi modificado no IIS 8.0.
IIS 7.5 O elemento <requestFiltering> do elemento <system.ftpServer/security> é fornecido como um recurso do IIS 7.5.
IIS 7.0 O elemento <requestFiltering> do elemento <system.ftpServer/security> foi introduzido no FTP 7.0, que era um download separado para o IIS 7.0.
IIS 6,0 O serviço FTP no IIS 6.0 não dá suporte à filtragem de solicitações.

Observação

Os serviços FTP 7.0 e FTP 7.5 eram fornecidos fora de banda para o IIS 7.0, o que exigia o download e a instalação de módulos do seguinte URL:

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

Com o Windows 7 e o Windows Server 2008 R2, o serviço FTP 7.5 é fornecido como um recurso para o IIS 7.5 e, portanto, o download do serviço FTP não é mais necessário.

Instalação

Para dar suporte à publicação FTP para seu servidor Web, você deve instalar o serviço FTP. Para fazer isso, execute as etapas a seguir.

Windows Server 2012 R2 ou Windows Server 2012

  1. Na barra de tarefas, clique em Gerenciador do Servidor.

  2. No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos.

  3. No assistente Adicionar Funções e Recursos, clique em Avançar. Selecione o tipo de instalação e clique em Avançar. Selecione o servidor de destino e clique em Avançar.

  4. Na página Funções de servidor, expanda Servidor Web (IIS) e, em seguida, selecione Servidor FTP.

    Observação

    Para dar suporte à autenticação do ASP.Membership ou do Gerenciador do IIS para o serviço FTP, você precisa selecionar a Extensibilidade de FTP além do Serviço FTP.

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

  5. Selecione Avançar e, em seguida, na página Selecionar recursos, selecione Avançar novamente.

  6. Na página Confirmar seleções de instalação, clique em Instalar.

  7. Na página Resultados , clique em Fechar.

Windows 8 ou Windows 8.1

  1. Na tela Iniciar, mova o ponteiro até o canto inferior esquerdo, clique com o botão direito do mouse no botão Iniciar e clique em Painel de Controle.

  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar recursos do Windows.

  3. Expanda Serviços de Informações da Internet e selecione Servidor FTP.

    Observação

    Para dar suporte à autenticação do ASP.Membership ou do Gerenciador do IIS para o serviço FTP, você também precisará selecionar Extensibilidade de FTP. Screenshot of the I I S navigation tree. F T P Extensibility is highlighted and selected.

  4. Clique em OK.

  5. Clique em Fechar.

Windows Server 2008 R2

  1. Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do Servidor.

  2. No painel de hierarquia do Gerenciador do Servidor, expanda Funções e clique em Servidor Web (IIS).

  3. No painel Servidor Web (IIS), role até a seção Serviços de Função e clique em Adicionar Serviços de Função.

  4. Na página Selecionar Serviços de Função do Assistente para Adicionar Serviços de Função, expanda Servidor FTP.

  5. Selecione Serviço FTP.

    Observação

    Para dar suporte à autenticação do ASP.Membership ou do Gerenciador do IIS para o serviço FTP, você também precisa selecionar Extensibilidade de FTP. Screenshot of the Select Role Services page. F T P Server is expanded. F T P Service is selected and highlighted.

  6. Clique em Avançar.

  7. Na página Confirmar Seleções de Instalação, clique em Instalar.

  8. Na página Resultados , clique em Fechar.

Windows 7

  1. Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.

  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar Recursos do Windows.

  3. Expanda Serviços de Informações da Internet e, em seguida, Servidor FTP.

  4. Selecione Serviço FTP.

    Observação

    Para dar suporte à autenticação do ASP.Membership ou do Gerenciador do IIS para o serviço FTP, você também precisa selecionar Extensibilidade de FTP. Screenshot of the I I S navigation tree. F T P Server is selected and expanded.

  5. Clique em OK.

Windows Server 2008 ou Windows Vista

  1. Baixe o pacote de instalação do seguinte URL:

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

  2. Siga as instruções no seguinte passo a passo para instalar o serviço FTP:

    Instalar e solucionar problemas do FTP 7

Instruções

Observação

A Filtragem de Solicitações FTP não tinha uma interface do usuário na versão FTP 7.0; a interface do usuário de filtragem de solicitações FTP foi adicionada na versão FTP 7.5.

Como negar o acesso FTP a uma extensão de nome de arquivo específica

  1. Abra o Gerenciador dos Serviços de Informações da Internet (IIS):

    • Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:

      • Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows 8 ou Windows 8.1:

      • Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
      • Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:

      • Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows Vista ou Windows 7:

      • Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
      • Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
  2. No painel Conexões, vá para o site ou diretório para o qual você deseja modificar as configurações de filtragem de solicitações.

  3. No painel Página Inicial, clique duas vezes em Filtragem de Solicitações FTP.

  4. No painel Filtragem de Solicitações FTP, clique na guia Extensões de Nome de Arquivo.
    Screenshot of the F T P Request Filtering pane. The File Name Extensions tab is selected.

  5. Clique em Negar Extensão de Nome de Arquivo no painel Ações.

  6. Na caixa de diálogo Negar Extensão de Nome de Arquivo, insira a extensão de nome de arquivo que você deseja bloquear. Por exemplo, para impedir o acesso a arquivos com uma extensão de nome de arquivo .inc, digite “inc” na caixa de diálogo.
    Screenshot of the Deny File Name Extension dialog box. In the File name extension box, i n c is written.

  7. Clique em OK.

Como editar as configurações do recurso de filtragem de solicitações e os limites de solicitação

  1. Abra o Gerenciador dos Serviços de Informações da Internet (IIS):

    • Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:

      • Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows 8 ou Windows 8.1:

      • Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
      • Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:

      • Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows Vista ou Windows 7:

      • Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
      • Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
  2. No painel Conexões, vá para o site ou diretório para o qual você deseja modificar as configurações de filtragem de solicitações.

  3. No painel Página Inicial, clique duas vezes em Filtragem de Solicitações FTP.

  4. Clique em Editar Configurações de Recurso no painel Ações.
    Screenshot of the Actions pane. Server is expanded. Sites is expanded.

  5. Especifique suas opções. Por exemplo, você pode fazer as seguintes alterações:

    • Altere o comprimento máximo da URL para 2KB especificando 2048.
    • Altere o tamanho máximo do comando para 1KB, especificando 1024.

    Observação

    É recomendável que você não desmarque a caixa de seleção Permitir comandos não listados.

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

  6. Clique em OK.

Como adicionar um segmento FTP oculto

  1. Abra o Gerenciador dos Serviços de Informações da Internet (IIS):

    • Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:

      • Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows 8 ou Windows 8.1:

      • Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
      • Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:

      • Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows Vista ou Windows 7:

      • Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
      • Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
  2. No painel Conexões, vá para o site ou diretório para o qual você deseja modificar as configurações de filtragem de solicitações.

  3. No painel Página Inicial, clique duas vezes em Filtragem de Solicitações FTP.

  4. No painel Filtragem de Solicitações FTP, clique na guia Segmentos Ocultos.
    Screenshot of the F T P Request Filtering pane. The Hidden Segments tab is selected.

  5. Clique em Adicionar Segmento Oculto... no painel Ações.
    Screenshot of the Add Hidden Segment dialog box. In the Hidden segment box, a path is written.

  6. Na caixa de diálogo Adicionar Segmento Oculto, insira o caminho que você deseja ocultar.

  7. Clique em OK.

Como negar uma sequência de URL de FTP

  1. Abra o Gerenciador dos Serviços de Informações da Internet (IIS):

    • Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:

      • Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows 8 ou Windows 8.1:

      • Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
      • Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:

      • Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows Vista ou Windows 7:

      • Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
      • Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
  2. No painel Conexões, vá para o site ou diretório para o qual você deseja modificar as configurações de filtragem de solicitações.

  3. No painel Página Inicial, clique duas vezes em Filtragem de Solicitações FTP.
    Screenshot of the Home pane. The F T P Request icon is highlighted and selected.

  4. No painel Filtragem de Solicitações FTP, clique na guia Sequências de URL Negadas.
    Screenshot of the F T P Request Filtering pane. the Denied U R L Sequences tab is selected.

  5. Clique em Adicionar Sequência de URL... no painel Ações.

  6. Na caixa de diálogo Adicionar Sequência de Negação, insira a sequência de URL que você deseja bloquear.
    Screenshot of the Add Deny Sequence dialog box. The U R L sequence box is shown.

  7. Clique em OK.

Configuração

O elemento <requestFiltering> é configurado no nível do servidor, do site ou da URL.

Atributos

Atributo Descrição
allowHighBitCharacters Atributo Boolean opcional.

Especifica se os caracteres não ASCII devem ser permitidos em URLs.

O valor padrão é true.

Elementos filho

Elemento Descrição
fileExtensions Elemento opcional.

Especifica quais extensões de nome de arquivo são permitidas ou negadas para limitar os tipos de solicitações enviadas ao servidor FTP.
requestLimits Elemento opcional.

Especifica os limites de solicitações processadas pelo servidor FTP.
hiddenSegments Elemento opcional.

Especifica que determinados segmentos de URLs podem ser tornados inacessíveis aos clientes.
denyUrlSequences Elemento opcional.

Especifica sequências que devem ser negadas para ajudar a evitar ataques baseados em URL no servidor FTP.

Exemplo de configuração

O exemplo a seguir ilustra várias configurações relacionadas à segurança no elemento <system.ftpServer> para um site FTP. Mais especificamente, as configurações <location> neste exemplo demonstram como:

  • Especifique uma regra de autorização FTP para acesso de leitura e gravação para o grupo de administradores.
  • Especifique as opções de filtragem de solicitação FTP que negam arquivos *.exe, *.bat e *.cmd.
  • Especifique os limites de solicitação FTP para um comprimento máximo de conteúdo de 1000000 bytes e um comprimento máximo de URL de 1024 bytes.
  • Bloqueie o acesso FTP ao diretório virtual _vti_bin, que é usado com as Extensões de Servidor do FrontPage.
  • Especifique as opções de filtragem de IP FTP que permitem o acesso de 127.0.0.1 e negam o acesso do intervalo de endereços 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>

Exemplo de código

Os exemplos a seguir especificam opções de filtragem de solicitações FTP que negam arquivos *.exe, *.com, *.bat e *.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

Observação

Defina o parâmetro commit para apphost quando usar AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de local apropriado no arquivo 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()

Os exemplos a seguir especificam os limites de solicitação FTP para o tamanho máximo de conteúdo de 1000000 bytes e o tamanho máximo de URL de 1024 bytes.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.ftpServer/security/requestFiltering /requestLimits.maxAllowedContentLength:"1000000" /requestLimits.maxUrl:"1024" /commit:apphost

Observação

Defina o parâmetro commit para apphost quando usar AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de local apropriado no arquivo 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()