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 openssl

3 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/private

Depois, 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.pem

Nome 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/ftproot

Em seguida, adicione o usuário com o comando:

adduser --home /var/ftproot/till till

O 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] <-- Y

Adicionamos 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:

Gerenciador de servidores do Filezilla.

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.

Detalhes de login do servidor Filezilla.

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

aceitar o certificado ssl.

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

login do vsftpd bem-sucedido.

7 Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.