Arquivo de dezembro, 2019

Ao contrário das versões anteriores do IIS a configuração do FTP no IIS7 disponível no Windows Server 2008
tem alguns passos adicionais que se não forem executados fazem com que o FTP não funcione corretamente,
abaixo um passo-a-passo de como fazer a configuração do FTP.

1- Configurar o FTP Firewall Support no IIS

Abra o IIS (Start / Administrative Tools / Internet Information Services (IIS)) e clique em “FTP Firewall Support”

Em “Data Channel Port Range” configurar “0-0”
Em “External IP Address of Firewall” configurar o IP externo do servidor

2- Configurar o Firewall do Windows

É necessário configurar no Firewall do Windows do Servidor restrições para as seguintes as portas: TCP 20, 21 e 49152-65535.

Faça isso no “Windows Firewall with Advanced Security”

3- Liberar porta no Firewall no serviço Cloud

Caso você esteja utilizando um serviço Cloud como o Amazon EC2, pode ser necessário liberar o
acesso para as portas do FTP no console do serviço.

No Amazon EC2, abra o Console do serviço, e verifique na sua instancia qual Security Group está
sendo utilizado, no meu caso, estou utilizando o security group “quick-start-1”:

Selecione o Security Group que está sendo utilizado e adicione restrição para as seguintes portas:

  • TCP 20
  • TCP 21
  • TCP 49152-65535

Uma opção é liberar todo o tráfego TCP para o seu IP:

NOTA: Mantenha a segurança do seu servidor liberando as portas somente para o
IP que você utiliza para conectar (IP do seu computador). Se você usa IP dinâmico, cada vez que o seu
IP sofrer alteração, atualize-o no Security Group. É muito comum pessoas mal intencionadas
utilizarem programas para varrerem lista de IP’s procurando servidores com portas FTP abertas
e depois tentarem quebrar a senha utilizando “força bruta”, ou seja, utilizando um programa
que testa diferentes combinações de senhas possíveis até encontrar a certa.

4- Configurar o FTP

No IIS (Start / Administrative Tools / Internet Information Services (IIS)) clique em “Sites” com o botão direito e escolha a opção “Add FTP Site”.

Informe a pasta que você deseja que seja visível no FTP:

Em IP Address mantenha a opção “All Unassigned” selecionada para que esse FTP receba requisição de qualquer IP ou domínio e confirme.

Atenção! Nesse esquema de configuração será configurado somente um FTP para esse servidor. Se você quiser configurar nesse servidor dois domínios para o FTP como: ftp.dominio1.com.br e ftp.dominio2.com.br você precisará fazer configurações adicionais, em testes que realizei no IIS do Windows 2008 esse tipo de configuração não funcionou.

Na próxima tela, desmarque a opção “Anonymous”, marque a opção “Basic” e mantenha a opção “Not Selected” selecionada em Authorization.

5- Configurar o usuário do FTP

Abra o Computer Management (Start / Administrative Tools / Computer Management) clique em
“Local Users and Groups” e depois em “Users”. Clique com o botão direito do mouse na área que exibe os usuários
e escolha a opção “New User”.

Informe o nome de usuário e senha que será utilizado para acessar o FTP e confirme a criação.

6- Permissão de acesso na pasta

Utilizando o Windows Explorer, navegue até a pasta que você configurou no FTP, clique com o botão direito do mouse sobre ela e escolha a opção “Properties”

Adicione permissão para o usuário nessa pasta:

Marque as permissões de leitura e escrita nessa pasta:

7- Permissão de acesso para o usuário no FTP

No IIS (Start / Administrative Tools / Internet Information Services (IIS)),
selecione o FTP criado e abra a opção “FTP Authorization Rules”.

Utilize a opção “Add Allow Rule” para adicionar o usuário. Selecione a opção “Specified users” e informe o nome do usuário criado. Em Permissions marque as opções “Read” e “Write” e confirme.

8- Configuração do domínio

