Compartilhar via


Como usar FTP sobre SSL no IIS 7

por Robert McMurray

Compatibilidade

Versão Observações
IIS 7.5 O serviço FTP 7.5 é fornecido como um recurso para o IIS 7.5 no Windows 7 e Windows Server 2008 R2.
IIS 7.0 Os serviços FTP 7.0 e FTP 7.5 foram enviados fora de banda para o IIS 7.0, o que exigia o download e a instalação do serviço do seguinte URL: https://www.iis.net/download/FTP.

Introdução

A Microsoft criou um novo serviço FTP, completamente reescrito para o Windows Server® 2008. Esse novo serviço FTP incorpora muitos recursos novos que permitem que os autores da Web publiquem conteúdo melhor do que antes e oferece aos administradores da Web mais opções de segurança e implantação.

Um dos recursos é o FTP sobre Secure Sockets Layer (SSL), que permite que as sessões sejam criptografadas entre um cliente e um servidor FTP. Este documento orienta você a configurar um site FTP e então configurando esse site para usar SSL com a nova interface de usuário FTP, que permite editar diretamente os arquivos de configuração do IIS 7.0. Ele contém:

Observação

Este passo a passo contém uma série de etapas em que você faz logon no site FTP usando a conta de administrador local. Essas etapas só devem ser seguidas no próprio servidor usando o endereço de loopback ou o SSL de um servidor remoto. Se preferir usar uma conta de usuário separada em vez da conta de administrador, você deve criar as pastas apropriadas e definir as permissões corretas para essa conta de usuário quando necessário.

Pré-requisitos

Os itens a seguir precisam estar instalados para concluir os procedimentos deste artigo:

  1. O IIS 7.0 deve estar instalado no Windows 2008 Server, e o Gerenciador dos Serviços de Informações da Internet deve estar instalado.

  2. Novo serviço FTP. Você pode baixar e instalar o serviço FTP do site https://www.iis.net/ usando um dos seguintes links:

    • FTP 7.5 para IIS 7.0 (x64)
    • FTP 7.5 para IIS 7.0 (x86)
  3. Você precisará criar um diretório raiz para publicação FTP:

    • Crie uma pasta em %SystemDrive%\inetpub\ftproot

    • Defina as permissões para permitir o acesso para o grupo de administradores:

      • Abra um prompt de comando.
      • Digite o seguinte comando: ICACLS "%SystemDrive%\inetpub\ftproot" /Grant administrators:F /T
      • Feche o prompt de comando.

Observação

As configurações listadas neste passo a passo especificam %SystemDrive%\inetpub\ftproot como o caminho para o seu site FTP. Você não é obrigado a usar esse caminho; no entanto, se alterar o local do seu site, deverá alterar os caminhos relacionados ao site que são usados ao longo deste passo a passo.

OPCIONAL: Criar um certificado SSL autoassinado

Nesta tarefa opcional, você criará um certificado SSL autoassinado que será usado para testar seu site FTP.

Observação

Se você estiver configurando um site FTP para atividade baseada na Internet, obterá um certificado SSL de uma das várias Autoridades de Certificação, como VeriSign, Thawte, DigiCert etc. Para obter mais informações, consulte as Orientações sobre certificação.

  1. Abra o Gerenciador do IIS (Serviços de Informações da Internet) 7.0.
  2. Clique no computador no nó superior da árvore Conexões e clique duas vezes no recurso Certificados do Servidor.
    Screenshot that shows the MY SERVER Home pane. Sever Certificates is selected.
  3. No painel Ações, clique em Criar certificado autoassinado.
    Screenshot that shows the Sever Certificates pane.
  4. Digite "Meu certificado FTP" como o nome do novo certificado e clique em OK.
    Screenshot that shows the Create Self Signed Certificate dialog box.

Criar um site FTP habilitado para SSL usando o Gerenciador do IIS 7.0

Etapa 1: usar o Assistente de Site FTP para criar um site FTP baseado em SSL

Nesta primeira etapa, você cria um novo site FTP que só pode ser aberto usando sua conta de administrador.

  1. Acesse o Gerenciador do IIS 7.0. No painel Conexões, clique no nó Sites na árvore.

  2. 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.
    Screenshot that shows the context menu for Sites, in the Connections pane.

  3. Quando o assistente Adicionar site FTP for exibido:

    • Digite "Meu Novo Site FTP" na caixa Nome do site FTP e navegue até a pasta %SystemDrive%\inetpub\ftproot que você criou na seção de Pré-requisitos.

      Observação

      Se optar por digitar o caminho para sua pasta de conteúdo, você poderá usar variáveis de ambiente em seus caminhos.

    • Clique em Avançar.

      Screenshot shows the Site Information page in the Add F T P Site dialog box.

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

    • 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". Como você usará a conta de administrador posteriormente neste passo a passo, certifique-se de restringir o acesso ao servidor e de inserir o endereço IP de loopback local para seu computador digitando "127.0.0.1" na caixa endereço IP.

    • Normalmente, você digitaria a porta TCP/IP para o site FTP na caixa Porta. Para este passo a passo, escolha aceitar a porta padrão de 21.

    • Neste passo a passo, você não vai usar um nome de host, portanto, certifique-se de deixar a caixa Host Virtual está em branco.

    • Certifique-se de que a lista suspensa Certificados esteja definida como seu certificado SSL. Por exemplo, se você seguiu a etapa opcional para criar um certificado autoassinado, a caixa suspensa deve dizer "Meu certificado FTP".

    • Confira se a opção Permitir SSL está selecionada.

    • Clique em Avançar.

      Screenshot that shows the Binding and S S L Settings page in the Add F T P Site dialog box. Allow S S L is selected.

  5. 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.
      • Digite "administrador" no nome de usuário.
      • Selecione Leitura e Gravação nas Permissões.
    • Quando concluir esses itens, clique em Concluir.

      Screenshot that shows the Authentication and Authorization Information page in the Add F T P Site dialog box. Basic, Read, and Write are all selected.

