Servidor FTP: Aprenda Como Instalar Um Servidor Seguro Com Linux

Ainda que você seja um iniciante em matéria de redes e servidores, estou quase certo de que já tenha ouvido falar em servidor FTP. Pois bem, o protocolo FTP é um dos mais importantes ao funcionamento da Internet como a conhecemos.

Não sei se você parou para pensar no assunto, mas a Web é constituída de um vasto conjunto de protocolos. Cada ação que tomamos online é executada e concluída graças a algum protocolo de rede, pois é assim que os computadores se comunicam com os servidores de serviços.

Por exemplo, quando navegar pelo browser é entendido como “usar a Internet”, na verdade, é o protocolo HTTP em ação. O mesmo ocorre com os emails, cuja transferência se dá pelos protocolos IMAP (ou POP3) e SMTP. Não obstante temos o protocolo TCP/IP, o qual nos concede um endereço de rede.

Seguindo essa linha de raciocínio, qual é a função do servidor FTP? Tendo em vista resolver as suas possíveis dúvidas, o presente conteúdo apresenta o conceito do protocolo e, de quebra, os procedimentos de instalação e configuração. Vamos dar o pontapé inicial?

servidor ftp seguro no linux

O que é um servidor FTP?

O protocolo FTP (cuja sigla significa File Transfer Protocol) é um dos mais antigos ainda em uso no mundo. A sua função é sustentar a transferência de arquivos entre dispositivos — e o FTP cumpre a missão de maneira quase irretocável.

Na prática, o que o servidor FTP faz é fornecer acesso a diretórios, os quais são usados pelos usuários que se conectam a ele, e um cliente FTP fica autorizado a baixar os arquivos dos diretórios (ou fazer o upload) diretamente do servidor.

Legal, mas como essa funcionalidade é aproveitada? Um dos serviços que mais utilizam do FTP é o desenvolvimento de páginas da Web. Antes da chegada da computação em nuvem, o FTP server era o método padrão para manter os arquivos online e à disposição dos usuários.

Leia mais:  Firewall Com UFW: Descomplicando a Configuração De Firewall No Linux ( Debian / Ubuntu )

Embora a sua usabilidade seja prática e ainda esteja presente em muitos serviços por aí, não se pode ignorar o fato de que o protocolo existe desde os anos 70, o que faz da segurança um ponto bastante questionável. Você acha que há razão para isso? Vamos prosseguir com o assunto.

O protocolo FTP é seguro?

Em 1971, quando o FTP começou a ser implementado no mundo, a realidade do mundo tecnológico era diferente. Quem assistiu ao filme Piratas do Vale do Silício certamente se lembra de Steve Jobs encarando a programação como arte. Ou seja, muitos conceitos ficaram defasados desde aquela época.

Conforme a preocupação com a disseminação de vírus e malware, instrumentos usados pelos cibercriminosos para abrir brechas de segurança, houve a necessidade de otimizar a segurança do protocolo FTP — que até então carecia de mecanismos de segurança modernos.

Diante do avanço das ameaças digitais, como vírus e malwares, instrumentos primários dos cibercriminosos para abrir brechas de segurança, a Netscape desenvolveu um incrível recurso: o Secure Sockets Layer (vulgo SSL).

Logo, em 1996, o SSL foi incorporado ao FTP, dando origem ao FTPS, substancialmente mais robusto. O próprio HTTP começou a ser convertido para HTTPS, hoje considerado um requisito básico para sites que precisam de blindagem.

Posso entrar em mais detalhes sobre esse assunto futuramente, combinado? A questão é que, atualmente, dispomos de recursos suficientes para criar um servidor FTP seguro e de alto desempenho. Mas como fazê-lo? No próximo tópico apresento um passo a passo.

Como instalar um FTP server rápido e seguro no Linux?

Para instalar um servidor FTP Linux de alta performance e segurança, os especialistas costumam utilizar uma excelente ferramenta chamada vsftpd (Very Secure FTP Daemon).

Leia mais:  41 softwares para Linux que são a alternativa para qualquer outro que você utiliza hoje

