Servidor FTP · 5 min read · Dec 18, 2025
Como instalar e configurar o vsftpd com TLS no Debian 8 (Jessie)
Este artigo explica como configurar um servidor vsftpd habilitado para TLS em um servidor Debian 8 e como acessar o servidor FTP com o FileZilla. O FTP é um protocolo muito inseguro por padrão, pois todas as senhas e todos os dados são transferidos em texto claro. Ao usar TLS, toda a comunicação pode ser criptografada, tornando o FTP muito mais seguro.
1 Nota Preliminar
Neste tutorial, usarei o nome do host server1.example.com com o endereço IP 192.168.1.100. Essas configurações podem diferir para você, então você deve substituí-las onde apropriado. Eu uso a configuração mínima do servidor Debian 8 como base para este tutorial.
2 Instalando vsftpd e OpenSSL
OpenSSL é necessário para o TLS; para instalar o vsftpd e o OpenSSL, simplesmente execute:
apt-get -y install vsftpd openssl3 Criando o Certificado SSL para TLS
Para usar o TLS, devemos criar um certificado SSL. Eu o crio em /etc/ssl/private - se o diretório não existir, crie-o agora:
mkdir -p /etc/ssl/private
chmod 700 /etc/ssl/privateDepois, podemos gerar o certificado SSL da seguinte forma:
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pemNome do País (código de 2 letras) [AU]: <– Insira o Nome do seu País (por exemplo, “BR”).
Nome do Estado ou Província (nome completo) [Some-State]: <– Insira o Nome do seu Estado ou Província.
Nome da Localidade (por exemplo, cidade) []: <– Insira sua Cidade.
Nome da Organização (por exemplo, empresa) [Internet Widgits Pty Ltd]: <– Insira o Nome da sua Organização (por exemplo, o nome da sua empresa).
Nome da Unidade Organizacional (por exemplo, seção) []: <– Insira o Nome da sua Unidade Organizacional (por exemplo, “Departamento de TI”).
Nome Comum (por exemplo, SEU nome) []: <– Insira o Nome de Domínio Qualificado do sistema (por exemplo, “server1.example.com”).
Endereço de E-mail []: <– Insira seu Endereço de E-mail.
4 Habilitando TLS no vsftpd
Para habilitar o TLS no vsftpd, abra /etc/vsftpd.conf…
nano /etc/vsftpd.conf… e adicione ou altere as seguintes opções:
[...]
# Ativar SSL
ssl_enable=YES
# Permitir que usuários anônimos usem conexões SSL seguras
allow_anon_ssl=YES
# Todos os logins não anônimos são forçados a usar uma conexão SSL segura para
# enviar e receber dados nas conexões de dados.
force_local_data_ssl=YES
# Todos os logins não anônimos são forçados a usar uma conexão SSL segura para enviar a senha.
force_local_logins_ssl=YES
# Permitir conexões do protocolo TLS v1. Conexões TLS v1 são preferidas
ssl_tlsv1=YES
# Permitir conexões do protocolo SSL v2. Conexões TLS v1 são preferidas
ssl_sslv2=NO
# permitir conexões do protocolo SSL v3. Conexões TLS v1 são preferidas
ssl_sslv3=NO
# Desabilitar reutilização de sessão SSL (requerido pelo WinSCP)
require_ssl_reuse=NO
# Selecionar quais cifras SSL o vsftpd permitirá para conexões SSL criptografadas (requerido pelo FileZilla)
ssl_ciphers=HIGH
# Esta opção especifica a localização do certificado RSA a ser usado para conexões SSL
# criptografadas.
rsa_cert_file=/etc/ssl/private/vsftpd.pem
[...] Se você usar force_local_logins_ssl=YES e force_local_data_ssl=YES, então apenas conexões TLS são permitidas (isso bloqueia qualquer usuário com clientes FTP antigos que não têm suporte a TLS); ao usar force_local_logins_ssl=NO e force_local_data_ssl=NO, tanto conexões TLS quanto não-TLS são permitidas, dependendo do que o cliente FTP suporta.
Além das opções de TLS, certifique-se de que você também tenha as seguintes configurações em seu vsftpd.conf para habilitar logins não anônimos:
[...]
# Descomente isso para permitir que usuários locais façam login.
local_enable=YES
#
# Descomente isso para habilitar qualquer forma de comando de escrita FTP.
write_enable=YES
#
# O umask padrão para usuários locais é 077. Você pode querer mudar isso para 022,
# se seus usuários esperarem isso (022 é usado pela maioria dos outros ftpd's)
local_umask=022
[...] Reinicie o vsftpd depois:
service vsftpd restartÉ isso. Agora você pode tentar se conectar usando seu cliente FTP; no entanto, você deve configurar seu cliente FTP para usar TLS (isso é obrigatório se você usar force_local_logins_ssl=YES e force_local_data_ssl=YES) - veja o próximo capítulo como fazer isso com o FileZilla.
5 Adicionando usuário ao vsftpd
Neste passo, adicionaremos um usuário local do Linux que podemos usar para conectar. Eu criarei um usuário “till” com a senha “howtoforge”. Todos os usuários FTP devem ter seus diretórios pessoais em mkdir /var/ftproot, então criarei este diretório primeiro.
mkdir /var/ftprootEm seguida, adicione o usuário com o comando:
adduser --home /var/ftproot/till tillO comando adduser pedirá a senha do usuário e alguns outros detalhes
root@server1:/# adduser --home /var/ftproot/till till
Adicionando usuário `till' ...
Adicionando novo grupo `till' (1001) ...
Adicionando novo usuário `till' (1001) com grupo `till' ...
Criando diretório pessoal `/var/ftproot/till' ...
Copiando arquivos de `/etc/skel' ...
Digite a nova senha UNIX: <-- Insira a nova senha aqui
Digite novamente a nova senha UNIX: <-- Insira a nova senha aqui
passwd: senha atualizada com sucesso
Alterando as informações do usuário para till
Digite o novo valor ou pressione ENTER para o padrão
Nome Completo []: <-- Insira seu nome aqui ou pressione enter para pular
Número da Sala []: <-- Insira o número da sala aqui ou pressione enter para pular
Telefone do Trabalho []: <-- Insira o telefone do trabalho aqui ou pressione enter para pular
Telefone Residencial []: <-- Insira o telefone residencial aqui ou pressione enter para pular
Outros []: <-- Insira outros detalhes do usuário aqui ou pressione enter para pular
As informações estão corretas? [Y/n] <-- YAdicionamos com sucesso um usuário FTP.
6 Configurando o FileZilla para TLS
Para usar FTP com TLS, você precisa de um cliente FTP que suporte TLS, como o FileZilla.
No FileZilla, abra o Gerenciador de Servidores:

Insira o endereço IP ou nome do host do servidor FTP no campo do servidor, selecione o protocolo “FTP” e “Requerer FTP Explícito sobre TLS”, e insira o nome de usuário no campo do usuário.

Agora você pode se conectar ao servidor. Se você fizer isso pela primeira vez, deve aceitar o novo certificado SSL do servidor:

Se tudo correr bem, você deve estar logado no servidor:

7 Links
- vsftpd: https://security.appspot.com/vsftpd.html
- FileZilla: http://filezilla-project.org/
- Debian: http://www.debian.org/
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.