Product SiteDocumentation Site

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.
Many FTP servers are available in Debian (ftpd[1], proftpd-basic, pyftpd and so on). The Falcot Corp administrators picked vsftpd because they only use the FTP server to distribute a few files (including a Debian package repository); since they don't need advanced features, they chose to focus on the security aspects.
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.


[1] The ftpd package is not included in Debian Buster due to a bug, which could not be solved before the release.