Compartilhar via


Configurações de autenticação padrão FTP <authentication>

Visão geral

O elemento <authentication> especifica as configurações de autenticação para sites FTP. As configurações de autenticação são configuradas somente no nível do site, embora as configurações <authorization> FTP possam ser configuradas por URL.

Há quatro formas diferentes de autenticação que podem ser configuradas para um site FTP:

  • Autenticação anônima: essa forma de autenticação permite acesso a um site FTP sem uma conta de usuário no servidor ou domínio e, geralmente, é usada para sites FTP públicos. Normalmente, os usuários fazem logon usando um nome de usuário de ftp ou anonymous, e a maioria dos usuários usará seu endereço de email como senha, embora isso não seja necessário.

  • Autenticação básica: essa forma de autenticação requer uma conta de usuário válida em seu servidor ou domínio antes que os usuários possam fazer logon.

    Observação: devido ao design do FTP (protocolo de transferência de arquivo), os nomes de usuário e senhas são transmitidos por FTP em texto sem formatação, tornando-os vulneráveis à descoberta de rede. Portanto, é recomendável que você use a autenticação Básica com SSL.

  • Autenticação de Certificado do Cliente: essa forma de autenticação usa certificados de cliente para autenticar clientes FTP.

  • Autenticação personalizada: essa forma de autenticação usa provedores de autenticação personalizados para validar nomes de usuário e senhas. O FTP 7.0 e o FTP 7.5 são fornecidos com dois provedores de autenticação personalizados:

    A principal vantagem de usar provedores de autenticação personalizados é que as contas de usuário não precisam ser criadas no seu servidor ou domínio. Isso melhora a segurança da rede.

Compatibilidade

Versão Observações
IIS 10.0 O elemento <authentication> não foi modificado no IIS 10.0.
IIS 8.5 O elemento <authentication> não foi modificado no IIS 8.5.
IIS 8.0 O elemento <authentication> não foi modificado no IIS 8.0.
IIS 7.5 O elemento <authentication> do elemento <security> é fornecido como um recurso do IIS 7.5.
IIS 7.0 O elemento <authentication> do elemento <security> foi introduzido no FTP 7.0, que foi um download separado para o IIS 7.0.
IIS 6,0 O elemento <ftpServer> e seus elementos filho substituem as configurações de FTP do IIS 6.0 que estavam localizadas no caminho de metabase LM/MSFTPSVC.

Observação

Os serviços FTP 7.0 e FTP 7.5 enviados 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/expand/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, 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 do Servidor, expanda Servidor Web (IIS) 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ê precisará selecionar a Extensibilidade de FTP além do Serviço FTP.
    Screenshot of Server Roles page showing F T P server node expanded and F T P Extensibility selected. .

  5. Clique em Próximo e, na página Selecionar recursos, clique em Próximo 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, 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ê também precisará selecionar a Extensibilidade de FTP.
    Screenshot of Internet Information Services and F T P Server pane expanded showing F T P Extensibility 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 precisará selecionar a Extensibilidade de FTP.
    Screenshot of F T P Server in Select Role Services page of the Add Role Service Wizard showing F T P Service selected.

  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 precisará selecionar a Extensibilidade de FTP.
    Screenshot of Internet Information Services and F T P Server pane expanded with F T P Extensibility selected.

  5. Clique em OK.

Windows Server 2008 ou Windows Vista

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

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

Instruções

Como habilitar ou desabilitar a autenticação anônima para um site 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, expanda o nome do servidor, expanda o nó Sites e clique no nome do site.

  3. No painel Página Inicial do site, clique duas vezes no recurso Autenticação FTP.

  4. Na página Autenticação FTP, selecione Autenticação anônima.

  5. No painel Ações, clique em Habilitar para habilitar a autenticação anônima ou clique em Desabilitar para desabilitar a autenticação anônima.
    Screenshot of F T P Authentication page displaying Anonymous Authentication enabled in the Actions pane.


