Servidor FTP · 4 min read · Sep 23, 2025

Como Instalar o Servidor FTP vsftpd e Protegê-lo com TLS no Debian 11

O Protocolo de Transferência de Arquivos ou FTP é um protocolo de rede muito antigo e um dos mais conhecidos. Não é seguro em comparação com SFTP ou SCP nos dias de hoje, mas ainda é a primeira escolha de muitos usuários para transferir arquivos entre um servidor e um cliente. O FTP é conhecido como inseguro porque transfere dados junto com credenciais de usuário sem nenhum tipo de criptografia.

Temos uma ampla gama de servidores FTP de código aberto disponíveis atualmente, como FTPD, VSFTPD, PROFTPD e pureftpd. Entre todos eles, o VSFTPD é um protocolo muito seguro, rápido e amplamente utilizado para transferir arquivos entre dois sistemas.

O VSFTPD também é conhecido como “Very Secure File Transfer Protocol Daemon” com suporte a SSL, IPv6, FTPS explícito e implícito.

Neste guia, mostraremos como instalar o servidor FTP vsftpd no Debian 11.

Pré-requisitos

Um servidor executando Debian 11. Um usuário não-root com privilégios sudo.

1. Instalar Vsftpd

Antes de começar a instalação, atualize seu servidor Debian 11 executando o seguinte comando no terminal:

sudo apt update -y  
sudo apt upgrade -y

O Debian tem um repositório muito grande e o pacote vsftpd está disponível no repositório oficial, então você pode instalar facilmente o vsftpd executando o seguinte comando:

sudo apt install vsftpd -y

Após a instalação do pacote, inicie o serviço Vsftpd, verifique o status do serviço e habilite o serviço na inicialização.

sudo systemctl start vsftpd  

sudo systemctl status vsftpd  

systemctl enable vsftpd.service

2. Criar um usuário FTP e configurar para login FTP

Agora, crie uma nova conta de usuário para FTP, usando este usuário faremos login no servidor FTP mais tarde.

sudo adduser sohan

Os usuários adicionados no arquivo vsftpd.userlist têm permissão para acessar o servidor FTP.

Em seguida, precisamos adicionar o usuário sohan na lista de usuários do vsftpd. Abra o arquivo e adicione um usuário executando o seguinte comando:

echo "sohan" | sudo tee -a  /etc/vsftpd.userlist

3. Criar diretório do usuário FTP

Em seguida, precisamos criar um diretório FTP para nosso usuário FTP e definir a propriedade com o seguinte comando:

sudo mkdir -p /home/sohan/ftp_directory  
  
sudo chown nobody:nogroup /home/sohan/ftp_directory  
  
sudo chmod a-w /home/sohan/ftp_directory

Agora, crie um diretório onde os arquivos podem ser enviados e dê a propriedade ao usuário sohan executando o comando:

sudo mkdir -p /home/sohan/ftp_directory/ftp_data
sudo chown sohan:sohan /home/sohan/ftp_directory/ftp_data
cd /home/sohan/ftp_directory/
chmod -R 777 ftp_data

4. Configurar Vsftpd

Em seguida, você precisa alterar alguns parâmetros padrão para configurar um servidor FTP.

Primeiro, crie uma cópia de backup do arquivo de configuração original do vsftpd.

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

No servidor FTP, os usuários anônimos têm acesso concedido por padrão. Para tornar o servidor FTP mais seguro, desabilitaremos o login de usuários anônimos e concederemos acesso apenas ao usuário específico.

Em seguida, abra o arquivo vsftpd.conf e faça as alterações conforme abaixo:

vim /etc/vsftpd.conf
anonymous_enable=NO  
  
local_enable=YES

Existem algumas outras alterações que precisamos fazer na configuração. Primeiro, abra vsftpd.conf

sudo vim /etc/vsftpd.conf

Em seguida, certifique-se de que o vsftpd.conf contenha as seguintes linhas:

