O ProFTPd é um software que provê serviço de FTP de forma bastante eficiente
e tem como característica a segurança e flexibilidade.
Dentre as vantagens do ProFTPd podemos citar as principais:
Dentre as vantagens do ProFTPd podemos citar as principais:
- configuração fácil;
- o PID é executado por um usuário desprivilegiado (nobody);
- formato do arquivo de log extremamente configurável;
- permite a configuração do número máximo de processos em execução, minimizando vulnerabilidades;
Instalação
A instalação do ProFTPd no Debian é extremamente simples, basta utilizar o apt-get:
# apt-get install proftpd
Caso não tenha configurado os repositórios oficiais, pode-se utilizar o próprio CD 1 do Debian.
Após instalado, vamos as configurações.
Configurando o ProFTPd
A configuração do ProFTPd é feita basicamente em um único arquivo de configuração, o proftpd.conf, para editá-lo vamos abrí-lo em um editor de texto qualquer, minha escolha foi o vim:
# vim /etc/proftpd/proftpd.conf
Ao abrí-lo, ele já mostra todas as configurações sem muita enrolação, mas no caso, vou especificar somente as que irão ser importantes para deixá-lo funcionando e a seu gosto.
Vamos começar pelo início do arquivo (obviamente), por volta da linha 10, existe a seguinte opção:
UseIPV6 on
Se sua rede dispõe de suporte IPV6, deixe esta opção como "on" mas se não dispõe e não tem intenção de aplicá-lo na rede, marque esta opção como "off" para melhor desempenho.
Uma opção bem interessante, é a que está na linha 33:
# Use this to jail all users in their homes
# DefaultRoot ~
(Esta opção só funciona no modo autenticado, obviamente)
Já é auto explicativo, mas para quem não intendeu, esta opção "prende" o usuário na sua pasta home, assim, o usuário só terá acesso aos arquivos da sua pasta home. Em alguns casos esta opção se torna insdispensável, por exemplo, quando é desejável que o usuário tenha uma pasta no servidor com acesso restrito somente a ele.
Para ativá-la, basta somente retirar o "#" da frente da linha, ficando:
# Use this to jail all users in their homes
DefaultRoot ~
Um pouco mais abaixo, na linha 40, existe a opção port:
# Port 21 is the standard FTP port.
Port 21
Isto significa que, o servido FTP estará rodando na porta 21, ou seja, sua porta padrão.
Em alguns casos, é provavel que se queira, por questões de segurança, que o ProFTPd rode em outra porta, como por exemplo e aleatoriamente, a porta 44.
Ficando assim:
# Port 21 is the standard FTP port.
Port 44
Assim, na hora de acessar seu servidor FTP, deverá ser especificada a porta, acessando o endereço mais a porta:
ftp://enderecodoservidor:44
Bem mais abaixo, existe uma regra que se inicia na linha 137 e só termina no fim do arquivo, a linha 176, esta regra define se será necessária a autenticação do usuário para acessar o FTP, isto se torna interessante quando você precisa de um servidor FTP público, onde inúmeras pessoas vão acessar o FTP mas não possuem conta no servidor ou não possuem nenhum tipo de cadastro, simplesmente o que você quer é disponibilizar alguns arquivos públicos no servidor FTP.
Para ativar, deve retirar o comentário de todas estas linhas, começando por <Anonymous ~ftp> e terminando em </Anonymous>, ficando assim:
<Anonymous /ftp>
User ftp
Group nogroup
# We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias anonymous ftp
# Cosmetic changes, all files belongs to ftp user
DirFakeUser on ftp
DirFakeGroup on ftp
RequireValidShell off
#
# Limit the maximum number of anonymous logins
MaxClients 10
# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
DisplayLogin welcome.msg
DisplayChdir .message
# Limit WRITE everywhere in the anonymous chroot
<Directory *>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
# Uncomment this if you're brave.
# <Directory incoming>
# # Umask 022 is a good standard umask to prevent new files and dirs
# # (second parm) from being group and world writable.
# Umask 022 022
# <Limit READ WRITE>
# DenyAll
# </Limit>
# <Limit STOR>
# AllowAll
# </Limit>
# </Directory>
</Anonymous>
Agora vamos configurar esta regra. Logo no começo, na linha 137, está escrito:
<Anonymous ~ftp>
Isto está definindo que quando o usuário entrar, nao irá pedir senha, e irá ser direcionado para a pasta ~ftp, ou seja, a pasta raiz dele será a pasta ~ftp do sistema.
Lembrando que, o simbolo "~" representa a pasta home do sistema e o nome que vem depois representa o usuário, então se eu digitar o seguinte comando:
# ls ~fred
O sistema me retorna todos os arquivos listados dentro da home do usuário fred, ou seja, vai me retornar o conteúdo da pasta "/home/fred".
Mas, voltando a vaca fria, vamos entender uma situação aleatória:
Digamos que o sistema foi formatado definindo somente 512MB para a partição /home, e no servidor FTP está configurado para que seja aceito conexões anônimas e como pasta raiz a ~ftp, aí meu amigo, eu te pergunto: "É viável um servidor FTP utilizar apenas 512MB?" E ainda deve ser lembrado que existe os usuários do sistema dentro desta mesma partição, concorda comigo que isso vai gerar uma baita dor de cabeça?
Para evitar esses problemas, é aconselhável até que seja criada uma partição extra somente para o servidor FTP, dependendo de sua utilização.
Então, digamos que eu criei uma pasta para o servidor FTP (no caso de se criar uma partição para o FTP, basta montar na pasta e setar para que seja sempre montada lá):
# mkdir /ftp
Lembrando que a pasta pode ser criada no lugar que desejar.
Basta alterar no arquivo a seção <Anonymous ~ftp> para:
<Anonymous /ftp>
Você pode também limitar o número máximo de clientes conectados no servidor simultâneamente alterando a seguinte opção:
MaxClients 10
Podendo alterar para o valor que achar conveniente, por exemplo 50 pessoas:
MaxClients 50
Agora, para permitir que os usuário façam uploads para o servidor no modo anônimo, provavelmente na linha 158, procure por:
<Directory *>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
E deixe assim:
<Directory *>
<Limit WRITE>
AllowAll
</Limit>
</Directory>
Assim, todo usuário que entrar no FTP terá acesso e permissão para alterar o conteúdo da pasta.
Com isso, o servidor está configurado de forma básica e ao seu gosto.
Nenhum comentário:
Postar um comentário