Configuração do isolamento de usuários FTP 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 no 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 por meio da seguinte URL: https://www.iis.net/downloads/microsoft/ftp.

Introdução

A Microsoft criou um serviço FTP que foi completamente reescrito para o Windows Server 2008. Este novo serviço FTP incorpora muitos novos recursos que permitem que os criadores da Web publiquem conteúdos da melhor maneira possível e oferece aos administradores da Web mais opções de segurança e implantação.

Este documento explica como realizar as diversas configurações de isolamento de usuários FTP usando a nova interface de usuário FTP e editando diretamente os arquivos de configuração do IIS.

Observação

Estas instruções contêm uma série de etapas em que você fará 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 por SSL de um servidor remoto. Se você preferir usar uma conta de usuário separada em vez da conta de administrador, crie as pastas apropriadas e defina as permissões corretas para a conta de usuário quando for necessário.

Pré-requisitos

Os seguintes itens são necessários para concluir os procedimentos deste artigo:

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

  2. O novo serviço FTP deve ser instalado. Você pode baixar e instalar o serviço FTP por meio do site https://www.iis.net/ usando um dos seguintes links:

    • FTP para IIS 7 (x64)
    • FTP para IIS 7 (x86)
  3. Você precisa criar uma pasta raiz para publicação FTP:

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

    • Defina as permissões para permitir acesso anônimo:

      • Abra um prompt de comando.

      • Digite o seguinte comando:

        ICACLS "%SystemDrive%\inetpub\ftproot" /Grant IUSR:R /T
        
      • Feche o prompt de comando.

  4. Você precisa criar pastas de conteúdo adicionais:

    • Crie uma pasta em %SystemDrive%\inetpub\ftproot\LocalUser\Public
    • Crie uma pasta em %SystemDrive%\inetpub\adminfiles

Usar o Assistente de site FTP para criar um site FTP

Nesta primeira seção, você criará um site FTP que poderá ser aberto com acesso somente leitura por usuários anônimos e com acesso de leitura/gravação pela conta do administrador.

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

  2. Conforme mostrado na imagem abaixo, clique com o botão direito do mouse no nó Sites na árvore e selecione Adicionar site FTP ou clique em Adicionar site FTP no painel Ações.
    Screenshot of the I I S Manager screen with a focus on the Add F T P Site option in the right-click drop-down menu over the Sites folder.

  3. Quando o assistente Adicionar site FTP for exibido, faça o seguinte:

    • Digite “Meu novo site FTP” na caixa Nome do site FTP e acesse a pasta %SystemDrive%\inetpub\ftproot que você criou na seção “Pré-requisitos”. Se você optar por digitar o caminho da pasta de conteúdo, será possível usar variáveis de ambiente nos caminhos.
    • Depois de concluir esses itens, clique em Avançar.
      Screenshot of the Add F T P Site wizard, displaying the Site Information section.
  4. Na próxima página do assistente, faça o seguinte:

    • Normalmente, você escolheria um endereço IP para o site FTP no menu suspenso Endereço IP ou poderia optar por aceitar a seleção padrão de “Todos não atribuídos”. Como você usará a conta de administrador posteriormente ao seguir estas instruções, restrinja o acesso ao servidor e insira o endereço IP de loopback local do computador digitando “127.0.0.1” na caixa Endereço IP.
    • Normalmente, você inseriria a porta TCP/IP do site FTP na caixa Porta. Para seguir estas instruções, você escolherá aceitar a porta padrão 21.
    • Aqui, você não usará um nome de host. Por isso, mantenha a caixa Host virtual em branco.
    • Verifique se o menu suspenso Certificados está definido como “Não selecionado” e se a opção Permitir SSL está selecionada.
    • Depois de concluir esses itens, clique em Avançar.
      Screenshot of the Add F T P Site screen's Binding and S S L Settings section with a focus on the Next option.
  5. Na próxima página do assistente, faça o seguinte:

    • Selecione Anônimo para as configurações de Autenticação.
    • Para as configurações de Autorização, escolha “Usuários anônimos” no menu suspenso Permitir acesso a e selecione Leitura para a opção Permissões.
    • Depois de concluir esses itens, clique em Concluir.
      Screenshot of the Add F T P Site screen's Authentication and Authorization Information section with a focus on the Finish option.
  6. No Gerenciador do IIS, clique no nó do site FTP que você criou para exibir os ícones de todos os recursos do FTP.
    Screenshot of the I I S Manager screen showing the My New F T P Site Home section displaying F T P features.

  7. É necessário adicionar a autenticação básica para que os usuários possam fazer logon. Para isso, clique duas vezes no ícone Autenticação FTP a fim de abrir a página do recurso de autenticação FTP.
    Screenshot of the I I S Manager screen with a focus on the F T P Authentication option in the My New F T P Site Home section.

  8. Quando a página Autenticação FTP for exibida, realce Autenticação básica e clique em Habilitar no painel Ações.
    Screenshot of the I I S Manager screen's F T P Authentication section with a focus on the Enable option in the Actions pane.

  9. No Gerenciador do IIS, clique no nó do site FTP para exibir novamente os ícones de todos os recursos do FTP.

  10. É necessário adicionar uma regra de autorização para que o administrador possa fazer logon. Para isso, clique duas vezes no ícone Regras de autorização FTP a fim de abrir a página do recurso de regras de autorização FTP.
    Screenshot of the I I S Manager screen's F T P Authorization Rules option in the F T P section.

  11. Quando a página Regras de autorização FTP for exibida, clique em Adicionar regra de permissão no painel Ações.
    Screenshot of the I I S Manager screen's F T P Authorization Rules section with a focus on the Add Allow Rule option in the Actions pane.

  12. Quando a caixa de diálogo Adicionar regra de autorização de permissão for exibida, faça o seguinte:

    • Selecione Usuários especificados e digite “administrador” na caixa.
    • Para Permissões, selecione Leitura e Gravação.
    • Ao concluir esses itens, clique em OK.
      Screenshot of the Add Allow Authorization Rule dialog box.