Como usar o Assistente de Site FTP para criar um site FTP com acesso de leitura anônimo

  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, clique no nó Sites na árvore.

  3. Clique com o botão direito do mouse no nó Sites na árvore e clique em Adicionar Site FTP ou clique em Adicionar Site FTP no painel Ações.

  4. Quando o assistente Adicionar site FTP for exibido:

    • Insira "Meu Novo Site FTP" na caixa Nome do site FTP.

    • Para a caixa Caminho físico, você pode usar uma das seguintes opções para especificar seu diretório de conteúdo:

      • Clique no botão de reticências (...) e navegue até a pasta que contém o conteúdo do site FTP.
      • Digite o caminho para a pasta de conteúdo na caixa. Observe que, se optar por digitar o caminho, você poderá usar variáveis de ambiente nos caminhos. Por exemplo, você pode usar "%SystemDrive%\inetpub\ftproot" para o diretório de conteúdo.
    • Quando concluir esses itens, clique em Avançar.
      Screenshot of Add F T P Site Wizard showing My New F T P Site typed in F T P site name box.

  5. Na segunda página do assistente Adicionar Site FTP:

    • Escolha um endereço IP para seu site FTP na lista suspensa Endereço IP ou aceite a seleção padrão de "Todos os não atribuídos".

    • Insira a porta TCP/IP para o site FTP na caixa Porta. Por padrão, sites e clientes FTP usam a porta 21. (Observação: para especificar FTPS implícito, você precisa usar a porta 990.)

    • Para usar um nome de host virtual FTP, selecione a caixa para Habilitar Nomes do Host Virtual e, em seguida, insira o nome do host virtual na caixa Host Virtual.

    • Para as opções de SSL, escolha uma das seguintes opções:

      • Selecione Nenhuma SSL para desabilitar as opções de SSL.
      • Selecione Permitir SSL para permitir que os clientes FTP usem FTP sobre SSL como opção ao se conectarem ao servidor FTP.
      • Selecione Exigir SSL para permitir que os clientes FTP sempre usem FTP sobre SSL ao se conectarem ao servidor FTP.
      • Se você escolher Permitir SSL ou Exigir SSL, escolha um certificado no menu suspenso Certificado SSL.
    • Quando concluir esses itens, clique em Avançar.
      Screenshot of Binding and S S L Settings dialog box showing I P Address selected from the drop down and Allow S S L option checked.

  6. Na próxima página do assistente:

    • Selecione Anônimo para as configurações de Autenticação.
    • Para as configurações de Autorização, escolha "Usuários anônimos" na lista suspensa Permitir acesso a.
    • Selecione Ler para a opção Permissões.
    • Quando concluir esses itens, clique em Concluir.
      Screenshot of Authentication and Authorization settings page with Anonymous selected in Authentication and Read is checked in Permissions option.

Como habilitar ou desabilitar a autenticação Básica para um site 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, expanda o nome do servidor, expanda o nó Sites e clique no nome do site.

  3. No painel Página Inicial do site, clique duas vezes no recurso Autenticação FTP.

  4. Na página Autenticação FTP, selecione Autenticação Básica.
    Screenshot of F T P Authentication page showing Basic Authentication selected and enabled in the Actions pane.

  5. No painel Ações, clique em Habilitar para habilitar a autenticação Básica ou clique em Desabilitar para desabilitar a autenticação Básica.


Como usar o Assistente de Site FTP para criar um site FTP com autenticação Básica e acesso de leitura/gravaçã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, clique no nó Sites na árvore.

  3. Clique com o botão direito do mouse no nó Sites na árvore e clique em Adicionar Site FTP ou clique em Adicionar Site FTP no painel Ações.

  4. Quando o assistente Adicionar site FTP for exibido:

    • Insira "Meu Novo Site FTP" na caixa Nome do site FTP.

    • Para a caixa Caminho físico, você pode usar uma das seguintes opções para especificar seu diretório de conteúdo:

      • Clique no botão de reticências (...) e navegue até a pasta que contém o conteúdo do site FTP.
      • Digite o caminho para a pasta de conteúdo na caixa. Observe que, se optar por digitar o caminho, você poderá usar variáveis de ambiente nos caminhos. Por exemplo, você pode usar "%SystemDrive%\inetpub\ftproot" para o diretório de conteúdo.
    • Quando concluir esses itens, clique em Avançar.
      Screenshot of Site Information page showing My New Site typed in the field for F T P site name with physical path box populated with the folder path.

  5. Na segunda página do assistente Adicionar Site FTP:

    • Escolha um endereço IP para seu site FTP na lista suspensa Endereço IP ou aceite a seleção padrão de "Todos os não atribuídos".

    • Insira a porta TCP/IP para o site FTP na caixa Porta. Por padrão, sites e clientes FTP usam a porta 21. (Observação: para especificar FTPS implícito, você precisa usar a porta 990.)

    • Para usar um nome de host virtual FTP, selecione a caixa para Habilitar Nomes do Host Virtual e, em seguida, insira o nome do host virtual na caixa Host Virtual.

    • Para as opções de SSL, escolha uma das seguintes opções:

      • Selecione Nenhuma SSL para desabilitar as opções de SSL.
      • Selecione Permitir SSL para permitir que os clientes FTP usem FTP sobre SSL como opção ao se conectarem ao servidor FTP.
      • Selecione Exigir SSL para permitir que os clientes FTP sempre usem FTP sobre SSL ao se conectarem ao servidor FTP.
      • Se você escolher Permitir SSL ou Exigir SSL, escolha um certificado no menu suspenso Certificado SSL.
    • Quando concluir esses itens, clique em Avançar.
      Screenshot of Binding and S S L Settings in Add F T P Site Wizard displaying I P Address chosen from the drop down and Allow S S L option selected.

  6. Na próxima página do assistente:

    • Selecione Básico para as configurações de Autenticação.
    • Para as configurações de Autorização, escolha "Usuários especificados" na lista suspensa Permitir acesso a e insira um nome de conta na caixa abaixo do menu suspenso.
    • Selecione Leitura e Gravação nas Permissões.
    • Quando concluir esses itens, clique em Concluir.
      Screenshot of Authentication and Authorization page with Basic selected in Authentication and Read and Write both selected in Permissions section.

