Você está na página 1de 8

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
<Directory /*>
AllowOverwrite
</Directory>

nogroup

# Grupo Dono do proftpd

on

# Configurao bsica para ftp annimo, sem diretrio para recepo de arquivos
<Anonymous ~ftp>
# 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
<Limit WRITE>
DenyAll
</Limit>
</Anonymous>

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 ?
connections)

Ss

13:51 0:00 proftpd: (accepting

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-ipubuntu/
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
PassivePorts

aqui.vaiSeu.ip.externo
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-1204Criacao-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-ftpfile-transfer-protocol >