11.3. Servidor de Arquivos FTP
O FTP (File Transfer Protocol) é um dos primeiros protocolos da internet (a RFC 959 foi emitida em 1985!). Ele era usado para distribuir arquivos antes mesmo que a Web tivesse nascido (o protocolo HTTP foi criado em 1990, e formalmente definido em sua versão 1.0 pela RFC 1945, emitida em 1996).
Esse protocolo permite tanto enviar arquivos quanto baixar arquivos; por essa razão, ele ainda é amplamente usado para implantar atualizações em um site web hospedado em um provedor de serviço de internet de alguém (ou qualquer outra entidade que hospede sites web). Nesses casos, o acesso seguro é reforçado com a identificação de usuário e uma senha; em caso de sucesso na autenticação, o servidor FTP dá acesso a leitura-escrita para o diretório principal (home) do usuário.
Outros servidores FTP são principalmente usados para distribuir arquivos para qualquer um baixar; os pacotes Debian são um bom exemplo. O conteúdo desses servidores é obtido de outro servidor geograficamente remoto; e então disponibilizados para usuários menos distantes. Isso significa que a autenticação do cliente não é necessária; como consequência, esse modo de operação é conhecido como “anonymous FTP”. Para ser mais correto, os cliente fazem uma autenticação com nome de usuário anonymous
; a senha é, geralmente, por convenção, o endereço de email do usuário, mas o servidor ignora isso.
Estão disponíveis no Debian muitos servidores FTP (ftpd, proftpd-basic, pyftpd e mais). Os administradores da Falcot Corp escolheram o vsftpd porque eles apenas usam o servidor FTP para distribuir alguns arquivos (incluindo um repositório de pacotes Debian); como eles não precisam de recursos avançados, eles escolheram focar nos aspectos de segurança.
A instalação do pacote cria um usuário ftp
no sistema. Essa conta é sempre usada para conexões de FTP anônimas, e seu diretório inicial (home) (/srv/ftp/
) é a raiz da árvore que está disponível ao usuários que se conectam a esse serviço. A configuração padrão (em /etc/vsftpd.conf
) necessita de algumas mudanças para atender a simples necessidade de tornar grandes arquivos disponíveis para baixar pelo público: o acesso anônimo precisa ser habilitado (anonymous_enable=YES
) e o acesso apenas para leitura de usuários locais precisa ser desabilitado (local_enable=NO
). Esse último é particularmente importante já que o protocolo FTP não usa nenhuma forma de criptografia e a senha do usuário poderia ser interceptada pelo cabo.