Resumo

Recapitule os itens que você concluiu nesta seção:

  1. Você criou um site FTP chamado “Meu novo site FTP”, com a raiz do conteúdo do site em %SystemDrive%\inetpub\ftproot.
  2. Você vinculou o site FTP ao endereço de loopback local do computador na porta 21 e optou por não usar SSL (Secure Sockets Layer) para o site FTP.
  3. Você criou uma regra padrão para o site FTP a fim de permitir que usuários anônimos tenham acesso de “leitura” aos arquivos.
  4. Você adicionou uma regra de autorização que fornece à conta do administrador permissões de “leitura” e “gravação” para o site FTP.
  5. Você adicionou a autenticação básica ao site FTP.

Como analisar as novas configurações de isolamento de usuários FTP

  1. No Gerenciador do IIS, clique no nó do site FTP que você criou para exibir os ícones de todos os recursos do FTP.

  2. Clique duas vezes no ícone Isolamento de usuários FTP para abrir o recurso de isolamento de usuários FTP.
    Screenshot of the I I S Manager screen's My New F T P Site Home section with a focus on the F T P User Isolation option.

  3. Quando a página do recurso Isolamento de usuários FTP for exibida, haverá cinco opções diferentes disponíveis:
    Screenshot of the I I S Manager screen's F T P User Isolation feature page.

  4. Essas cinco opções são definidas como:

    • Não isole os usuários. Iniciar usuários em:

      • Diretório raiz de FTP

        • Esta opção especifica que todas as sessões FTP serão iniciadas no diretório raiz do site FTP.

          Observação

          A opção é nova neste servidor FTP e simplesmente desabilita todo o isolamento de usuários ou a inicialização da lógica da pasta.

      • Diretório de nome de usuário

        • Esta opção especifica que todas as sessões FTP serão iniciadas no diretório físico ou virtual com o mesmo nome do usuário atualmente conectado se a pasta existir. Caso contrário, a sessão FTP será iniciada no diretório raiz do site FTP.

          Observação

          A opção corresponde a não escolher nenhum isolamento de usuários no servidor FTP do IIS 6.0. Para saber como usá-la, confira a seção “Não isolar o modo de usuários” no tópico Como hospedar vários sites FTP com o isolamento de usuários FTP (IIS 6.0).

    • Isole os usuários. Restrinja os usuários ao seguinte diretório:

      • Diretório de nome de usuário (desabilitar diretórios virtuais globais)

        • Esta opção especifica que você deseja isolar as sessões de usuário FTP no diretório físico ou virtual que tem o mesmo nome que a conta do usuário FTP. Somente a localização raiz do FTP é exibida ao usuário e, portanto, não é possível navegar mais acima na árvore de diretórios físicos ou virtuais. Quaisquer diretórios virtuais globais criados serão ignorados.

          Observação

          Esta opção é nova neste servidor FTP.

      • Diretório físico de nome de usuário (habilitar diretórios virtuais globais)

        • Esta opção especifica que você deseja isolar as sessões de usuário FTP no diretório físico que tem o mesmo nome que a conta do usuário FTP. Somente a localização raiz do FTP é exibida ao usuário e, portanto, não é possível navegar mais acima na árvore de diretórios físicos. Quaisquer diretórios virtuais globais criados serão aplicados a todos os usuários.

          Observação

          Esta opção corresponde a escolher o isolamento de usuários no servidor FTP do IIS 6.0.

      • Diretório inicial FTP configurado no Active Directory

        • Esta opção especifica que você deseja isolar as sessões de usuário FTP no diretório inicial definido nas configurações de conta do Active Directory para cada usuário FTP.

          Observação

          Esta opção corresponde a escolher o isolamento de usuários do Active Directory no servidor FTP do IIS 6.0.