Resumo

Você criou um novo site FTP baseado em SSL usando o novo serviço FTP.

Para recapitular os itens que você concluiu nesta etapa:

  • Você criou um novo site FTP chamado "Meu Novo Site FTP", com a raiz do conteúdo do site em %SystemDrive%\inetpub\ftproot.
  • Você vinculou o site FTP ao endereço de loopback local do computador na porta 21.
  • Você optou por exigir SSL (Secure Sockets Layer) para o site FTP e selecionou seu certificado SSL.
  • Você habilitou a Autenticação Básica e criou uma regra de autorização para a conta de administrador local para acesso de Leitura e Gravação.

Etapa 2: Definir configurações adicionais de SSL de FTP

A política SSL para FTP é personalizável site a site. Diferentes configurações podem ser especificadas para os canais de controle e dados. Nesta etapa, você define configurações SSL adicionais para seu site FTP que garantem que todas as credenciais do usuário sejam criptografadas, mesmo que todas as outras atividades de FTP não o sejam.

  1. Acesse o Gerenciador do IIS 7.0. Clique no nó do site FTP que você criou na Etapa 1. Os ícones de todos os recursos FTP são exibidos.
    Screenshot that shows the My New F T P Site Home pane.

  2. Para configurar as opções SSL, clique duas vezes no ícone Configurações de SSL do FTP para abrir a página do recurso Configurações de SSL.
    Screenshot that shows the My New F T P Site Home pane with F T P S S L Settings selected.

  3. Quando a página Configurações de SSL do FTP for exibida, selecione a opção Personalizada e clique no botão Avançado.
    Screenshot that shows the F T P S S L Settings pane. Custom is selected.

  4. Quando a caixa de diálogo Política Avançada de SSL for exibida:

    • Selecione a opção Exigir somente credenciais para o canal de controle.

      Observação

      Essa configuração requer que todos os nomes de usuário e senha sejam criptografados via SSL, mas o cliente pode escolher se deseja criptografar todas as outras atividades do canal de controle.

    • Selecione a opção Permitir para o canal de dados.

      Observação

      Essa configuração permite que o cliente escolha se deseja criptografar qualquer atividade do canal de dados.

    • Quando concluir esses itens, clique em OK.
      Screenshot that shows the Advanced S S L Policy dialog box.

  5. Na página Configurações de SSL do FTP, clique em Aplicar no painel Ações para salvar as configurações de SSL.
    Screenshot that shows the F T P S S L Settings pane. Apply and Cancel are listed in the Actions pane.

Resumo

Para recapitular os itens que você concluiu nesta etapa:

  • Você configurou a política de SSL do canal de controle para exigir que todas as credenciais do usuário sejam criptografadas e permitiu que os clientes FTP determinassem se devem criptografar todas as outras atividades do canal de controle.
  • Você configurou a política de SSL do canal de dados para permitir que os clientes FTP determinem se devem criptografar qualquer atividade do canal de dados.

Fazer logon no seu site FTP

Na etapa 1, você criou um site FTP que pode ser acessado pela conta de administrador. Na Etapa 2, você configurou a política de SSL do canal de controle para exigir que todas as credenciais do usuário sejam criptografadas, permitindo que os clientes FTP escolham se todos os outros canais de controle e atividades do canal de dados serão criptografados ou não.

Ao efetuar login no servidor FTP usando um cliente FTP compatível com SSL, o servidor FTP oferece suporte às seguintes opções de segurança explícitas:

  • TLS-C/TLS - O uso de TLS para a conexão com RFC2228 é padrão. Isso significa que não há proteção implícita da conexão de dados.
  • TLS-P/SSL - Usa TLS para a conexão. Isso significa que a conexão de dados está implicitamente protegida.

Essas configurações podem ser definidas ao especificar as opções de conexão SSL na maioria dos clientes FTP de terceiros.

Adicionar publicação de FTP baseada em SSL editando os arquivos de configuração do IIS 7.0

Você também pode adicionar a publicação de FTP baseada em SSL a um site existente editando os arquivos de configuração do IIS 7.0.

Observação

A edição do arquivo applicationHost.config requer permissões administrativas completas. Use um dos dois métodos:

  • Faça logon no computador usando a conta local de "administrador".

