Servidor FTP · 7 min read · Dec 22, 2025
Como Instalar um Servidor FTP Seguro com vsftpd no Debian 12

vSFTPd ou Very Secure FTP Daemon é um software de servidor FTP gratuito e de código aberto. É um daemon FTP para sistemas operacionais semelhantes ao Unix e é licenciado sob a Licença Pública Geral GNU. vSFTPd é um dos daemons FTP mais amplamente utilizados, é rápido e leve em termos de recursos do sistema, seguro devido à integração com PAM e SSL, e estável. vSFTPd conquistou a confiança de grandes empresas como RedHat, SUSE, Debian, Gnome, KDE, etc. devido à sua sofisticação.
vSFTPd pode rodar com IPv6 e suporta configurações e usuários de IP virtuais. Pode ser executado como um daemon autônomo ou via inetd. Para gerenciamento de usuários, vSFTPd fornece um recurso que permite que os usuários definam sua própria configuração, como restrições por IP de origem, reconfigurabilidade e limitação de largura de banda. Além disso, vSFTPd suporta um módulo de autenticação plug-in (PAM) para usuários virtuais e também fornece integração de segurança com SSL/TLS.
Neste tutorial, você aprenderá como configurar e criar um servidor FTP seguro com vsftpd em um servidor Debian 12. Neste guia, você também aprenderá como proteger a instalação do seu servidor FTP via UFW (Firewall Descomplicado) e como se conectar ao servidor FTP usando o cliente FTP FileZilla.
Pré-requisitos
Antes de prosseguir, certifique-se de ter o seguinte:
- Um servidor Debian 12.
- Um usuário não-root com privilégios de administrador sudo.
- O pacote openssl está instalado em seu servidor.
Instalando vsftpd
O vsftpd é uma implementação do protocolo FTP para sistemas operacionais UNIX e Linux. O pacote vsftpd está disponível na maioria das distribuições Linux, incluindo Debian. Agora você instalará o vsftpd via APT e verificará o serviço vsftpd para garantir que o serviço esteja em execução.
Antes de instalar o pacote vsftpd, execute o seguinte comando para atualizar seu repositório Debian.
sudo apt update
Agora instale o pacote vsftpd usando o comando apt install abaixo.
sudo apt install vsftpdConfirme a instalação digitando y e pressione ENTER.

Após a instalação do vsftpd, o serviço vsftpd será iniciado automaticamente e habilitado. Verifique o serviço vsftpd usando o seguinte comando.
sudo systemctl is-enabled vsftpd
sudo systemctl status vsftpdA saída a seguir confirma que o serviço vsftpd está em execução e habilitado. Além disso, o serviço vsftpd será executado automaticamente na inicialização do sistema.

Configurando vsftpd
Na próxima etapa, você configurará e criará um servidor FTP seguro com vsftpd. Você gerará certificados SSL/TLS e modificará a configuração padrão do vsftpd /etc/vsftpd.conf.
Primeiro, execute o comando openssl abaixo para gerar novos certificados TLS que serão usados para a instalação do seu servidor vsftpd.
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pemInsira suas informações quando solicitado. Após o término do processo, seus certificados TLS estarão disponíveis em /etc/ssl/private/vsftpd.pem.

Agora execute o comando abaixo para criar um novo arquivo /etc/vsftpd.userlist para armazenar usuários FTP.
touch /etc/vsftpd.userlistDepois disso, execute o seguinte comando para fazer backup da configuração do vsftpd. Em seguida, abra a configuração do vsftpd /etc/vsftpd.conf usando o editor nano.
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
sudo nano /etc/vsftpd.confDesative o acesso anônimo ao seu servidor vsftpd alterando a opção anonymous_enable para NO.
anonymous_enable=NOPermita que usuários locais dentro do arquivo /etc/passwd e usuários PAM façam login no servidor vsftpd alterando a opção local_enable para YES.
local_enable=YESPermita que usuários FTP enviem arquivos para o servidor vsftpd alterando a opção write_enable para YES.
write_enable=YESAgora habilite chroot ou prisão para usuários FTP adicionando as seguintes opções. Isso bloqueará o usuário FTP no diretório /home/$USER/chroot. Por exemplo, o usuário FTP bob será bloqueado dentro do diretório /home/bob/chroot.
chroot_local_user=YES
user_sub_token=$USER
local_root=/home/$USER/chrootEm seguida, adicione a seguinte configuração para configurar usuários virtuais do vsftpd. Qualquer usuário dentro do arquivo /etc/vsftpd.userlist será permitido fazer login no servidor vsftpd.
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NOAdicione as seguintes linhas para proteger seu servidor vsftpd com certificados SSL/TLS. Isso forçará o login do usuário e a conexão de transferência de dados a usar conexões seguras.
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
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=HIGHAgora adicione a configuração abaixo para configurar as conexões em modo passivo usando portas entre 20000 e 25000.
pasv_min_port=20000
pasv_max_port=25000Salve e saia do arquivo quando terminar.
Agora execute o seguinte comando systemctl para reiniciar o serviço vsftpd e aplicar as alterações que você fez.
sudo systemctl restart vsftpdCom isso, seu servidor vsftpd agora está em execução com novas configurações.
Configurando o Firewall
Na próxima etapa, você instalará o UFW (Firewall Descomplicado) em seu servidor Debian e protegerá a instalação do seu servidor FTP com ele. Você instalará o UFW via APT, abrirá a porta do servidor FTP 20:21/tcp e a porta de conexão de dados em modo passivo 20000:25000/tcp.
Instale o UFW usando o seguinte comando apt. Digite y para prosseguir com a instalação.
sudo apt install ufw
Após a instalação do UFW, execute os comandos ufw abaixo para abrir a porta para o serviço OpenSSH, as portas do servidor vsftpd 20:21, e a conexão FTP em modo passivo entre as portas 20000 a 25000.
sudo ufw allow OpenSSH
sudo ufw allow 20:21/tcp
sudo ufw allow 20000:25000/tcpEm seguida, execute o comando ufw abaixo para iniciar e habilitar o UFW.
sudo ufw enableDigite para confirmação e o UFW deve estar em execução e habilitado em seu sistema Debian.

