Vous êtes sur la page 1sur 2

Servidor FTP

O Protocolo de Transferência de Arquivos (FTP) é um protocolo TCP para upload e download de arquivos
entre computadores. O FTP funciona em um modelo cliente/servidor. O componente de servidor é chamado
de FTP daemon. Continuamente observa requisições FTP de clientes remotos. Quando uma requisição é
recebida, administra o login e inicia a conexão. Até o fim da sessão, executa qualquer comando enviado
pelo cliente FTP.
Acesso à um servidor FTP pode ser controlado em 2 maneiras:
• Anônimo
• Autenticado
No modo Anônimo, clientes remotos podem acessar o servidor FTP usando a conta de usuário padrão
chamada "anonymous" ou "ftp" e enviando um endereço de email como senha. No modo Autenticado um
usuário deve ter uma conta e uma senha. Acessos de usuários aos diretórios e arquivos do servidor FTP é
independente das permissões definidas para uma conta de usuário no login. Como regra geral, o deamon
do FTP irá esconder o diretório raiz do servidor FTP e mudá-lo para o diretório Home do FTP. Isto esconde o
resto do sistema de arquivo de sessões remotas.

vsftpd - Instalação de Servidor FTP


vsftpd é um daemon FTP disponível no Ubuntu. É fácil de instalar, configurar e manter. Para instalar o
vsftpd você pode executar o seguinte comando:
sudo apt-get install vsftpd

Configuração de FTP anônimo


Por padrão, o vsftpd é configurado para permitir somente downloads anônimos. Durante a instalação um
usuário ftp é criado, com o diretório home localizado em /home/ftp. Esté é o diretório padrão do FTP.
Caso deseje mudar este diretório para /srv/ftp por exemplo, simplesmente crie este diretório e aponte-o
como o diretório home do usuário ftp.
sudo mkdir /srv/ftp
sudo usermod -d /srv/ftp ftp
Após efetuar a mudança, reinicie o vsftpd:
sudo /etc/init.d/vsftpd restart
Finalmente, copie os arquivos e diretórios que você gostaria de disponibilizar por FTP anônimo para /srv/ftp.

Configuração do usuário autenticado do FTP


Para configurar o vsftpd para autenticar usuários do sistema e permitir que eles possam realizar o upload
de arquivos, edite /etc/vsftpd.conf:
local_enable=YES
write_enable=YES
Agora reinicie vsftpd:
sudo /etc/init.d/vsftpd restart
Agora, quando os usuários do sistema logarem no FTP, eles terão o seu home como diretório inicial, de
onde poderão ser baixado, enviado, criar diretório, etc.
Por padrão, usuários anônimos não podem enviar arquivos para o servidor de FTP. Para modificar esta
configuração, você deve descomentar a seguinte linha e depois reiniciar o vsftpd:
anon_upload_enable=YES

Habilitar upload anônimo por FTP pode ser um alto risco de segurança. É
recomendável não habilitar este tipo de serviço em servidores conectados
diretamente à Internet.
O arquivo de configuração consiste de vários parâmetros de configuração. A informação sobre cada
parâmetro está disponível no arquivo de configuração. Alternativamente, você pode se referir às páginas do
man, man 5 vsftpd.conf para mais detalhes sobre cada parâmetro.
Segurança FTP
Existem opções em /etc/vsftpd.conf que podem ajudar a tornar o vsftpd mais seguro. Como exemplo,
usuários podem ser configurados para acessar somente seus diretórios home descomentando o seguinte:
chroot_local_user=YES

Você também pode limitar uma lista específica de usuários para acesso à somente seus diretórios home:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

Após descomentar as opções acima, crie o arquivo /etc/vsftpd.chroot_list, contendo uma lista de usuários,
um por linha. Então, reinicie o vsftpd:
sudo /etc/init.d/vsftpd restart
O arquivo /etc/ftpusers possui uma lista de usuários com acesso ao FTP desabilitado. A lista padrão possui
root, daemon, nobody, etc. Para desabilitar o acesso FTP de algum outro usuário, simplesmente adicione-o
à lista.
O FTP pode ser criptografado usando FTPS. Diferentemente do SFTP, FTPS implementa o FTP sobre
Secure Socket Layer (SSL). Já o SFTP implementa uma sessão de FTP sobre uma conexão SSH
criptografada. A maior diferença é que usuários do SFTP precisam ter uma conta local shell no sistema, no
lugar de uma shell do tipo nologin. Fornecer shell para todos os usuários pode não ser ideal para alguns
ambientes, como um servidor web compartilhado.
Para configurar o FTPS, edite o arquivo /etc/vsftpd.conf e adicione no final:
ssl_enable=Yes

Verifique também as opções relacionadas à certificado e chaves:


rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

Por padrão estas opções irão definir o certificado e a chave fornecida pelo pacote ssl-cert. Em um ambiente
de produção, estes deverão ser substituídos por um certificado e uma chave gerados para o host específico.
Para mais informações sobre certificados consulte “Certificados”.
Agora reinicie o vsftpd, e usuários que não sejam anônimos serão forçados a utilizar o FTPS:
sudo /etc/init.d/vsftpd restart
Para permitir que usuários com shell do tipo /usr/sbin/nologin acessem o FTP sem ter acesso ao shell, edite
/etc/shells adicionando a shell nologin:
# /etc/shells: logins com shells válidos
/bin/csh /bin/ksh /usr/bin/esh /usr/bin/screen
/bin/sh /usr/bin/rc /bin/dash /usr/sbin/nologin
/usr/bin/es /usr/bin/tcsh /bin/bash
/usr/bin/ksh /bin/tcsh /bin/rbash

Isto é necessário porque o vsftpd utiliza autenticação PAM por padrão e o arquivo de configuração
/etc/pam.d/vsftpd contém:
auth required pam_shells.so

O módulo de shells PAM restringe o acesso para shells listadas no arquivo /etc/shells.
A maioria dos clientes de FTP populares podem ser configurados para utilização do FTPS. O cliente de FTP
por linha de comando lftp também pode ser configurado para utilização do FTPS.

Vous aimerez peut-être aussi