Como definir as configurações de isolamento de usuários por diretórios físicos

Ao isolar usuários apenas por diretórios físicos, todas as sessões de usuário FTP ficam restritas ao diretório físico que tem o mesmo nome que a conta do usuário FTP. No entanto, quaisquer diretórios virtuais globais criados serão aplicados a todos os usuários.

  1. No Gerenciador do IIS, clique no nó do site FTP que você criou para exibir os ícones de todos os recursos do FTP.
  2. Clique duas vezes no ícone Isolamento de usuários FTP para abrir o recurso de isolamento de usuários FTP.
    Screenshot of the I I S Manager screen's My New F T P Site Home section with the F T P User Isolation icon being highlighted.
  3. Quando a página do recurso de isolamento de usuários FTP for exibida, selecione a opção Diretório físico de nome de usuário (habilitar diretórios virtuais globais) e clique em Aplicar no painel Ações.
    Screenshot of the I I S Manager screen's F T P User Isolation section with a focus on the Apply option.

Fazer logon no site FTP

Agora você pode fazer logon no site FTP usando o isolamento de usuários, mas as seguintes informações se aplicam:

  1. Se você fizer logon no site FTP anonimamente, a sessão ficará restrita à pasta “LocalUser\Public” que foi criada na seção “Pré-requisitos”.
  2. Se você tentar fazer logon no site FTP usando a conta de administrador, a solicitação de logon será negada porque a conta de administrador não tem um diretório inicial definido. Para permitir que a conta de administrador faça logon, é necessário criar um diretório inicial para ela em %SystemDrive%\inetpub\ftproot\LocalUser\Administrator. Depois disso, se você fez logon no site FTP usando a conta de administrador, a sessão ficará restrita à pasta “LocalUser\Administrator” que você acabou de criar.

Resumo

Recapitule os itens que você concluiu nesta etapa, em que configurou o isolamento de usuários FTP usando a opção Diretório físico de nomes de usuário (habilitar diretórios virtuais globais). Ao usar esse modo de isolamento de usuários, todas as sessões de usuário FTP são restritas ao diretório físico que tem o mesmo nome que a conta do usuário FTP e quaisquer diretórios virtuais globais criados são aplicados a todos os usuários.

Para criar diretórios iniciais para cada usuário, primeiro você precisa criar um diretório físico na pasta raiz do servidor FTP com o nome do domínio ou denominado LocalUser para contas de usuários locais. Em seguida, você precisa criar um diretório físico para cada conta de usuário que acessará o site FTP. A seguinte tabela lista a sintaxe do diretório inicial para os provedores de autenticação fornecidos com o serviço FTP:

Tipos de conta de usuário Sintaxe do diretório inicial físico
Usuários anônimos %FtpRoot%\LocalUser\Public
Contas de usuários locais do Windows (requer autenticação básica) %FtpRoot%\LocalUser\%UserName%
Contas de domínio do Windows (requer autenticação básica) %FtpRoot%\%UserDomain%\%UserName%
Contas de usuário de autenticação personalizada do Gerenciador do IIS ou do ASP.NET %FtpRoot%\LocalUser\%UserName%

Observação

Na tabela acima, %FtpRoot% é o diretório raiz do site FTP, por exemplo, C:\Inetpub\Ftproot.