Verifique o status detalhado do UFW usando o comando abaixo.
sudo ufw statusA saída ativa confirma que o UFW está em execução e habilitado. Além disso, o serviço OpenSSH foi adicionado, e algumas portas para o servidor vsftpd 20:21/tcp e 20000:25000/tcp foram adicionadas.

Configurando Usuários Virtuais FTP
Neste ponto, você terminou a configuração do seu servidor vsftpd, agora você criará um novo usuário FTP que será usado para fazer login no servidor FTP e enviar arquivos para ele.
Execute o seguinte comando para criar um novo arquivo /bin/ftponly. Em seguida, torne-o executável via o comando chmod abaixo. O arquivo /bin/ftponly será usado como um shell padrão para usuários FTP.
echo -e '#!/bin/sh
echo "Shell para usuários FTP apenas."' | sudo tee -a /bin/ftponly
sudo chmod a+x /bin/ftponlyAdicione o arquivo /bin/ftponly a /etc/shells para garantir que seja um shell válido.
sudo echo "/bin/ftponly" >> /etc/shellsAgora crie um novo usuário FTP bob e configure a senha executando o comando abaixo. Insira sua senha e repita.
sudo useradd -m -s /bin/ftponly bob
sudo passwd bobDepois disso, execute o seguinte comando para criar um novo diretório chroot /home/bob/chroot para o usuário bob. Além disso, você garantirá que o diretório chroot /home/bob/chroot tenha a propriedade adequada.
sudo -u bob mkdir -p /home/bob/chroot
sudo chown -R bob: /home/bob/chrootEm seguida, execute o comando abaixo para criar outros novos diretórios data e upload que serão usados para armazenar dados do usuário FTP. Certifique-se de configurar a propriedade adequada para esses diretórios.
sudo -u bob mkdir -p /home/bob/chroot/{data,upload}
sudo chown -R bob: /home/bob/chroot/{data,upload}Agora execute o comando abaixo para alterar a permissão do diretório /home/bob/chroot para 550 e ambos os diretórios data e upload para 750.
sudo chmod 550 /home/bob/chroot
sudo chmod 750 /home/bob/chroot/{data,upload}Agora que você criou um novo usuário, execute o comando abaixo para adicionar o usuário bob ao arquivo /etc/vsftpd.userlist.
echo "bob" >> /etc/vsftpd.userlistPor fim, execute o seguinte comando para reiniciar o serviço vsftpd e aplicar as alterações. Após executar o comando, seu usuário FTP bob está pronto.
sudo systemctl restart vsftpdEnviando Arquivos para o Servidor FTP
Para verificar sua instalação do servidor vsftpd, você se conectará ao servidor FTP com o novo usuário que você criou via software cliente FTP. Em seguida, você também enviará novos arquivos para garantir que sua instalação seja bem-sucedida.
Baixe e instale o cliente FTP para sua máquina local. Você pode usar o FileZilla, que pode ser instalado no Windows, Linux e MacOS. Assim que o FileZilla estiver instalado, abra-o para se conectar ao seu servidor FTP seguro.
Insira o endereço IP do seu servidor FTP, e o nome de usuário e senha do seu usuário FTP. Em seguida, clique em Conexão Rápida para confirmar.
Selecione a opção Sempre confiar neste certificado em futuras sessões e clique em OK para confirmar.

Uma vez conectado ao seu servidor FTP, você deve ver dois diretórios de dados e upload disponíveis em seu servidor FTP. Você pode enviar arquivos para ambos os diretórios de dados e upload, mas não pode enviar arquivos fora desses diretórios protegidos via chroot.

Você pode arrastar e soltar seus arquivos para enviar ao servidor FTP.

Conclusão
Para concluir, você criou com sucesso um servidor FTP seguro com vsftpd no servidor Debian 12. Você também protegeu a instalação do seu servidor FTP via UFW (Firewall Descomplicado) e aprendeu como criar usuários FTP. Agora você pode usar o servidor FTP como a principal transferência de dados entre sua máquina local e seu servidor. Você também pode encontrar outro software cliente FTP de acordo com suas preferências.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.