Configuração

Atributos

Nenhum.

Elementos filho

Elemento Descrição
anonymousAuthentication Elemento opcional.

Especifica as configurações de autenticação anônima para sites FTP.
basicAuthentication Elemento opcional.

Especifica as configurações de autenticação Básica para sites FTP.
clientCertAuthentication Elemento opcional.

Especifica as configurações de autenticação do Certificado do Cliente para sites FTP.
customAuthentication Elemento opcional.

Especifica as configurações de autenticação personalizada para sites FTP.

Observação: a autenticação personalizada é implementada por meio de provedores de autenticação personalizados.

Exemplo de configuração

O exemplo de configuração a seguir desabilita a autenticação anônima e habilita a autenticação Básica por padrão.

<siteDefaults>
   <ftpServer>
      <security>
         <authentication>
            <anonymousAuthentication enabled="false" />
            <basicAuthentication enabled="true" />
         </authentication>
      </security>
   </ftpServer>
</siteDefaults>

Exemplo de código

Os exemplos de código a seguir desabilitam a autenticação anônima e habilitam a autenticação Básica por padrão.

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.ftpServer.security.authentication.anonymousAuthentication.enabled:"False" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.ftpServer.security.authentication.basicAuthentication.enabled:"True" /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 sitesSection = config.GetSection("system.applicationHost/sites");
         ConfigurationElement siteDefaultsElement = sitesSection.GetChildElement("siteDefaults");
         ConfigurationElement ftpServerElement = siteDefaultsElement.GetChildElement("ftpServer");

         ConfigurationElement securityElement = ftpServerElement.GetChildElement("security");
         ConfigurationElement authenticationElement = securityElement.GetChildElement("authentication");
         ConfigurationElement anonymousAuthenticationElement = authenticationElement.GetChildElement("anonymousAuthentication");
            anonymousAuthenticationElement["enabled"] = false;
         ConfigurationElement basicAuthenticationElement = authenticationElement.GetChildElement("basicAuthentication");
            basicAuthenticationElement["enabled"] = 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 sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites")
      Dim siteDefaultsElement As ConfigurationElement = sitesSection.GetChildElement("siteDefaults")
      Dim ftpServerElement As ConfigurationElement = siteDefaultsElement.GetChildElement("ftpServer")

      Dim securityElement As ConfigurationElement = ftpServerElement.GetChildElement("security")
      Dim authenticationElement As ConfigurationElement = securityElement.GetChildElement("authentication")
      Dim anonymousAuthenticationElement As ConfigurationElement = authenticationElement.GetChildElement("anonymousAuthentication")
         anonymousAuthenticationElement("enabled") = False
      Dim basicAuthenticationElement As ConfigurationElement = authenticationElement.GetChildElement("basicAuthentication")
         basicAuthenticationElement("enabled") = True

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

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

var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST");
var siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults");
var ftpServerElement = siteDefaultsElement.ChildElements.Item("ftpServer");

var securityElement = ftpServerElement.ChildElements.Item("security");
var authenticationElement = securityElement.ChildElements.Item("authentication");
var anonymousAuthenticationElement = authenticationElement.ChildElements.Item("anonymousAuthentication");
   anonymousAuthenticationElement.Properties.Item("enabled").Value = false;
var basicAuthenticationElement = authenticationElement.ChildElements.Item("basicAuthentication");
   basicAuthenticationElement.Properties.Item("enabled").Value = true;

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST")
Set siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults")
Set ftpServerElement = siteDefaultsElement.ChildElements.Item("ftpServer")

Set securityElement = ftpServerElement.ChildElements.Item("security")
Set authenticationElement = securityElement.ChildElements.Item("authentication")
Set anonymousAuthenticationElement = authenticationElement.ChildElements.Item("anonymousAuthentication")
   anonymousAuthenticationElement.Properties.Item("enabled").Value = False
Set basicAuthenticationElement = authenticationElement.ChildElements.Item("basicAuthentication")
   basicAuthenticationElement.Properties.Item("enabled").Value = true

adminManager.CommitChanges()