Configuração segura do servidor Proftpd no CentOS 7 com TLS

Configuração segura do servidor Proftpd no CentOS 7 com TLS

Objetivo

O objetivo é primeiro configurar um servidor Proftpd básico no CentOS 7. Depois de termos uma configuração básica do servidor FTP, adicionaremos o modo passivo FTP e aumentaremos a segurança adicionando a segurança da camada de transporte (TLS).

Por fim, adicionamos uma configuração anônima opcional para permitir que o usuário anônimo faça login no servidor FTP sem nome de usuário e senha.

Sistema operacional e versões de software

  • Sistema operacional: - CentOS Linux Release 7.5.1804
  • Programas: - Proftpd versão 1.3.5e

Requisitos

Acesso privilegiado ao seu sistema Ubuntu como root ou via sudo O comando é necessário.

Dificuldade

MÉDIO

Convenções

  • # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando
  • $ - dados os comandos do Linux a serem executados como um usuário não privilegiado regular

Instruções

Configuração básica do FTP

Vamos começar pela instalação básica e configuração do servidor Proftp. Isso inclui, instalação, definição de regras de firewall e teste de cliente.

Configuração do servidor

O servidor Proftpd FTP faz parte de um repositório EPEL. Portanto, a primeira etapa é ativar o repositório EPEL e instalar o servidor Proftpd:

# yum installele-lançamento # yum install Proftpd 

Em seguida, inicie o servidor Proftpd e confirme seu início correto, verificando uma porta aberta 21

# Serviço Proftpd Iniciar # SS -nlt 

Em seguida, precisamos atacar um todo no firewall do servidor para permitir o tráfego de entrada na porta 21

# firewall-cmd --add-port = 21/tcp --permanent # firewall-cmd--reload 


Para confirmar uma porta de entrada aberta 21 executar:

# firewall-cmd-list-ports 
Configurando o servidor Basig FTP usando o Proftpd no CentOS 7

Nesta fase. Opcionalmente, podemos criar um novo usuário e.g. LUBOS com acesso ao diretório /var/ftp-share:

# useradd lubos -s /sbin /nologin -d /var /ftp -share # passwd lubos # chmod -r 750 /var /ftp -share # setSeBool -p allow_ftpd_full_access = 1 

Conexão do cliente

Neste ponto, devemos ser capazes de executar uma conexão FTP de um computador cliente remoto. O teste mais fácil é usar o ftp comando.

Dado que nosso servidor Proftpd pode ser resolvido via ftp.LinuxConfig.org nome do host e usuário LUBOS é existente Execute:

$ ftp ftp.LinuxConfig.org conectado ao FTP.LinuxConfig.org. 220 FTP Server pronto. Nome (ftp.LinuxConfig.Org: Lubos): Lubos 331 Senha necessária para Lubos Senha: 230 Usuário Lubos conectado ao tipo de sistema remoto é Unix. Usando o modo binário para transferir arquivos. ftp> 
OBSERVAÇÃO: Observe que, neste momento, só podemos fazer "conexões FTP ativas" apenas! Qualquer tentativa de criar uma "conexão passiva FTP" falhará.

Configuração de FTP do modo passivo



Configuração do servidor

Para permitir que nosso servidor FTP aceite também a conexão FTP passiva, execute os seguintes comandos para ativar conexões passivas na faixa de portas efêmeras registradas da IANA:

Echo "Passiveports 49152 65534" >> /etc /Proftpd.conf 

Reinicie o servidor Proftpd:

# Serviço Proftpd Reiniciar 

Firewall aberto para portos no alcance 49152-65534:

# firewall-cmd --add-port = 49152-65534/tcp --permanente # firewall-cmd--reload 

Confirme que as portas foram abertas corretamente:

# firewall-cmd-list-ports 
Configurar o servidor Proftpd para receber conexões FTP passivas.

Conexão do cliente FTP

Como antes, agora podemos testar a conexão passiva FTP usando o ftp comando. Certifique -se de que desta vez você use o -p opção como mostrado abaixo:

$ ftp -p ftp.LinuxConfig.org conectado ao FTP.LinuxConfig.org. 220 FTP Server pronto. Nome (ftp.LinuxConfig.Org: Lubos): Lubos 331 Senha necessária para Lubos Senha: 230 Usuário Lubos conectado ao tipo de sistema remoto é Unix. Usando o modo binário para transferir arquivos. ftp> ls 227 entrando Modo passivo (192,168,1,11.209.252). 150 Abertura da conexão de dados do modo ASCII para lista de arquivos 226 Transferência completa FTP> 

