Servidor FTP · 3 min read · Dec 23, 2025

Configurando vsftpd + TLS No Debian Squeeze

Configurando vsftpd + TLS No Debian Squeeze

Versão 1.0
Autor: Falko Timme
Siga-me no Twitter

FTP é um protocolo muito inseguro porque 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. Este artigo explica como configurar o vsftpd com TLS em um servidor Debian Squeeze.

Não dou nenhuma garantia de que isso funcionará para você!

1 Nota Preliminar

Neste tutorial, uso o nome do host server1.example.com com o endereço IP 192.168.0.100. Essas configurações podem diferir para você, então você deve substituí-las onde apropriado.

2 Instalando vsftpd E OpenSSL

OpenSSL é necessário para o TLS; para instalar o vsftpd e o OpenSSL, simplesmente execute:

apt-get 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, “DE”).
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…

vi /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 em 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 # Desativar 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); usando 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 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 [...] # Você pode restringir usuários locais a seus diretórios pessoais. Veja o FAQ para # os possíveis riscos disso antes de usar chroot_local_user ou # chroot_list_enable abaixo. chroot_local_user=YES [...] |

Reinicie o vsftpd depois:

/etc/init.d/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 Configurando 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:

Selecione o servidor que usa vsftpd com TLS; no menu suspenso Tipo de Servidor, selecione FTPES em vez de FTP normal:

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 agora logado no servidor:

6 Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.