Como instalar e configurar o servidor de FTP no Ubuntu

Neste tutorial, vamos mostrar como instalar, configurar e proteger um servidor FTP (VSFTPD em completo “Very Secure FTP Daemon“) no Ubuntu para ter uma poderosa segurança contra vulnerabilidades no FTP.

 

FTP é um protocolo de rede padrão relativamente antigo e mais usado usado para fazer o upload ou download de arquivos entre dois computadores em uma rede. No entanto, o FTP por ser naturalmente inseguro, pois ele transmite dados juntamente com credenciais de usuário (nome de usuário e senha) sem criptografia.

Se você planeja usar FTP, considere a possibilidade de configurar a conexão com SSL/TLS. Caso contrário, é sempre melhor usar FTP seguro, como SFTP.

Etapa 1: Instalando o Servidor VsFTP no Ubuntu

1. Primeiro, precisamos atualizar a lista de fontes do pacotes do sistema e, em seguida, instalar o pacote binário VSFTPD da seguinte maneira:

2. Uma vez concluída a instalação, o serviço estará desativado inicialmente. Portanto, precisamos iniciá-lo manualmente pelo tempo médio e também ativá-lo para iniciar automaticamente a partir do próximo boot do sistema.
No Systemd:

 

No SysVInit:

3. Em seguida, se você tiver o firewall UFW ativado (não ativado por padrão) no servidor, você deve abrir as portas 21 e 20 onde os daemons de FTP estão ouvindo, para permitir o acesso a serviços FTP de máquinas remotas e, em seguida, adicionar As novas regras de firewall da seguinte forma:

 

 

Etapa 2: Configurando e protegendo o servidor VsFTP no Ubuntu

4. Vamos agora executar algumas configurações para configurar e proteger nosso servidor FTP, primeiro vamos criar um backup do arquivo de configuração original /etc/vsftpd/vsftpd.conf assim:

 

 

Em seguida, vamos abrir o arquivo de configuração vsftpd.

 

 

Ou

 

Adicione / modifique as seguintes opções com estes valores:

 

5. Agora, configure VSFTPD para permitir/negar o acesso FTP aos usuários com base no arquivo de lista de usuários /etc/vsftpd.userlist.
Observe que, por padrão, os usuários listados em userlist_file=/etc/vsftpd.userlist têm acesso de login negado userlist_deny=YES altere para userlist_enable=YES.

 

Mas, a opção userlist_deny=NO torce o significado da configuração padrão, de modo que somente usuários cujo nome de usuário esteja explicitamente listado em userlist_file=/etc/vsftpd.userlist terão permissão para fazer login no servidor FTP.

Quando os usuários efetuam login no servidor FTP, eles são colocados em um cárcere chrootado (diretório de processo corrente), este é o diretório raiz local que atuará como seu diretório home para a sessão FTP somente.
Em seguida, examinaremos dois possíveis cenários de como configurar o diretório chrooted jail (local root), conforme explicado abaixo.
6. Neste ponto, vamos adicionar / modificar / descomentar essas duas opções a seguir para restringir os usuários FTP para seus diretórios Home.

A opção chroot_local_user=YES significa que os usuários locais serão colocados em um chroot jail, seu diretório base por padrão após o login.
E devemos também entender que VSFTPD não permite que o diretório chroot jail seja gravável, por padrão, por motivos de segurança, no entanto, podemos usar a opção allow_writeable_chroot = YES para desabilitar esta configuração.
Salve o arquivo e feche-o. Em seguida, temos de reiniciar VSFTPD serviços para as alterações acima para ter efeito.

No Systemd:

No SysVInit:

Etapa 3: Testando o Servidor VsFTP no Ubuntu

7. Agora vamos testar o servidor FTP criando um usuário FTP com comando useradd da seguinte maneira:

Então, temos que listar explicitamente o usuário gabriel no arquivo /etc/vsftpd.userlist com o comando echo e o comando tee como abaixo:

 

8. Agora é hora de testar nossas configurações acima estão funcionando conforme necessário. Começaremos testando logins anônimos. Podemos ver claramente a partir da saída abaixo que logons anônimos não são permitidos no servidor FTP:

 


 

9. Em seguida, vamos testar se um usuário não listado no arquivo /etc/vsftpd.userlist receberá permissão para login, o que não é verdade da saída a seguir:

 

10. Agora vamos realizar um teste final para determinar se um usuário listado no arquivo /etc/vsftpd.userlist, é realmente colocado em seu diretório pessoal após o login. E isso é verdade a partir da saída abaixo:

 

Devemos notar que essas implicações de segurança não são específicas para VSFTPD, eles também podem afetar todos os outros daemons FTP que oferecem para colocar os usuários locais em cadeias chroot.
Por esse motivo, na seção abaixo, explicaremos um método mais seguro de definir um diretório raiz local não-gravável diferente para um usuário.

Etapa 4: Configurar FTP Diretórios de Usuários no Ubuntu

11. Agora, abra o arquivo de configuração VSFTPD mais uma vez.

 

OU

 

 

E comente a opção não segura usando o caractere # como mostrado abaixo:

Em seguida, crie o diretório raiz local alternativo para o usuário (gabriel, o seu possivelmente não é o mesmo) e defina as permissões necessárias desativando permissões de gravação para todos os outros usuários para este diretório:

12. Em seguida, crie um diretório sob a raiz local com as permissões apropriadas onde o usuário irá armazenar seus arquivos:

Depois, adicione / modifique as opções abaixo no arquivo de configuração VSFTPD com seus valores correspondentes:

 

 

Salve o arquivo e feche-o. E reinicie os serviços VSFTPD com as configurações recentes.

 

No Systemd:

 

No SysVInit:

13. Agora, vamos executar uma verificação final e certificar-se de que o diretório raiz local do usuário é o diretório FTP que criamos em seu diretório pessoal.

Agora servidor instalado, configurado e pronto.

 

Fonte

Sobre Wesley Menezes 15 artigos
Engenheiro de T.I Formado em Engenharia de Software, Mecatrônica e Ciência da Computação.

Seja o primeiro a comentar

Deixe uma resposta

O seu endereço de email não será publicado.


*