quinta-feira, 7 de abril de 2011

ProFTPd (Instalando e Configurando)

Estamos de volta com nosso tutorial sobre Redes de Computadores no FreeBSD, e hoje falaremos sobre ProFTPd.

O ProFTPd é um software que provê serviço de FTP de forma bastante eficiente e tem como característica a segurança e flexibilidade, ou seja, altamente configurável. Ele possui muitas vantagem e, por isso, ´muito utilizado em sites de grande tráfego.

Dentre essas vantagens podemos destacar como principais:
  • configuração fácil;
  • pode ser configurado em modo standalone ou através do inetd;
  • o PID é executado por um usuário desprivilegiado (nobody);
  • formato do arquivo de log extremamente configurável;
  • fácil administração do FTP, com relação a forma de restrição, acesso aos arquivos;
  • permite a configuração do número máximo de processos em execução, minimizando vulnerabilidades;
Iremos explicar agora, passo-a-passo, a instalação e configuração do ProFTPd.

Instalação:

1º)  No terminal de comandos do FreeBSD, instale o proftpd tilizando o comando abaixo:


# cd /usr/ports/ftp/proftpd && make install clean


/*Esse comando irá baixar o código fonte via FTP, que será compilado, permitindo assim a instalação*/


2º) Logo após isso será exibida a tela abaixo:





Selecione as seguintes opções:


  • IFSESSION                                             Include mod_ifsession 
  • README                                               Include mod_readme 
  • RATIO                                                   Include mod_ratio 
  • REWRITE                                             Include mod_rewrite 
  • WRAP                                                   Include mod_wrap

3º) Clique em "OK" para concluir a instalação.

Pronto! Seu ProFTPD está instalado, pronto para ser utilizado! Digo...quase. Antes, é necessário configurá-lo.

Configuração:

  •  Tendo instalado o ProFTPD, entre no arquivo de configuração que fica no seguinte caminho:

/usr/local/etc/proftpd.conf

aparecerá a seguinte tela:




Nela você encontrará as seguintes informações:
----------------------------------------------------------------------------------------------
# Arquivo que exibira' a mensagem de boas vindas no momento da conexao.
DisplayConnect /usr/local/etc/proftpd.banner # Edite este arquivo para sua mensagem personalizada

# Não exibe informacoes sobre que tipo de servidor esta' rodando, boa pratica de seguranca.
ServerIdent off

# Modo no qual o servidor ira' rodar (standalone ou inetd), standalone tem melhor desempelho.
ServerType standalone

# Como nao temos VirtualHosts, este servidor (principal) sera' o padrao.
DefaultServer on

# Porta para o socket de controle.
Port 21

# Umask padrao para arquivos uploaded
Umask 022

# Maximo de processos filho (cada conexao utiliza um processo)
MaxInstances 30

# Maximo de usuarios autenticados (incluindo anonimos) e mensagem
MaxClients 20 "Desculpe, mas o numero maximo de clientes foi atingido. Tente mais tarde."

# Maximo de usuarios autenticados (incluindo anonimos) por IP
MaxClientsPerHost 4 "Desculpe, mas o maximo de 4 conexoes por cliente foi atingido. Tente mais tarde."

# Usuario sob o qual o servidor ira rodar, criado automaticamente na instalacao.
User ftp

# Grupo sob o qual o servidor ira rodar, criado automaticamente na instalacao.
Group ftp

# Os usuarios nao poderao sair de seu diretorio home (chrooted).
DefaultRoot ~

# Nao permite o login do usuario root, você pode habilitar essa opção, mas nao e' uma boa pratica de seguranca.
RootLogin off

# Nao requer que os usuarios tenham um shell valido (definido em /etc/shells).
RequireValidShell off

# Nao bloqueia usuarios baseando-se no arquivo /etc/ftpusers.
UseFtpUsers off

# Tempo maximo em segundos para login.
TimeoutLogin 120

# Tempo maximo em segundos conectado mas sem qualquer comando ou troca de dados.
TimeoutIdle 600

