Configuração FTP · 4 min read · Dec 14, 2025

Como configurar PureFTPd e FileZilla para usar sessões TLS no CentOS 7.2

Este artigo explica como configurar o PureFTPd para aceitar sessões TLS em um servidor CentOS 7.2. O FTP simples é um protocolo inseguro porque todas as senhas e 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

Você deve ter uma configuração funcional do PureFTPd em seu servidor CentOS 7.2, por exemplo, conforme mostrado neste tutorial: Servidor FTP com PureFTPd, MariaDB e Usuários Virtuais (incl. Gerenciamento de Quota e Largura de Banda) no CentOS 7.2

2 Instalando OpenSSL

O TLS precisa do OpenSSL; para instalar o OpenSSL, basta executar:

yum -y install openssl

3 Configurando o PureFTPd

Abra /etc/pure-ftpd/pure-ftpd.conf…

nano /etc/pure-ftpd/pure-ftpd.conf

Se você quiser permitir sessões FTP e TLS, defina TLS como 1:

[...]
# Esta opção pode aceitar três valores :
# 0 : desabilitar a camada de criptografia SSL/TLS (padrão).
# 1 : aceitar tanto sessões tradicionais quanto criptografadas.
# 2 : recusar conexões que não usam mecanismos de segurança SSL/TLS,
#     incluindo sessões anônimas.
# Não _descomente_ isso cegamente. Certifique-se de que :
# 1) Seu servidor foi compilado com suporte a SSL/TLS (--with-tls),
# 2) Um certificado válido está em vigor,
# 3) Apenas clientes compatíveis poderão fazer login.

TLS                      1
[...]

Se você quiser aceitar apenas sessões TLS (sem FTP), defina TLS como 2:

[...]
# Esta opção pode aceitar três valores :
# 0 : desabilitar a camada de criptografia SSL/TLS (padrão).
# 1 : aceitar tanto sessões tradicionais quanto criptografadas.
# 2 : recusar conexões que não usam mecanismos de segurança SSL/TLS,
#     incluindo sessões anônimas.
# Não _descomente_ isso cegamente. Certifique-se de que :
# 1) Seu servidor foi compilado com suporte a SSL/TLS (--with-tls),
# 2) Um certificado válido está em vigor,
# 3) Apenas clientes compatíveis poderão fazer login.

TLS                      2
[...]

Para não permitir TLS de forma alguma (apenas FTP), defina TLS como 0:

[...]
# Esta opção pode aceitar três valores :
# 0 : desabilitar a camada de criptografia SSL/TLS (padrão).
# 1 : aceitar tanto sessões tradicionais quanto criptografadas.
# 2 : recusar conexões que não usam mecanismos de segurança SSL/TLS,
#     incluindo sessões anônimas.
# Não _descomente_ isso cegamente. Certifique-se de que :
# 1) Seu servidor foi compilado com suporte a SSL/TLS (--with-tls),
# 2) Um certificado válido está em vigor,
# 3) Apenas clientes compatíveis poderão fazer login.

TLS                      0
[...]

Em seguida, remova o # na frente das seguintes 2 linhas:

TLSCipherSuite           HIGH  
CertFile                 /etc/ssl/private/pure-ftpd.pem

e salve o arquivo de configuração alterado.

4 Criando o Certificado SSL para TLS

Para usar o TLS, devemos criar um certificado SSL. Eu o crio em /etc/ssl/private/, portanto, primeiro crio esse diretório:

mkdir -p /etc/ssl/private/

Depois, podemos gerar o certificado SSL da seguinte forma:

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Nome do País (código de 2 letras) [XX]: <– Insira o Nome do seu País (por exemplo, “BR”).
Nome do Estado ou Província (nome completo) []: <– Insira o Nome do seu Estado ou Província.
Nome da Localidade (por exemplo, cidade) [Cidade Padrão]: <– Insira sua Cidade.
Nome da Organização (por exemplo, empresa) [Empresa Padrão 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 ou o nome do host do seu servidor) []: <– Insira o Nome de Domínio Qualificado do sistema (por exemplo, “servidor1.exemplo.com”).
Endereço de E-mail []: <– Insira seu Endereço de E-mail.

Altere as permissões do certificado SSL:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Finalmente, reinicie o PureFTPd:

systemctl restart pure-ftpd.service

É isso. Agora você pode tentar se conectar usando seu cliente FTP; no entanto, você deve configurar seu cliente FTP para usar TLS - veja o próximo capítulo sobre como fazer isso com o FileZilla.

5 Configurando o FileZilla para TLS

Para usar FTP com TLS, você precisa de um cliente FTP que suporte TLS, como o FileZilla ou o plugin FireFTP do Firefox.

No FileZilla, abra o Gerenciador de Sites:

FileZilla - Abra o gerenciador de sites.

Selecione o servidor que usa PureFTPd com TLS; no menu suspenso Tipo de Servidor, selecione Requerer FTP Explícito sobre TLS em vez de FTP normal:

Insira os detalhes 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, pois estamos usando um certificado SSL autoassinado aqui:

Aceite o erro SSL

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

Login com TLS bem-sucedido.

6 Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.