Header Ads

Como configurar um servidor FTP Linux para transferências rápidas de arquivos

FTP, ou File Transfer Protocol, é um protocolo padrão para enviar e receber arquivos de servidores remotos. É mais fácil de usar do que alternativas de linha de comando como scp, especialmente com interfaces GUI como FileZilla.

O que é FTP?

Antigamente, os servidores FTP públicos eram uma forma muito comum de disponibilizar arquivos para um grande número de pessoas. Hoje, o FTP ainda existe e é amplamente usado para tarefas administrativas.

Embora alguma forma de FTP CLI seja enviada com a maioria dos principais sistemas operacionais, clientes GUI como o FileZilla tornam o processo de mover arquivos entre servidores tão simples quanto arrastar e soltar do armazenamento local para o armazenamento remoto, ou vice-versa. Todo o tráfego subjacente é tratado usando FTP.

A configuração requer que você instale e configure um servidor FTP, como vsftpd, na máquina remota que deseja acessar.

Deve-se observar que usuários logados via FTP terão acesso ao seu sistema, assim como você. Existem etapas que você pode realizar para atenuar esses riscos, como colocar o acesso na lista de permissões e bloquear os usuários em seus diretórios pessoais.

Instalando o vsftpd

Para começar, instale o vsftpd a partir do gerenciador de pacotes da sua distro. Para sistemas baseados em Debian como Ubuntu, seria de apt:

 sudo apt-get install vsftpd 

A seguir, você terá que iniciar o serviço e configurá-lo para ser executado no momento da inicialização:

 systemctl start vsftpd 

 systemctl enable vsftpd 

O FTP tem dois métodos principais de autenticação:

  • FTP anônimo, onde qualquer pessoa pode fazer login sem senha. É usado para compartilhamento público de arquivos e está desabilitado por padrão.
  • Login de usuário local, que permite que qualquer usuário em / etc / passwd acesse o FTP usando nome de usuário e senha.

Provavelmente, você desejará ativar o login de usuário local e manter o acesso anônimo desativado. O login no FTP usando sua conta de usuário dará acesso a qualquer coisa que sua conta possa acessar.

Abra /etc/vsftpd. conf em seu editor de texto favorito e altere a seguinte linha para SIM:

Se você deseja fazer upload de arquivos, altere write_enable para YES também:

 write_enable = SIM 

Com a reinicialização do vsftpd (systemctl restart vsftpd), agora você deve ser capaz de fazer o login no FTP usando um cliente como o FileZilla ou o CLI em sua máquina pessoal.

Se você deseja habilitar o FTP apenas para usuários específicos, pode colocar o acesso na lista de permissões. Abra /etc/vsftpd. userlist e adicione os nomes de cada conta que deseja ativar em linhas separadas.

 nano /etc/vsftpd. userlist

Em seguida, adicione as seguintes linhas a /etc/vsftpd. conf:

 userlist_enable = SIM userlist_file = / etc / vsftpd. userlist userlist_deny = NÃO 

Isso restringirá o acesso apenas aos usuários definidos no arquivo de lista de usuários e negará todos os outros.

Se você não quiser que os usuários acessem arquivos fora de seu diretório pessoal, você pode colocá-los em uma jaula chroot, o que os impedirá de interagir com quaisquer diretórios de nível superior. Você pode habilitar isso descomentando a seguinte linha em /etc/vsftpd. conf:

 chroot_local_user = SIM 

Reinicie o vsftpd com systemctl restart vsftpd para aplicar as alterações.

Configurando FTPS

O tráfego de FTP padrão é enviado não criptografado como HTTP. Obviamente, isso não é ótimo, então você deve configurar o vsftpd para criptografar o tráfego com TLS.

Para fazer isso, gere uma nova chave e assine uma solicitação com openssl:

 openssl genrsa -des3 -out FTP. key openssl req -new -key FTP. key -out certificate. csr 

O vsftpd precisa que a senha seja removida desta chave, então copie a chave e passe-a de volta para o openssl:

 cp FTP. key FTP. key. orig openssl rsa -in FTP. key. orig -out ftp. key 

Por fim, gere um certificado TLS usando esta chave:

 openssl x509 -req -days 365 -in certificate. csr -signkey ftp. key -out mycertificate. crt 

Copie a chave e o certificado para / etc / pki / tls / certs /:

 cp ftp. key / etc / pki / tls / certs / cp mycertificate. crt / etc / pki / tls / certs 

Agora que todos os certificados estão configurados, você pode abrir novamente /etc/vsftpd. conf e adicionar as seguintes linhas:

 ssl_enable = SIM allow_anon_ssl = SIM ssl_tlsv1 = SIM ssl_sslv2 = NÃO ssl_sslv3 = NÃO rsa_cert_file = / etc / pki / tls / certs / mycertificate. crt rsa_private_key_file = / etc / skey_file / tlskey / tlskey = HIGH require_ssl_reuse = NO 

Reinicie o vsftpd com systemctl restart vsftpd para aplicar as alterações.

Nenhum comentário