Observação importante: os diretórios virtuais globais estão habilitados e todos os diretórios virtuais configurados no nível raiz do site FTP podem ser acessados por todos os usuários FTP, desde que eles tenham permissões suficientes.

Definir as configurações de isolamento de usuários para todos os diretórios

Ao isolar usuários de todos os diretórios, todas as sessões de usuário FTP ficam restritas ao diretório físico ou virtual que tem o mesmo nome que a conta do usuário FTP. Além disso, todos os diretórios virtuais globais criados serão ignorados. Nesta etapa, você configurará o isolamento de usuários para todos os diretórios e adicionará um diretório virtual para o usuário administrador.

  1. No Gerenciador do IIS, clique no nó do site FTP que você criou para exibir os ícones de todos os recursos do FTP.

  2. Clique duas vezes no ícone Isolamento de usuários FTP para abrir o recurso de isolamento de usuários FTP.
    Screenshot of the I I S Manager screen's My New F T P Site Home setion with the F T P User Isolation shortcut being highlighted.

  3. Quando a página do recurso Isolamento de usuário FTP for exibida, selecione a opção Diretório de nome de usuário (desativar diretórios virtuais globais) e clique em Aplicar no painel Ações.
    Screenshot of the I I S Manager screen's F T P User Isolation section have the User name directory (disable global virtual directories) option selected.

  4. Expanda o nó da árvore do site FTP, clique com o botão direito do mouse na pasta LocalUser e selecione Adicionar diretório virtual.

    Observação

    Neste exemplo, a pasta “LocalUser” é um diretório físico, mas um diretório virtual também poderia ter sido usado.

    Screenshot of the I I S Manager screen's Connections pane with a focus on the Add Virtual Directory option in the right-click drop-down menu.

  5. Quando a caixa de diálogo Adicionar diretório virtual for exibida, faça o seguinte:

    • Digite “administrador” em Alias.
    • Insira %SystemDrive%\inetpub\adminfiles em Caminho físico.
    • Ao concluir esses itens, clique em OK.
      Screenshot of the Add Virtual Directory dialog box.

Fazer logon no site FTP

Agora você pode fazer logon no site FTP usando o isolamento de usuários, mas as seguintes informações se aplicam:

  1. Assim como na Etapa 3, se você fizer logon anonimamente no site FTP, a sessão ficará restrita à pasta “LocalUser\Public” que você criou na seção “Pré-requisitos”.
  2. Se você fizer logon no site FTP usando a conta de administrador, a sessão ficará restrita ao diretório virtual “/LocalUser/administrator” que você acabou de criar.

Resumo

Recapitule os itens que você concluiu nesta etapa, em que configurou o isolamento de usuários FTP usando a opção Diretório de nomes de usuário (desativar diretórios virtuais globais). Ao usar esse modo de isolamento de usuários, todas as sessões de usuários FTP serão restritas ao diretório virtual ou físico que tem o mesmo nome que a conta do usuário FTP e quaisquer diretórios virtuais globais criados serão ignorados.

Para criar diretórios iniciais para cada usuário, primeiro você precisa criar um diretório virtual ou físico na pasta raiz do servidor FTP com o nome do domínio ou denominado LocalUser para contas de usuários locais. Em seguida, você precisa criar um diretório virtual ou físico para cada conta de usuário que acessará o site FTP. A seguinte tabela lista a sintaxe do diretório inicial para os provedores de autenticação fornecidos com o serviço FTP:

Tipos de conta de usuário Sintaxe do diretório inicial físico
Usuários anônimos %FtpRoot%\LocalUser\Public
Contas de usuários locais do Windows (requer autenticação básica) %FtpRoot%\LocalUser\%UserName%
Contas de domínio do Windows (requer autenticação básica) %FtpRoot%\%UserDomain%\%UserName%
Contas de usuário de autenticação personalizada do Gerenciador do IIS ou do ASP.NET %FtpRoot%\LocalUser\%UserName%

Observação

Na tabela acima, %FtpRoot% é o diretório raiz do site FTP, por exemplo, C:\Inetpub\Ftproot.

Os diretórios virtuais globais são ignorados e todos os diretórios virtuais configurados no nível raiz do site FTP não podem ser acessados por nenhum usuário FTP. Todos os diretórios virtuais devem ser definidos explicitamente no caminho do diretório inicial físico ou virtual de um usuário.