Trata-se de um servidor para sistemas baseados em UNIX, distribuído sob licença GPL, e que oferece estabilidade, recursos avançados, proteção e muita velocidade. Sendo assim, o nosso primeiro passo é fazer a instalação e configuração do vsftpd no Linux.

Neste tópico, vamos aprender os procedimentos para a distribuição CentOS.

Instalação e configuração do servidor FTP no CentOS

Dando início ao procedimento, abra o terminal do CentOS e digite as linhas de comando, abaixo, para instalar o vsftpd, habilitá-lo e aplicar a sua inicialização automática.

yum install vsftpd
systemctl start vsftpd
systemctl enable vsftpd

Em seguida, acionando o firewall, libere o acesso de sistemas externos ao servidor FTP por meio da porta 21 (onde o FTP é instalado por padrão). Digite:

firewall-cmd --zone=public --permanent --add-port=21/tcp

firewall-cmd --zone=public --permanent --add-service=ftp

firewall-cmd –reload

Configurando o vsftpd

A partir de agora faremos a configuração do vsftpd no CentOS. No entanto, antes de prosseguir, faça o backup do arquivo de configuração original, localizado no diretório /etc/vsftpd/vsftpd.conf:

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig

Pronto? Então vamos abrir o arquivo em questão e marcar os campos de configuração exatamente como no exemplo, a seguir:

anonymous_enable=NO # desabilita login anônimo

local_enable=YES # libera logins locais

write_enable=YES # habilita comandos FTP que modifiquem o sistema

local_umask=022 # regula a permissão dos usuários locais para criar arquivos

dirmessage_enable=YES # permite a exibição de mensagens quando usuários acessam um novo diretório pela primeira vez

xferlog_enable=YES # habilita o registro detalhado de downloads e uploads no servidor

connect_from_port_20=YES # usa a porta 20, reservada ao armazenamento de dados de FTP, no servidor para diferentes tipos de conexões

xferlog_std_format=YES # mantém o padrão de formato do arquivo de registros (log)

listen=NO # previne o vsftpd de executar o modo standalone

listen_ipv6=YES # faz com que o vsftpd atenda a sockets IPv6 em vez de IPv4

pam_service_name=vsftpd # concede nome ao modulo PAM (Pluggable Authentication Modules) a ser usado pelo serviço vsftpd

userlist_enable=YES # permite ao vsftpd carregar listas de usuários

tcp_wrappers=YES # ativa os empacotadores TCP

Permitindo userlist

Concluída a etapa anterior, passaremos a configurar o arquivo etc/vsftpd.userlist. O que faremos com ele? Simplesmente, alterar o seu ajuste padrão, o qual nega acesso à lista de usuários autorizados a fazer login no servidor FTP. Marque as opções conforme o exemplo:

userlist_enable=YES

userlist_file=/etc/vsftpd.userlist

userlist_deny=NO

Finalizando o processo, adicione as duas configurações abaixo para restringir os usuários FTP a seus respectivos diretórios home.

chroot_local_user=YES

allow_writable_crhoot=YES

Conclua salvando o arquivo e fechando-o.

Leia mais:  Tabelas do iptables: Entenda a lógica do Firewall do Linux

Reforçando a segurança com o SELinux

Para efetivamente fazer do servidor FTP um ambiente seguro, vamos habilitar o SELinux para ler arquivos de diretórios home.

setsebool -P ftp_home_dir on

semanage boolean -m ftpd_full_access --on # o comando semanage concede permissão para o FTP ler e escrever nos arquivos de diretórios home
systemctl restart vsftpds

Gostou das dicas? Agora você pode colocá-las em prática na montagem do seu próprio servidor FTP e, dentro de pouco tempo, começar a aplicar o conhecimento profissionalmente.

Porém se a sua ideia é agilizar o processo de aprendizagem e tornar-se um profissional Linux de sucesso, conheça agora a página Profissionais Linux!

 

Mini treinamento Gratuito

Aprenda a Dominar o Linux De Uma Vez Por Todas

Garanta sua vaga