Para instalar o VSFTP (Very Security FTP) no Linux/Ubuntu, o administrador precisa estar logado como root ou invocar os poderes de superusuário, assim o comando de instalação é o seguinte: apt-get install vsftpd. Após poucos instantes a instalação estará concluída. Após esta etapa, deve-se reiniciar o servidor com o comando: /etc/init.d/vsftpd restart.
Para testar o funcionamento do novo servidor FTP, basta digitar no terminal: ftp localhost. Se tudo estiver correto, aparecerá uma mensagem informando que a conexão foi feita ao localhost, que é a própria máquina onde o servidor foi instalado.
Nas configurações atuais, ou seja, a padrão, a conexão ao servidor FTP pode ser feita anonimamente; isso significa que o login de acesso universal FTP anonymous pode ser utilizado. Ao informar este nome como usuário e em seguida uma senha qualquer, o usuário anônimo poderá ter acesso ao conteúdo do servidor, porém somente como leitura, não podendo gravar nada.
Editando o arquivo de configuração do VSFTP, serão feitas algumas mudanças para tornar o servidor robusto e seguro, que é a essência do desse FTP, pois traz consigo, no próprio nome, o termo Very Security, ou seja, muito seguro.
Para acessar o arquivo de configuração do VSFTP, no terminal (Shell) digite: sudo vi ⁄etc⁄vsftpd.conf . Este comando abrirá o editor de texto em linha de comando “vi” (lê-se vi-ai) apresentando as linhas gerais de configuração do servidor.
A seguir, comentar-se-á algumas linhas do arquivo de configuração vsftpd.conf e sua funcionalidade:
anonymous_enable=YES/NO #habilita ou desabilita o acesso anônimo ao servidor;
local_enable=YES/NO #habilita o acesso de utilizadores locais, ou seja, o próprio usuário Linux;
write_enable=YES/NO #habilita a opção de escrita no servidor;
xferlog_enable=YES/NO #habilitar o log detalhado de acesso ao servidor;
xferlog_std_format=YES/NO #habilitar formato detalhado de relatórios
connect_from_port_20=YES/NO #habilitar a porta 20 para dados
chroot_local_user=YES/NO #liberar acesso somente ao diretório Home do usuário
Também é possível criar listas de usuários que estão proibidos ou autorizados a acessar o servidor, facilitando a manutenção do serviço FTP. Para criar a lista de usuários proibidos, deve-se criar um arquivo com o seguinte nome: /etc/vsftpd.denied_users e configurar as seguintes linhas do arquivo ⁄etc⁄vsftpd.conf
userlist_deny=YES
userlist_file=⁄etc⁄vsftpd.denied_users
De maneira análoga, basta criar o arquivo ⁄etc⁄vsftpd.allowed_users e listar os usuários que possuem acesso autorizado ao servidor:
userlist_deny=NO
userlist_enable=YES
userlist_file=⁄etc⁄vsftpd.allowed_users
Uma das boas práticas de segurança FTP é limitar o acesso dos usuários logados a apenas sua pasta home, evitando assim que usuários que logaram no servidor transitem em outros diretórios que não lhe pertença. Deve-se editar o arquivo de configuração e deixar a linha dessa forma: chroot_local_users=YES. Essa prática é conhecida como jaula, pois tranca o usuário FTP em seu diretório. Esse artifício também pode ser feito mediante a listagem de usuários com permissão de acesso ao servidor criando o arquivo ⁄etc⁄vsftpd.chroot_list. Em seguida, deve-se negar o usuário e habilitar a lista conforme abaixo:
chroot_local_user=NO
chroot_list_enable=YES
Outra prática de segurança é alterar a porta padrão de conexão ao servidor FTP, isso porque usuários mal-intencionados sabem que a porta default de conexão é a 21, iniciando ataques a servidores justamente por portas como essa, sabendo que a mesma está aberta. Para reforçar a segurança, altera-se para uma porta qualquer, desde que livre, pois pode haver conflito com outro serviço.
Nos testes realizados, optou-se por trocar a porta padrão para 4433, incluindo no final do arquivo de configuração ⁄etc⁄vsftpd.conf, a seguinte linha: listen_port=4433.
Antes de testar o servidor, deve-se reiniciar o serviço VSFTP para setar as configurações com o comando: /etc/init.d/vsftpd restart. Com a alteração da porta de conexão padrão para 4433, o acesso ao serviço FTP deverá ser feito incluindo essa nova informação, que era omitida, quando da porta default, assim, como exemplo tem-se: ftp://192.168.100.100:4433.
A partir de agora, listar-se-á alguns comandos que servirão de suporte para criação de novos usuários e diretórios FTP no Linux.
Antes disso, deve-se editar o arquivo vi /etc/shells e no final incluir a linha /bin/false. Este item indica que o usuário FTP não terá acesso ao shell nem por linha de comando e nem por meio de SSH (acesso remoto), fator bastante importante, pois usuários avançados em Linux poderiam fazer estragos no servidor, caso possuíssem acesso a esta função.
Os comandos que se seguem não são absolutos, existindo outras maneiras de se criar usuários e diretórios FTP no Linux, o que se apresenta aqui, é o que foi testado e tomou-se como um passo a passo funcional:
1) sudo mkdir -p /home/ftp/omega #comando para criar o diretório “omega” dentro da pasta home/ftp;
2) sudo useradd omega -d /home/ftp/omega -s /bin/false #comando para criar o usuário “omega”, atribuindo o diretório “omega” à sua propriedade e setando o acesso a shell como falso;
3) sudo passwd omega #atribuindo uma senha à conta de usuário omega;
4) sudo chown omega /home/ftp/omega #comando para tornar o usuário “omega” dono do diretório “omega”, pois, como foi o superusuário quem o criou, por padrão, ele pertencia ao root;
Os comandos listados nos passos de 1 a 4 podem ser executados para tantos quantos usuários e diretórios FTP forem necessários.
É claro que esse processo pode ser automatizado criando um script para a execução dessas tarefas.
O servidor objeto deste trabalho está em funcionamento e pode ser acessado de três maneiras distintas, ou melhor, por meio de três redes diferentes, que são:
1) ftp://192.168.100.100:4433 #endereço de acesso pela rede local – interface de rede eth1;
2) ftp://10.75.212.50:4433 #endereço de acesso pela intranet – interface de rede eth0;
Após a autenticação do usuário, o servidor FTP lista os arquivos e diretórios a que o usuário tem permissão de acesso. Neste caso, o usuário logado possui poderes de leitura e escrita dentro do servidor.
3) ftp://187.17.166.32:4433 #endereço de acesso pela internet – desvio por um roteador Wireless TP-Link modelo N 300Mbps TL-WR841N, que direciona o fluxo de requisição e atendimento da solicitação FTP para o endereço do servidor na interface de rede eth1 (192.168.100.100).
Observou-se que todas as requisições FTP ao servidor, seja, pela rede local, intranet ou internet, precisam indicar a porta de conexão, que no caso é a 4433.
A implementação do serviço de FTP através do VSFTP possibilitou a disponibilização de arquivos para os usuários do servidor de forma prática e segura. Foram testados vários scripts FTP, mas nenhum deles se sobressaiu como o VSFTP. É de fácil configuração, leve, rápido e não apresentou qualquer problema até o momento, além disso, possibilitou ao Centro de Inteligência receber dados de interceptações telemáticas, o que antes não era possível, pois era uma exigência das operadoras de telefonia para disponibilizar os dados de usuários interceptados judicialmente.
O artigo completo sob o título “Configurando um servidor FTP seguro com VSFTP” estará em breve publicado em uma próxima edição da Revista Espírito Livre.
Por Hericson dos Santos.
0sem comentários ainda
Por favor digite as duas palavras abaixo