# Tempo maximo em segundos sem transferencia de dados (arquivos, listagens de diretorios).
TimeoutNoTransfer 900

# Tempo maximo em segundos com uma transferencia parada, travada.
TimeoutStalled 900

# Numero maximo de tentativas de login.
MaxLoginAttempts 3

# Nao tenta descobrir o hostname do cliente.
UseReverseDNS off

# Nao tenta efetuar consulta do username remoto (ident - RFC1413).
IdentLookups off

# Arquivo de log geral.
SystemLog /var/log/proftpd/system.log

# Arquivo de log das transferencias.
TransferLog /var/log/proftpd/transfer.log

# Especifica o modo de transferencia padrao (ascii ou binary).
DefaultTransferMode binary

# Permite que arquivos sejam sobrescritos (caso seja feito upload de um arquivo ja existente).
AllowOverwrite on

# Abre o contexto de usuarios anonimos, especificando a raiz do FTP anonimo.


# Usuario sob o qual cada instancia de FTP anonimo deve rodar
User ftp

# Grupo sob o qual cada instancia de FTP anonimo deve rodar
Group ftp

# Define o login anonymous como sinonimo (alias) do login ftp
UserAlias anonymous ftp

# Numero maximo de usuarios anonimos
MaxClients 10

# Limita qualquer gravacao neste contexto (por exemplo upload de arquivo)

DenyAll

# Fecha o contexto de usuarios anonimos

----------------------------------------------------------------------------------------------

  • Procure no arquivo os campos "user" e "group" e troque o "nobody" e "nogroup" por "ftp"

  • Troque os valores:

    #<Anonymous ~ftp>
    #User nobody
    #Group nogroup

    Para

    <Anonymous /usr/ftp>
    User ftp
    Group ftp
Para configurar o ftp anônimo execute o comando "sysinstall". Aparecerá a seguinte tela:



  • Selecione as opções:
configure=> networking
  • Irá aparecer outra tela com opções. Habilite a opção: anon ftp
  • Será perguntado se você deseja configurar o ftp anônimo. Secione: "YES"
  • Aparecerá uma tela como abaixo. Não altere nada e clique em "OK".

  •  O assistente irá perguntar se voce deseja configurar ma mensagem personalizada para qem logar como anônimo, escolha "yes".
  • Digite uma mensagem, salve e saia do editor de texto.
  •  Após sair, você verá a seguinte tela:



  •  Selecione "exit" e tecle "enter". (Será necessário fazer isso 2 vezes)
  •  Tecle "seta para direita" e selecione "Exit Install"

  • Para configurar o ip digite o seguinte comando:
#ee /etc/hosts
  • Crie uma linha no final do arquivo que contenha o ip do seu computador e o nome dele.

  • Para iniciar o ProFTP no boot.  Digite a seguinte linha de comando
#ee/etc/rc.conf
  • Adicione ao fim do arquivo a linha:
    proftpd_enable="YES"
Pronto! Agora sim seu ProFTPD está instalado, configurado e pronto para o uso.

Iniciando e parando o serviço de FTP:


  • Para inicializar digite o seguinte comando:
# /usr/local/etc/rc.d/proftpd.sh start

  • Para finalizar digite:
/usr/local/etc/rc.d/proftpd.sh stop

Outros comandos úteis:

ftpcount -> mostra o número atual de conexões ao servidor FTP
ftpwho -> mostra quais usuários estão conectados atualmente
ftptop -> mostra informações sobre as conexões num estilo parecido ao do comando top
ftpshut -> tira o servidor FTP do ar, sem encerrar seu processo. Para retornar, deve-se executar "ftpshut -R"

//==========================================================

Bem. Esperamos ter ajudado você a entender melhor o processo de instalação e configuração do ProFTPD. Em breve virão novas postagens. Aguarde.

//==========================================================


Bibliografia:

http://www2.unijui.edu.br/~heini/freebsd/proftpd.html
http://robertors.blogspot.com/2006/08/freebsd-instalando-proftpd.html
http://www.vivaolinux.com.br/artigo/Configuracao-do-ProFTPd

Nenhum comentário:

Postar um comentário