Proftpd

3
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 standalone DefaultServer on

Transcript of Proftpd

Page 1: 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

Page 2: Proftpd

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

Page 3: Proftpd

</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.