Servidor FTP

Apresentação

FTP é um acrônimo para File Transfer Protocol ou Protocolo de Transferência de Arquivos. O protocolo FTP permite a transferências de arquivos binários e arquivos texto com alta eficiência através de uma rede. É muito interessante para empresas que desejam compartilhar arquivos com os usuários na rede, ou servidores web que desejam disponibilizar áreas para usuários fazerem transferência de arquivos.

Nesta seção será explicada a configuração do servidor FTP. O Proftpd (Professional File Transfer Protocol Daemon) é o programa que implementa o servidor padrão e realiza os serviços de FTP no Conectiva Linux. O Proftpd possui uma configuração muito simples, parecida com a configuração do servidor web Apache, possuindo toda a configuração do servidor em um único arquivo, com diretivas. Além disso, implementações de segurança podem ser feitas em diretórios (seguindo o exemplo do arquivo .htaccess do Apache, o Proftpd pode utilizar o arquivo .ftpaccess), permitindo restrições a diretórios que serão acessados por usuários.

Implementação

Pré-requisitos

Para implementar esta solução você não precisará de nenhum pré-requisito especial, basta que sua máquina possua uma placa de rede e também que o Webmin já esteja instalado.

Instalação

Para instalação do servidor FTP execute o Synaptic e instale os seguintes pacotes:

  • proftpd

  • anonftp

ou utilize o apt-get:

# apt-get install anonftp proftpd

Configuração

Para iniciar a configuração do servidor FTP, acesse Servidores -> Servidor ProFTPD pelo Webmin.

Assim como outros módulos do Webmin, o módulo do Proftpd também é dividido em duas partes: uma para configurações globais e outra para servidores virtuais. As configurações aplicadas nas opções globais irão ter efeito sobre o servidor padrão e todos os servidores virtuais. Opções de um servidor virtual específico deverão ser configuradas na sessão do próprio servidor virtual. Entre as configurações globais, algumas estão citadas abaixo:

  • Opções de Rede

    Opções de Rede do Servidor FTP

    Figura 10.4. Opções de Rede do Servidor FTP

    • Numero máximo de sessões concorrentes: Número de conexões simultâneas no servidor FTP pode receber;

    • Tempo de inatividade antes de desconectar: Tempo ocioso que o servidor deve aguardar antes de desconectar o usuário;

    • Tempo de espera para a primeira transferência: Tempo máximo de espera para a primeira transferência antes de o servidor desconectar o usuário;

    • Tempo de espera para autenticação: Tempo máximo de espera para a autenticação.

  • Controle de Acesso

    • Mensagem de sucesso no login: Mensagem apresentada ao usuário quando o login for realizado com sucesso. Pode-se deixar a mensagem padrão, ou optar por uma personalizada;

    • Mensagem de falha no login: idem a anterior, porém apresentada ao usuário quando o login falhar;

    • Autorizar escrita sobre arquivos já existentes? - Permitir ou não que os arquivos sejam sobrescritos no servidor.

  • Usuários FTP Negados

    Nesta opção, é possível configurar quais usuários do sistema serão proibidos de acessar o servidor.

Lembre-se de sempre clicar no botão Salvar depois de ter alterado alguma configuração.

Para criar um servidor virtual, basta preencher o formulário que está na parte de baixo da página principal do módulo do Proftpd no Webmin - lembre-se de que as configurações realizadas em um determinado servidor virtual sobrescrevem as configurações globais:

Configuração de um Servidor FTP Virtual

Figura 10.5. Configuração de um Servidor FTP Virtual

  • Endereço: Endereço IP do servidor;

  • Porta do FTP: Porta na qual o servidor deverá estar funcionando; o recomendado é deixar marcada a opção Padrão;

  • Nome do servidor: Nome de acesso ao servidor virtual.

Após isto, clique em Criar e aguarde a atualização da página, onde serão exibidas as opções de configuração para o servidor virtual.

Além das mesmas opções que pode ser realizadas nas opções globais, como por exemplo proibir o acesso a determinados usuários, existem outras configurações exclusivas do servidor virtual de FTP, como por exemplo a opção Configurar Servidor Virtual. Nesta opção, além de poder editar as configurações feitas anteriormente para endereço, porta e nome do servidor virtual, o usuário também poderá remover o servidor clicando em Remover servidor virtual.

Depois de ter realizado todas as configurações necessárias, na página inicial do módulo do Proftpd no Webmin, clique em Iniciar Servidor para iniciar o servidor FTP.

Acesso FTP Anônimo

A configuração de FTP anônimo também pode ser realizada via Webmin. Para isso, clique no ícone do servidor desejado (ao final da página principal, em forma de ícone), acesse a opção Anonymous FTP e preencha o formulário de acordo com as informações listadas a seguir:

Configuração do Acesso FTP Anônimo

Figura 10.6. Configuração do Acesso FTP Anônimo

  • Limitar ao diretório: Este é o diretório em que o usuário ficará restrito quando estiver logado como usuário anônimo. O diretório deve existir para que possa ser incluído aqui, portanto, crie-o ou verifique se ele já está criado. Por exemplo: /srv/ftp/anonymous;

  • Acessar arquivos como usuário: Usuário com o qual serão acessados os arquivos. Inclua o usuário ftp;

  • Acessar arquivos como grupo: Grupo com o qual serão acessados os arquivos. Inclua o grupo ftp.

Após ter feito as configurações, clique em Criar para que as alterações sejam realizadas no arquivo de configuração do Proftpd.

Agora, na seção Opções para FTP Anonymous, clique em Autenticação para criar o alias entre o usuário anonymous e ftp. Note que esta opção é diferente de Opções de autenticação, que permite configurações de log do acesso anônimo.

Para criar o alias, na opção Apelidos para nomes de usuários, preencha o campo Login username com o valor anonymous, e Nome real do usuário com o valor ftp.

Clique em Salvar para realizar as alterações e, na página inicial do módulo de configuração do Proftpd, clique em Iniciar servidor para iniciá-lo ou em Aplicar mudanças caso o servidor já esteja sendo executado.

Testando a Configuração

  • Primeiramente, verifique se um processo está executando o servidor:

    $ ps aux | grep proftpd
    proftpd   5935  0.0  0.5  4496 2224 ?   S  23:57  0:00 proftpd:\
    (accepting connections)
  • Para testar o acesso ao servidor FTP anonimamente, forneça o usuário anonymous e uma string qualquer (um endereço de e-mail, por exemplo):

    $ ftp localhost
    Connected to localhost
    220 ProFTPD 1.2.9 Server Ready (ProFTPD - Instalação Padrão)
    Name (localhost:usuario): anonymous
    331 Anonymous login ok, send your complete email address as 
    your password.
    Password:
    230 Acesso anônimo aceito para anonymous.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp>

    Note que a senha não é mostrada. O usuário anonymous não precisa (nem deve) ser cadastrado em seu Conectiva Linux, já que ele é um usuário especial para o servidor FTP. Quando é feita uma tentativa de acesso com o usuário anonymous, o servidor automaticamente trata o acesso como anônimo, aceitando o endereço de correio eletrônico como senha. Se algo não der certo, verifique se o pacote para acesso anônimo está instalado e reveja as configurações.

  • Você pode utilizar um arquivo .message para dar breves explicações sobre os propósitos dos diretórios que estão sendo acessados. Além disso, você poderia ajudar o usuário a encontrar o que ele está procurando. Para testar, crie um arquivo .message como um arquivo texto e coloque-o no diretório onde ele deve ser mostrado, com mensagens úteis sobre o acesso ao servidor FTP. Reinicialize o Proftpd e acesse o servidor novamente.

Referências