A configuração do FTP está finalizada. Você pode conectar no FTP utilizando o IP do servidor e o
usuário e senha criados, ou então, configurar um subdomínio para o seu ftp, por exemplo,
ftp.seudominio.com.br. Para isso, acesse as configurações de DNS do seu domínio
(se for um dominio do Brasil como .com.br, você pode fazer essa configuração diretamente no registro.br)
e configure uma entrada CNAME com o nome “ftp.seudominio.com.br” e apontando para “seudominio.com.br”.
Assim, toda requisição para o subdomínio “ftp.seudominio.com.br” será redirecionada para o mesmo
IP de servidor configurado para “seudominio.com.br”. Esse servidor possuindo as configurações de FTP que
estamos executando receberá as conexões FTP.

9- Teste de acesso

Abra o seu cliente de FTP, se não tiver um, utilize o FileZilla http:/filezilla-project.org/download.php, informe o IP ou nome do domínio, usuário e senha e conecte no servidor.

10- Resolução de problemas de conexão

Problema: A conexão excedeu limite de tempo

Estado:	A resolver o endereço de ftp.seudominio.com.br
Estado:	Conectando 100.245.251.010:21...
Erro:	A conexão excedeu limite de tempo
Erro:	Não foi possível conectar ao servidor

Tente o seguinte:

  • Verifique se o acesso ao servidor está liberado (Firewall do Windows, Permissões de acesso da hospedagem ou serviço Cloud).

  • Verifique se acessando o FTP diretamente pelo próprio servidor funciona.
    Você pode tentar fazer um teste de acesso na porta 21 usando o Telnet:

      telnet 100.245.251.010 21
    
  • Veja esse post: Como utilizar o telnet

  • Tente desabilitar o Firewall do Windows
    Para liberar todo o tráfego TCP no Firewall do Windows abra um prompt de comando e execute os seguintes comandos:

      netsh advfirewall firewall add rule name="Acesso Total TCP" service=ftpsvc action=allow protocol=TCP dir=in
      netsh advfirewall firewall add rule name="Acesso Total TCP" service=ftpsvc action=allow protocol=TCP dir=in
      netsh advfirewall set global StatefulFtp disable
    
  • E o mais importante: TENTE REINICIAR O SERVIDOR !

Problema: 530 User cannot log in, home directory inaccessible

Estado:	A resolver o endereço de ftp.educoutinho.com.br
Estado:	Conectando 100.20.167.010:21...
Estado:	Conexão estabelecida, esperando mensagem de boas-vindas...
Resposta:	220 Microsoft FTP Service
Comando:	USER ftp_user
Resposta:	331 Password required for ftp_user.
Comando:	PASS ********
Resposta:	530 User cannot log in, home directory inaccessible.
Erro:	Erro crítico
Erro:	Não foi possível conectar ao servidor

Tente o seguinte:

  • Verifique se você adicionou a permissão de acesso na pasta (via Windows Explorer)
  • Verifique se você configurou o acesso para esse usuário no FTP utilizando a opção “FTP Authorization Rules”.

Problema: Falha na obtenção da lista de pastas

Estado:	A resolver o endereço de ftp.educoutinho.com.br
Estado:	Conectando 100.20.167.010:21...
Estado:	Conexão estabelecida, esperando mensagem de boas-vindas...
Resposta:	220 Microsoft FTP Service
Comando:	USER ftp_user
Resposta:	331 Password required for ftp_user.
Comando:	PASS ********
Resposta:	230 User logged in.
Comando:	OPTS UTF8 ON
Resposta:	200 OPTS UTF8 command successful - UTF8 encoding now ON.
Estado:	Conectado
Estado:	Obtendo lista de pastas...
Comando:	PWD
Resposta:	257 "/" is current directory.
Comando:	TYPE I
Resposta:	200 Type set to I.
Comando:	PASV
Erro:	Desconectado do servidor: ECONNABORTED - Connection aborted
Erro:	Falha na obtenção da lista de pastas

Tente o seguinte:

  • Verifique se você configurou corretamente o “FTP Firewall Support” com o IP externo.

Problema: Outro erro de conexão

Se você tiver algum erro de conexão, o Firewall do seu windows pode estar bloqueando o acesso.

Tente o seguinte:

  • Abra o Firewall do Windows: Control Panel / System and Security / Windows Firewall.
  • Vá na opção: “Turn Windows Firewall on or off” e marque Off para todas as opções do Firewall
  • Faça um novo teste de conexão

FONTE: https://educoutinho.com.br/iis/como-configurar-o-ftp-no-iis-7-windows-server-2012/