Proftpd
-
Upload
carlos-melo -
Category
Education
-
view
3.872 -
download
7
Transcript of Proftpd
Entendendo a configuração do ProFTPd
Como todo daemon, o ProFTPd é configurado através de um arquivo texto/etc/proftpd.conf. O ProFTPd lê o arquivo cada vez que é iniciado, portanto cada alteração feita neste arquivo só entrará em vigor após reiniciar o daemon.
No arquivo de configuração do ProFTPd é utilizado o conceito de contextos em sua configuração e em cada contexto temos as diretivas. Resumindo os contextos são opções globais de um comportamento e a diretiva seria um sub-comportamento.
Contextos
Os contextos são divididos em cinco categorias:
• contexto principal: contém as configurações default utilizadas por outros contextos;
• contexto <Directory DIR>: determina o comportamento do ProFTPd no diretório.• contexto <Anonymous DIR>: determina o comportamento do ProFTPd quando o
usuário anonymous se loga a partir de qual diretório(DIR) ele será servido;• contexto <Limit AÇÃO>: determina as ações no ProFTPd que são:
* LOGIN - usuário válido se logando. * READ - downloads de arquivos. * WRITE - uploads de arquivos. * STOR - upload de arquivos sem possibilidade de criação e deleção de diretórios.
• contexto <VirtualHost IP>: define a criação de ftp's virtuais;
Exemplo de Configuração
Este FTP eu montei e está rodando em um Red Hat 9.0. O pacote usado foi proftpd-1.2.9rc1.tar.bz2.
Nessa configuração você poderá realizar o download de arquivos na pasta PUB e o upload na pasta incoming. A pasta incoming deverá ser criada.
Para a configuração do webmin para quem gosta do padrão Windows seguem os caminhos:
• config file: /usr/local/"proftpd/"etc/proftpd.conf• executable: /usr/local/"proftpd/"sbin/proftpd• PID file: /usr/local/"proftpd/"var/proftpd.pid• ftpusers file: usr/local/"proftpd/"etc/ftpusers
"/"proftpd/" - é para quem usou o prefix la em cima na instalação.
proftpd.conf
## Configuração do ProFTPd#
# Configuração
ServerName "FTP - Ftp para transferência de arquivos"ServerType standaloneDefaultServer on
ScoreboardFile /usr/local/var/run/proftpd.scoreboardServerAdmin root@localhost#SyslogFacility AUTH
# Para funcionar em modo Stand Alone deve-se usar a porta 21 (default)# So ira mudar caso queira configurar um servidor virtualPort 21
# Umask define as permissões nos diretórios. Umask 022 tem uma boa definição pois# não permitira que o grupo e outros usuários criem diretórios e gravem arquivos#Umask 022
# Esta opção foi colocada para prevenir ataques do tipo DoS, sendo assim você po# dera aumentar ou diminuir o numero de conexões simultâneas. So tem validade no# modo standalone.MaxInstances 8
# Usuário e grupo para rodar o servidor FTP. Tendo como usuário nobody e grupo no# group eles não terão privilégios caso seja descoberto alguma vulnerabilidade n# o sistema, sendo assim caso não possuam eles no sistema criem.User nobodyGroup nobody
# Apenas faz com que o usuário acesse o seu diretório $HOMEDefaultRoot ~ <Directory /*> AllowOverwrite no </Directory># Configuração básica para o ftp anônimo, sem diretório para recepção de arquivo# s<Anonymous ~ftp> User ftp Group ftp DirFakeUser on DirFakeGroup on RequireValidShell off# Configuração para que ftp = anonymous UserAlias anonymous ftp
# Numero máximo de logins anônimosMaxClients 5 "Numero máximo de clientes atingido, tente mais tarde por favor."
# Máximo de Conexões por clienteMaxClientsPerHost 8 "Você já esta com muitas conexões simultâneas."
# Mensagem de entrada e o .message e a mensagem para cada diretório acessado.DisplayLogin msg.welcomeDisplayFirstChdir .messageAccessGrantMsg "Acesso Anônimo aceito para %u."
# Permissão para gravação no chroot anônimo<Limit WRITE> Denyall</Limit>
</Anonymous>
# Permitindo Uploads<Anonymous ~ftp> User ftp Group ftp UserAlias anonymous ftp <Directory *> <Limit WRITE> DenyAll
</Limit> </Directory> <Directory incoming/> <Limit STOR MKD> AllowAll </Limit> </Directory></Anonymous>
OBS: para a pasta upload funcionar corretamente, caso vocês queiram utilizar outro diretório, ela só funcionou corretamente quando adicionei ao grupo ftp o usuário anonymous. Com respeito ao log, o arquivo é o seguinte: /var/log/xferlog. Este é o arquivo de log do proftpd.