Pesquisa de site

Configure a transferência segura de arquivos FTP usando SSL/TLS no RHEL 8


Em nosso último artigo, descrevemos detalhadamente como instalar e configurar um servidor FTP no RHEL 8 Linux. Neste artigo, explicaremos como proteger um servidor FTP usando SSL/TLS para ativar serviços de criptografia de dados para transferência segura de arquivos entre sistemas.

Esperamos que você já tenha um servidor FTP instalado e funcionando corretamente. Caso contrário, use o guia a seguir para instalá-lo em seu sistema.

  1. Como instalar, configurar e proteger o servidor FTP no RHEL 8

Etapa 1. Gerando certificado SSL/TLS e chave privada

1. Crie o seguinte diretório para armazenar o certificado SSL/TLS e os arquivos de chave.

mkdir -p /etc/ssl/vsftpd

2. Em seguida, gere um certificado SSL/TLS autoassinado e uma chave privada usando o comando a seguir.

openssl req -x509 -nodes -keyout /etc/ssl/vsftpd/vsftpd.pem -out /etc/ssl/vsftpd/vsftpd.pem -days 365 -newkey rsa:2048

A seguir está a explicação de cada sinalizador usado no comando acima.

  1. req – é um comando para gerenciamento de Solicitação de Assinatura de Certificado X.509 (CSR).
  2. x509 – significa gerenciamento de dados de certificados X.509.
  3. dias – define o número de dias durante os quais o certificado é válido.
  4. newkey – especifica o processador da chave do certificado.
  5. rsa:2048 – Processador de chave RSA, irá gerar uma chave privada de 2048 bits.
  6. keyout – define o arquivo de armazenamento de chaves.
  7. out – define o arquivo de armazenamento do certificado, observe que tanto o certificado quanto a chave são armazenados no mesmo arquivo: /etc/ssl/vsftpd/vsftpd.pem.

O comando acima solicitará que você responda às perguntas abaixo. Lembre-se de usar valores que se aplicam ao seu cenário.

Country Name (2 letter code) [XX]:IN
State or Province Name (full name) []:Lower Parel
Locality Name (eg, city) [Default City]:Mumbai
Organization Name (eg, company) [Default Company Ltd]:TecMint.com
Organizational Unit Name (eg, section) []:Linux and Open Source
Common Name (eg, your name or your server's hostname) []:tecmint
Email Address []:[email 

Etapa 2. Configurando VSFTPD para usar SSL/TLS

3. Abra o arquivo de configuração VSFTPD para edição usando seu editor de linha de comando favorito.

vi /etc/vsftpd/vsftpd.conf

Adicione os seguintes parâmetros de configuração para ativar o SSL e selecione a versão de SSL e TLS a ser usada no final do arquivo.

ssl_enable=YES
ssl_tlsv1_2=YES
ssl_sslv2=NO
ssl_sslv3=NO

4. Em seguida, adicione as opções rsa_cert_file e rsa_private_key_file para especificar o local do certificado SSL e do arquivo de chave, respectivamente.

rsa_cert_file=/etc/ssl/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/ssl/vsftpd/vsftpd.pem

5. Agora adicione esses parâmetros para impedir que conexões anônimas usem SSL e forçar todas as conexões não anônimas por SSL.

allow_anon_ssl=NO			# disable anonymous users from using SSL
force_local_data_ssl=YES		# force all non-anonymous logins to use a secure SSL connection for data transfer
force_local_logins_ssl=YES		# force all non-anonymous logins  to send the password over SSL

6. Em seguida, adicione estas opções para desativar toda a reutilização de conexões de dados SSL e defina as cifras SSL como HIGH para permitir conexões SSL criptografadas.

require_ssl_reuse=NO
ssl_ciphers=HIGH

7. Você também deve especificar o intervalo de portas (porta mínima e máxima) de portas passivas a serem usadas pelo vsftpd para conexões seguras, usando pasv_min_port e pasv_max_port parâmetros respectivamente. Além disso, você pode ativar opcionalmente a depuração SSL para fins de solução de problemas, usando a opção debug_ssl.

pasv_min_port=40000
pasv_max_port=50000
debug_ssl=YES

8. Por fim, salve o arquivo e reinicie o serviço vsftpd para que as alterações acima tenham efeito.

systemctl restart vsftpd

9. Outra tarefa crítica a ser executada antes de poder acessar com segurança o servidor FTP é abrir as portas 990 e 40000-50000 no sistema. firewall. Isso permitirá conexões TLS ao serviço vsftpd e abrirá o intervalo de portas passivas definido no arquivo de configuração VSFTPD respectivamente, como segue.

firewall-cmd --zone=public --permanent –add-port=990/tcp
firewall-cmd --zone=public --permanent –add-port=40000-50000/tcp
firewall-cmd --reload

Etapa 3: Instale o FileZilla para conectar-se com segurança ao servidor FTP

10. Para se conectar com segurança ao servidor FTP, você precisa de um cliente FTP que suporte conexões SSL/TLS, como o FileZilla – é um código aberto. , cliente FTP, SFTP e FTPS de plataforma cruzada amplamente utilizado que oferece suporte a conexões SSL/TLS por padrão.

Instale o FileZilla no Linux usando seu gerenciador de pacotes padrão da seguinte forma:

sudo apt-get install filezilla   		#Debian/Ubuntu
yum install epel-release filezilla		#On CentOS/RHEL
dnf install filezilla			        #Fedora 22+
sudo zypper install filezilla			#openSUSE

11. Após a instalação do pacote Filezilla, procure-o no menu do sistema e abra-o. Para conectar rapidamente o servidor FTP remoto, na interface principal, forneça o endereço IP do host, o nome de usuário e a senha do usuário. Em seguida, clique em QuickConnect.

12. Em seguida, o aplicativo solicitará que você permita uma conexão segura usando o certificado autoassinado desconhecido. Clique em OK para continuar.

Se a configuração no servidor estiver correta, a conexão deverá ser bem-sucedida, conforme mostrado na imagem a seguir.

13. Por fim, teste o status da conexão segura do FTP tentando fazer upload de arquivos da sua máquina para o servidor, conforme mostrado na próxima captura de tela.

Isso é tudo! Neste artigo, mostramos como proteger um servidor FTP usando SSL/TLS para transferência segura de arquivos no RHEL 8. Esta é a segunda parte do nosso guia completo para instalar, configurar e proteger um servidor FTP no RHEL 8. Para compartilhar qualquer dúvida ou opinião, use o formulário de feedback abaixo.