Ou

  • Se você estiver conectado usando uma conta com permissões administrativas que não seja a conta "administrador" local, abra o Bloco de Notas usando a opção "Executar como administrador".

Observação

Uma das etapas acima é necessária porque o componente de segurança do UAC (Controle de Conta de Usuário) nos sistemas operacionais Windows Vista e Windows Server 2008 impede o acesso ao arquivo applicationHost.config. Para obter mais informações sobre o UAC, consulte User Account Control.

As etapas a seguir explicam todas as configurações necessárias para adicionar a publicação FTP para o site padrão.

Etapa 1: Recuperar o hash do seu certificado SSL:

  1. No recurso Certificados do Servidor, clique duas vezes no seu certificado SSL. Por exemplo, caso tenha seguido a etapa opcional para criar um certificado autoassinado, clique duas vezes no certificado chamado "Meu certificado FTP".
  2. Clique na guia Detalhes .
  3. Percorra os campos até localizar o valor de Impressão digital.
  4. Realce o valor de Impressão digital, os dados são exibidos como:
    "57 68 6F 61 20 44 75 64 65 2C 20 49 49 53 20 52 6F 63 6B 73"
  5. Copie os dados hexadecimais da caixa de texto e cole-os na área de transferência. Em seguida, abra o bloco de notas do Windows e cole os dados em um documento em branco.

Observação

Você usará essas informações mais tarde.

Etapa 2: Adicionar FTP ao seu site Web padrão

  1. Usando um editor de texto, como o Bloco de Notas do Windows, abra o arquivo applicationHost.config, que está localizado na pasta %SystemRoot%\System32\inetsrv\config por padrão.

  2. Localize a seção do seu site Web padrão. Ela deve ser parecida com o seguinte exemplo:

    <site name="Default Web Site" id="1">
        <application path="/">
            <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:80:" />
        </bindings>
    </site>
    
  3. Crie um novo elemento de associação na coleção de associações. Defina o valor do atributo protocol no novo elemento de associação para conter "ftp" e, em seguida, altere o valor da porta do atributo bindingInformation para conter "21". As configurações do site padrão agora devem ser semelhantes ao seguinte exemplo:

    <site name="Default Web Site" id="1">
        <application path="/">
            <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:80:" />
            <binding protocol="ftp" bindingInformation="*:21:" />
        </bindings>
    </site>
    
  4. Adicione uma seção <ftpServer> abaixo da tag de fechamento <associações> para conter suas configurações de autenticação e SSL.

    Observação

    As configurações de autenticação para sites FTP são definidas no nível do site, ao contrário da autenticação para sites, que pode ser definida por URL.

    <ftpServer>
        <security>
            <authentication>
                <anonymousAuthentication enabled="false" userName="IUSR" />
                <basicAuthentication enabled="true" />
            </authentication>
            <ssl serverCertHash="" controlChannelPolicy="SslRequire" dataChannelPolicy="SslRequire" />
        </security>
    </ftpServer>
    
  5. Copie e cole os dados de impressão digital do certificado SSL no atributo serverCertHash do elemento SSL. Remova todos os espaços dos dados da impressão digital.

    Observação

    Se você não converter os dados hexadecimais em maiúsculas, eles não aparecerão no Gerenciador do IIS posteriormente.

    As configurações do seu site Web padrão agora devem conter algo como o exemplo a seguir:

    <site name="Default Web Site" id="1">
        <application path="/">
            <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:80:" />
            <binding protocol="ftp" bindingInformation="*:21:" />
        </bindings>
        <ftpServer>
            <security>
                <authentication>
                    <anonymousAuthentication enabled="false" />
                    <basicAuthentication enabled="true" />
                </authentication>
            </security>
            <ssl serverCertHash="57686F6120447564652C2049495320526F636B73" controlChannelPolicy="SslRequire" dataChannelPolicy="SslRequire" />
        </ftpServer>
    </site>
    
  6. Role até a parte inferior do arquivo applicationHost.config e localize a seção do seu site Web padrão que contém as suas configurações de autenticação.

    Observação

    Como mostrado neste exemplo, as configurações de autorização para sites FTP são definidas por URL.

    <location path="Default Web Site">
        <system.ftpServer>
            <security>
                <authorization>
                    <add accessType="Allow" users="administrator" permissions="Read, Write" />
                </authorization>
            </security>
        </system.ftpServer>
    </location>
    
  7. Salve o arquivo applicationHost.config.

Agora você deve ser capaz de fazer logon em seu site padrão usando um cliente FTP baseado em SSL.

Resumo

Nesta tarefa, você adicionou a publicação de FTP baseada em SSL ao seu site Web padrão editando os arquivos de configuração do IIS 7.0. Para recapitular os itens que você concluiu nesta tarefa:

  • Você adicionou uma associação FTP ao site padrão.
  • Você habilitou a autenticação básica FTP e desabilitou a autenticação anônima FTP para o site Web Padrão.
  • Você configurou o site para exigir SSL para todas as atividades do canal de controle e do canal de dados.
  • Você configurou a conta de administrador para permissões de leitura/gravação para o site padrão.