Tudo está funcionando como espere!

Secure FTP Server com TLS

Configuração do servidor

Caso você planeje usar seu servidor FTP fora da rede local da área, é recomendável usar algum tipo de criptografia. Felizmente, configurar o Proftpd com TLS é extremamente fácil. Primeiro, se não estiver disponível, instale o OpenSSL pacote:

# yum install OpenSSL 

Em seguida, crie um certificado usando o seguinte comando. O único valor necessário é Nome comum Qual é o nome do host do seu servidor FTP:

# OpenSSL req -x509 -Nodes -NewKey RSA: 1024 -Keyout/etc/pki/tls/certs/proftpd.PEM -OUT/etc/pki/tls/certs/proftpd.PEM gerando uma chave privada de 1024 bits RSA… ++++++… ++++++ escrevendo nova chave privada para '/etc/pki/tls/certs/proftpd.PEM '----- Você está prestes a ser solicitado a inserir informações que serão incorporadas à sua solicitação de certificado. O que você está prestes a entrar é o que é chamado de nome distinto ou DN. Existem alguns campos, mas você pode deixar alguns em branco para alguns campos, haverá um valor padrão, se você entrar '.', o campo ficará em branco. ----- Nome do país (código de 2 letra) [xx]: Nome do estado ou da província (nome completo) []: Nome da localidade (por exemplo, cidade) [Cidade padrão]: nome da organização (por exemplo, empresa) [Empresa Padrão Ltd]: Nome da Unidade Organizacional (por exemplo, seção) []: Nome comum (por exemplo, seu nome ou o nome do host do seu servidor) []:ftp.LinuxConfig.org Endereço de email []: 

Em seguida, como usuário root, abra /etc/sysconfig/proftpd Usando seu editor de texto favorito e altere:

De: para: Proftpd_options = "-DTLS" 

Uma vez pronto, reinicie o servidor Proftpd:

# Serviço Proftpd Reiniciar 


Conexão do cliente

Desta vez, usamos o Filezilla como nosso cliente de teste FTP:

Crie uma nova conexão FTP. Para testar o TLS, certifique -se de selecionar um correto Criptografia e Tipo de logon. O cliente FTP o avisará sobre o Certificado desconhecido. Marcação Sempre confie e acertar OK.

Conexão criptografada de TLS bem -sucedida.

Configure o usuário do FTP anônimo

Configuração do servidor

Para permitir que o usuário anônimo faça login no servidor FTP aberto /etc/sysconfig/proftpd Usando seu editor de texto favorito e altere:

De: proftpd_options = "-dtls" para: perftpd_options = "-dtls -danonymous_ftp" 

Acima, assumimos que você tem Alredy habilitado para TLS anteriormente. Quando pronto, reinicie o servidor FTP:

# Serviço Proftpd Reiniciar 

Conexão do cliente

Usando o FileZilla como nosso cliente de teste FTP:

Como Tipo de logon Selecione Anônimo

Conexão FTP anônima bem -sucedida.

Apêndice

Bloco/RESUSE O ACESSO DE FTP do usuário

Caso você precise bloquear/recusar o acesso ao servidor FTP de qualquer usuário do sistema, adicione seu nome de usuário ao /etc/ftpusers. Um nome de usuário por linha. Fazendo isso, qualquer usuário da tentativa de fazer o login falhará com 530 Erro de login:

$ ftp ftp.LinuxConfig.org conectado ao FTP.LinuxConfig.org. 220 FTP Server pronto. Nome (ftp.LinuxConfig.Org: Lubos): Lubos 331 Senha necessária para Lubos Senha: 530 Login Incorreto. falha no login. O tipo de sistema remoto é Unix. Usando o modo binário para transferir arquivos. ftp> 

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Configurar servidor FTP no Linux
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Como configurar o vsftpd no Debian
  • Arquivos de configuração do Linux: os 30 primeiros mais importantes
  • Como configurar o servidor e o cliente FTP/SFTP no Almalinux
  • Lista de clientes FTP e instalação no Ubuntu 22.04 Linux…
  • Linux pode obter vírus? Explorando a vulnerabilidade do Linux…
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?