Ir para o conteúdo

Espírito Livre

Voltar a Blog
Tela cheia

Configurando um servidor FTP seguro com VSFTP

28 de Agosto de 2014, 5:57 , por Desconhecido - 0sem comentários ainda | No one following this article yet.
Visualizado 8 vezes

ftp

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.


Fonte: http://www.revista.espiritolivre.org/configurando-um-servidor-ftp-seguro-com-vsftp

0sem comentários ainda

    Enviar um comentário

    Os campos realçados são obrigatórios.

    Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.

    Cancelar