listen=NO  
listen_ipv6=YES  
anonymous_enable=NO  
write_enable=YES  
local_umask=022  
dirmessage_enable=YES  
use_localtime=YES  
xferlog_enable=YES  
connect_from_port_20=YES  
chroot_local_user=YES  
secure_chroot_dir=/var/run/vsftpd/empty  
pam_service_name=vsftpd  
user_sub_token=$USER  
local_root=/home/$USER/ftp_directory  
userlist_enable=YES  
userlist_file=/etc/vsftpd.userlist  
userlist_deny=NO

Salve e feche o arquivo. Você pode alterar a configuração acima de acordo com suas necessidades.

Agora reinicie o serviço vsftpd e verifique o status do serviço executando os seguintes comandos:

sudo systemctl restart vsftpd

Em seguida, certifique-se de que o serviço vsftpd está em seu status de execução executando o seguinte comando no terminal:

sudo systemctl status vsftpd

5. Permitir vsftpd no firewall e acessar o servidor vsftpd

Em seguida, se você estiver usando um firewall, permita a porta 21 e a porta 22 executando o seguinte comando:

sudo ufw allow 21/tcp  
  
sudo ufw allow 22/tcp

Em seguida, recarregue o firewall para aplicar as alterações:

sudo ufw reload

Em seguida, abra qualquer cliente FTP como FileZilla e insira os detalhes do seu servidor, como Protocolo, Host, Usuário:

Configurar o Firewall
Agora, clique em conectar, em seguida, insira sua senha:

Digite a senha

Em seguida, ele mostrará detalhes como abaixo, clique em OK.

Aceitar novo host

Neste ponto, você está conectado ao servidor FTP e pode enviar e baixar arquivos/pastas.

Conexão do servidor FTP foi bem-sucedida

6. Proteger Vsftpd usando SSL/TLS

Vamos supor que você queira transferir dados criptografados via FTP, para fazer isso você precisa criar um certificado SSL e habilitar a conexão SSL/TLS.

Você pode criar um certificado usando OpenSSL com o seguinte comando:

sudo mkdir /etc/cert  
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/cert/vsftpd.pem -out /etc/cert/vsftpd.pem

Agora, você precisará editar o arquivo vsftpd.conf e fazer algumas alterações:

sudo vim /etc/vsftpd.conf

Adicione as seguintes linhas no final:

rsa_cert_file=/etc/cert/vsftpd.pem  
rsa_private_key_file=/etc/cert/vsftpd.pem  
ssl_enable=YES  
allow_anon_ssl=NO  
force_local_data_ssl=YES  
force_local_logins_ssl=YES  
ssl_tlsv1=YES  
ssl_sslv2=NO  
ssl_sslv3=NO  
require_ssl_reuse=NO  
ssl_ciphers=HIGH

Salve e saia do arquivo, em seguida, reinicie o Vsftpd usando o seguinte comando:

sudo systemctl restart vsftpd

7. Acessar FTP sobre SSL/TLS

Abra o cliente FTP FileZilla e vá para Arquivo>Gerenciador de Sites. Aqui, clique em adicionar Novo site e insira o nome do host/site, adicione o endereço IP, defina o protocolo a ser usado, Criptografia: Exigir FTP explícito sobre TLS e tipo de login. Em seguida, clique no botão Conectar. Você deve ver a seguinte imagem:

Acessar FTP sobre SSL/TLS

Em seguida, insira sua senha:

Digite a senha
Em seguida, você verá o certificado SSL, verifique os detalhes do certificado e clique em OK.

Aceitar certificado SSL
Por fim, você verá o conteúdo do seu servidor FTP e poderá transferir seus dados de forma segura de um sistema para outro.

Conexão do servidor FTP bem-sucedida

Conclusão

No guia acima, instalamos o servidor VSFTPD no Debian 11. Também aprendemos como conectar via conexão não criptografada e via conexão criptografada usando um certificado SSL.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.