8
  FTP 

00 - SOA - Apostila Base FTP

Embed Size (px)

Citation preview

  • FTP

  • FTP - File Transfer Protocol (Protocolo de Transferncia de Arquivos), um servio

    que prov a transferncia de arquivos de forma bastante eficiente. E tm como

    caractersticas a segurana e flexibilidade. As portas padres do FTP, so as 20

    (Conexo de dados) e 21 (Conexo de controle).

    O protocolo FTP tem como objetivos:

    Permitir uma partilha de ficheiros entre mquinas distantes;

    Permitir uma independncia dos sistemas de ficheiros das mquinas clientes e

    servidor; e

    Permitir transferir dados de maneira eficaz

    Dentre as vantagens do ProFTPd podemos citar as principais: Configurao fcil; Pode ser configurado em modo standalone ou atravs do inetd; O PID executado por um usurio desprivilegiado (nobody); Formato do arquivo de log extremamente configurvel; Fcil administrao do FTP, com relao a forma de restrio, acesso aos arquivos; Permite a configurao do nmero mximo de processos em execuo, minimizando vulnerabilidades.

    O modelo FTP

    O protocolo FTP inscreve-se num modelo cliente-servidor, ou seja, uma mquina

    envia ordens (o cliente) e a outra espera pedidos para efetuar aes (o servidor).

    Quando de uma conexo FTP, dois canais de transmisso esto abertos :

    Um canal para os comandos (canal de controlo)

    Um canal para os dados

  • O Cliente, tal como o servidor, possui dois processos que permitem gerir estes dois

    tipos de informao:

    O DTP (Data Transfer Process) o processo encarregado de estabelecer a

    conexo e gerir o canal de dados. O DTP do lado do servidor chama-se

    SERVER-DTP, o DTP lado cliente denominado USER-DTP

    O PI (Protocol Interpreter) o intrprete de protocolo que permite comandar o

    DTP com a ajuda de comandos recebidos no canal de controlo. diferente no

    cliente e no servidor:

    O SERVER-PI est encarregado de ouvir os comandos que provm de uma

    PI no canal de controlo numa porta dada, estabelecer a conexo para o canal

    de controlo, receber neste os comandos FTP da GASTAR-PI, responder-lhes

    e pilotar o SERVER-DTP

    O USER-PI est encarregado de estabelecer a conexo com o servidor FTP,

    enviar os comandos FTP, receber as respostas do SERVER-PI e de controlar

    USER-DTP se necessrio. Antes de iniciar a instalao do pacote, sugerimos que seja criado um usurio especificamente para acessar o FTP, com os comandos: $ sudo useradd -m -s /bin/false usuario_ftp $ sudo passwd usuario_ftp Explicando os comandos acima: No primeiro comando, a flag -m indica que deve ser criada uma pasta para esse usurio em /home e a flag -s, especifica o shell desse usurio (nesse caso sem shell). No segundo comando, definida a senha do novo usurio.

    Pacotes necessrios: proftpd

    Passos bsicos para a instalao e configurao do Servidor FTP:

    1 Passo: Instalar pacote

    apt-get install proftpd

    2 Passo: Configurar arquivo

    pico /etc/proftpd/proftpd.conf

    LEMBRETE: O diretrio mais comum para acesso /var/ftp (varia em cada distribuio Linux/Unix). nesse diretrio que colocamos os arquivos que queremos disponibilizar por meio do servidor FTP annimo. Nossa distribuio grava o arquivo de configurao no /home/ftp

  • Para configurar o arquivo proftpd.conf execute os seguintes comandos:

    - Renomeie o arquivo original cd /etc/proftpd/ cp proftpd.conf proftpd.conf.old

    Exemplo de configurao do arquivo proftpd.conf:

    # Configurao do Proftpd # /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file. # To really apply changes reload proftpd after modifications. # Includes DSO modules Include /etc/proftpd/modules.conf # Set off to disable IPv6 support which is annoying on IPv4 only boxes. UseIPv6 on ServerName "ProFTPD - Instalao Padro" # Nome do Servidor FTP ServerType inetd # Servidor pode ser inetd ou standalone DefaultServer on Port 21 # Porta em que opera o proftpd ScoreboardPath /var/run DeferWelcome on # Ativa mensagem de boas vindas MultilineRFC2228 on ShowSymlinks on TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200 DisplayLogin welcome.msg # Mensagem de login est no arquivo welcome.msg DisplayFirstChdir . message # Mensagem no diretrio ListOptions "-l" DenyFilter \*.*/ RootLogin off # permite ou no o login pelo usurio root ServerIdent on "Mensagem para os usuarios" ServerAdmin root@localhost DefaultRoot ~ RequireValidShell off # Umask 022 um bom padro para prevenir que novos diretrios e # arquivos sejam gravveis pelo grupo ou outros usurios Umask 022 # Caso queira bloquear upload de arquivos que possuam as extenses .mp3, .mpg, .wmv e .avi. PathDenyFilter "(.*\.mp3)| (.*\.mpg)| (.*\.wmv)| (.*\avi)$" # Usurio e grupo para o servidor User proftpd # Usurio Dono do proftpd

  • Group nogroup # Grupo Dono do proftpd AllowOverwrite on # Configurao bsica para ftp annimo, sem diretrio para recepo de arquivos # Os arquivos sero gravados no diretrio padro do FTP /var/ftp User proftpd # usurio dono do Servio Group nogroup # grupo dono do Servio UserAlias anonymous ftp # usurios anonymous e FTP podem logar # nmero mximo de logins annimos MaxClients 10 "Nmero mximo de clientes, tente mais arde." # No mximo duas conexes por cliente MaxClientsPerHost 2 "Voc j est com muitas conexes simultneas." DisplayLogin welcome.msg # mensagem exibida no login DisplayFirstChdir .message # mostrado para cada diretrio acessado. # Limite gravao no chroot annimo // Usurio anniomo no grava dados DenyAll

    3 Passo: Iniciar o servio

    Para iniciar o servio basta executar o seguinte comando:

    /etc/init.d/proftpd restart

    4 Passo:: Para verificar se o ProFTPd est rodando: ps aux | grep proftpd Se obtiver esta linha como resposta porque ele esta rodando e aceitando conexes: proftpd 2183 0.0 5.7 2264 556 ? Ss 13:51 0:00 proftpd: (accepting connections) Outra forma acessar uma URL com seu navegador padro: ftp://localhost

  • Observaes: - Outras informaes podem ser encontradas em http://www.proftpd.org (site oficial do ProFTPD) - Este site aborda, inclusive, a configurao de virtual hosts e autenticao MySQL. - Lista de comandos FTP que podem ser utilizados no Shell: get - recebe arquivo do servidor put - envia arquivo para o servidor dir - exibe o contedo remoto da pasta rmdir - remover pasta na mquina remota rename - renomear arquivo mkdir - criar diretrio na pasta remota

    5 Passo::Habilitando o acesso externo

    O FTP proporcional o acesso fora da rede local. Para isso necessrio identificar IP

    externo. Para identificar o IP que est no momento pode ser acessado o site:

    http://www.whatismyip.com

    Se o IP do seu Servidor no seja fixo, necessrio utilizar o NO-IP. Para instalar e usar o NO-IP, acesse o site: http://www.informaticanaweb.com/instalacao-no-ip-ubuntu/ Caso no tenha um IP fixo, ou NO-IP, possvel continuar navegando sem desligar o Servidor FTP. Para isto, altere ou crie as seguinte linhas no arquivo /etc/proftpd/proftpd.conf: MasqueradeAddress aqui.vaiSeu.ip.externo

    PassivePorts 65500 65534

    Ser necessrio configurar esse aparelho de forma que, ao receber uma conexo

    FTP, ele envie para o seu computador (onde est o ProFTPD).

    Para isso, necessrio saber o IP da rede interna do seu computador e do seu

    roteador. Voc pode usar os comandos ifconfig e o route para localizar essas

    informaes.

    Para acessar seu roteador, coloque o IP interno dele no seu navegador. Vai precisar

    saber o login e a senha para acessar as configuraes do Roteador, procurando

    pela Port Forwarding ou algo parecido, realizando a seguinte configurao:

    Obs.: troque o 192.168.0.20 pelo IP interno do seu computador.

  • Obs.:

    Foi usada a porta 2121, porque geralmente a porta padro do FTP (21)

    bloqueada pela operadora.

    O IP do computador deve ser configurado manualmente e no por DHCP.

    Aps as configuraes dever ser reiniciado o proftpd novamente.

    necessrio colocar o numero da porta junto do IP externo.

    Exemplo: ftp://xxx.xxx.xxx.xxx:2121

  • Referencial Bibliogrfico

    Instalando e configurando Servidor FTP. Disponvel em:

    < http://www.vivaolinux.com.br/artigo/Servidor-FTP-externo-no-Ubuntu-1204-

    Criacao-e-configuracao/ >

    Bson. Servidor FTP bsico no Ubuntu Linux. Disponvel em:

    < http://www.youtube.com/watch?v=YOIKKe2hm8c >

    O Protocolo FTP. Disponvel em: < http://pt.kioskea.net/contents/265-o-protocolo-ftp-

    file-transfer-protocol >