FTP O PROTOCOLO FTP FTP significa File Transfer Protocol

Transcrição

FTP O PROTOCOLO FTP FTP significa File Transfer Protocol
Aula 18 – Redes de Computadores – 21/11/2007
Universidade do Contestado – UnC/Mafra
Curso Sistemas de Informação
Prof. Carlos Guerber
SERVIÇOS DE REDES: FTP
O PROTOCOLO FTP
FTP significa File Transfer Protocol (Protocolo de Transferência de
Arquivos), e é uma forma bastante rápida e versátil de transferir arquivos sendo
uma das mais usadas na internet.
1. Conexões FTP de modo ativo são algumas vezes chamadas de
conexões "gerenciadas pelo cliente" porque o cliente envia um comando
PORT ao servidor na conexão do controle. O comando solicita ao
servidor que estabeleça uma conexão de dados da porta TCP 20 no
servidor até o cliente com a porta TCP especificada pelo comando
PORT.
2. Conexões FTP de modo passivo são às vezes chamadas de conexões
"gerenciadas pelo servidor" porque, depois que o cliente emite o
comando PASV, o servidor responde com uma de suas portas
temporárias usadas como a porta do servidor na conexão de dados.
Depois que um comando de conexão de dados é emitido pelo cliente, o
servidor se conecta ao cliente usando a porta imediatamente acima da
porta do cliente na conexão do controle.
O FTP é um dos meios mais comum de se copiar arquivos de um lugar
para outro na Internet. É bastante antigo, inclusive existe suporte até para os
sistemas Mainframe.
Por esse fato, é desnecessário dizer que é um protocolo bastante
simples e não foi projetado pra atender os requisitos de segurança que se
fazem necessários nos dias atuais. Por isso mesmo, precisamos entender o
seu funcionamento (pelo menos o básico), pra ajustarmos nosso ambiente de
rede (corporativo ou não), pra melhor configurar a disponibilidade e a
segurança do processo.
O Protocolo FTP faz parte da suíte de protocolos TCP/IP e trabalha na
camada de Aplicação de sua Arquitetura. Diferentemente do http, por exemplo,
e de outros protocolos usados na Internet, o FTP usa no mínimo duas
conexões durante uma sessão: uma conexão half-duplex para controle e uma
conexão full-duplex para transferência de dados. Para isso, utiliza as portas 20
e 21 para se comunicar e transmitir dados. A RFC 959 é atualmente o
documento oficial que dita seus padrões.
A porta 21 é utilizada para estabelecer e manter a comunicação entre o
cliente e o servidor. Essa sessão também é conhecida como ‘Control Channel’.
É ela quem verifica se a conexão com o servidor ainda existe.
A porta 20 é utilizada para a transferência dos dados (arquivos),
propriamente dita. É conhecida também como ‘Data Channel’. É nela que é
feito o controle do fluxo e integridade dos dados.
Para utilizar o FTP, a estação cliente realiza uma conexão com o
servidor FTP na porta 21. Após a conexão estabelecida, para cada arquivo
transferido estabelece-se uma nova conexão, chamada de conexão de dados.
Por padrão, a porta TCP 21 é usada no servidor para controlar a conexão, mas
a conexão de dados é determinada pelo método que o cliente usa para se
conectar ao servidor. Assim, existem 2 tipos de conexões:
Figura - 1 - FTP Ativo e Passivo
Uma sessão FTP geralmente envolve os elementos ilustrados na figura
abaixo.
logs, você poderá verificar o bloqueio da porta consultando os logs de
negação/rejeição do dispositivo de segurança.
O firewall com filtro de pacotes com base no estado da conexão
consegue analisar todo o tráfego da conexão FTP, identificando qual o tipo de
transferência que será utilizada (ativa ou passiva) e quais as portas que serão
utilizadas para estabelecer a conexão. Sendo assim, todas as vezes que o
firewall identifica que uma transferência de arquivos se realizará, é
acrescentado uma entrada na tabela de estados, permitindo que a conexão
seja estabelecida. As informações ficam armazenadas na tabela somente
enquanto a transferência do arquivo é realizada.
Com FTP ativo, quando um usuário se conecta ao servidor FTP remoto
e solicita informações ou um arquivo, o servidor FTP abre uma nova conexão
com o cliente para transferir os dados. Esta é a chamada conexão de dados.
Para iniciar, o cliente FTP escolhe uma porta aleatória para receber a conexão
de dados. O cliente envia o número da porta escolhida para o servidor FTP e
fica esperando uma conexão nessa porta.
Figura - 2 - Modelo de Conexão FTP
Então o servidor FTP inicia a conexão com o endereço do cliente na
porta escolhida e transfere os dados. Isto se torna um problema para usuários
atrás de um gateway NAT tentando se conectar a servidores FTP.
1. Interface com o usuário – Aplicativo responsável pela comunicação
entre o usuário e o interpretador do protocolo;
Por causa da forma como NAT funciona, o servidor FTP inicializa a
conexão de dados se conectando ao endereço externo do gateway NAT na
porta escolhida. A máquina fazendo NAT receberá o pedido, mas como não
possui mapeamento para o pacote na tabela de estado, descartará o pacote
sem entrega-lo ao cliente.
2. Interpretador de protocolo (Client/Server PI) – através da conexão
de controle (Porta 21), conversa com o interpretador de protocolo do lado
servidor (Server PI) e juntos controlam a transferência. Também controla o
processo de transferência de dados do cliente (Client DTP).
3. Processo de transferência de dados (Client/Server DTP) –
responsável pela comunicação com o Server DTP através da conexão de
dados (Porta 20). É a parte do cliente que realmente realiza transferência de
dados. Controla também o sistema de arquivos local (4).
No modo FTP passivo, o cliente pede ao servidor que escolha uma porta
aleatória para ouvir esperando a conexão de dados. O servidor informa ao
cliente a porta escolhida e o cliente se conecta na porta para transferir os
dados. Infelizmente, isto nem sempre é possível ou desejável, por causa da
possibilidade do firewall em frente ao servidor FTP bloquear a conexão de
dados em portas aleatórias.
Em resumo, há dois pontos a considerar. O primeiro é o modo de
conexão, que pode ser passivo ou ativo; o segundo é o modo de transferência
de dados, que pode ser de fluxo, de bloco ou compactado.
TRANSFERÊNCIA DE DADOS E FIREWALLS
O problema que ocorre com mais freqüência no FTP pela Internet
envolve a transferência de dados por servidor proxy, firewall ou dispositivo de
conversão de endereços de rede (NAT). Em muitos casos, esses dispositivos
de segurança de rede permitem que a conexão de controle seja estabelecida
na porta TCP 21 (ou seja, o usuário faz o logon com êxito no servidor FTP);
porém, quando o usuário tenta realizar uma transferência de dados do tipo DIR,
LS, GET ou PUT, o cliente FTP aparentemente para de responder porque o
dispositivo de segurança da rede bloqueia a porta de conexão de dados
especificada pelo cliente. Se o dispositivo de segurança da rede der suporte a
O serviço FTP do IIS dá suporte às conexões de modo ativo e passivo,
dependendo do método especificado pelo cliente. O IIS FTP não permite
desabilitar os modos de conexão ativo ou passivo.
O modo de transferência de dados padrão do FTP do IIS é de fluxo. No
momento, o IIS não dá suporte ao modo de transferência de dados de bloco ou
compactado.
A tabela a seguir contém clientes FTP fornecidos pela Microsoft e o
modo de conexão a que cada cliente dá suporte.
Tabela 1 - Clientes FTP Microsoft
O FTP é um auxiliar indispensável para webdesigners, DBAs, e outros
profissionais que necessitam constantemente publicar, criar ou sincronizar
dados, planilhas, pagínas html, etc.
Mais uma vez, vale a pena lembrar-se de que entender os processos
básicos de conexão e transmissão de dados via FTP é importante para a
correta configuração de seu ambiente de rede, tanto no que se diz respeito ao
seu bom funcionamento como aos aspectos de segurança dos dados.
SEGURANÇA
Porque a preocupação com segurança?
Bom, em princípio, vamos deixar a parte mais ‘fantasiosa’ de lado que
são ataques como descritos em filmes clássicos como A Rede e Swordfish e
olharmos o lado prático e real.
Apesar da Internet ser a “fonte de todos os males”, algo mais próximo e
real é a pior de todas; nossos próprios usuários. Usuários insatisfeitos com a
empresa, desonestos e ignorantes, no sentido de desconhecedores, deve ser
sua maior preocupação. Os primeiros porque têm a intenção em causar danos,
e isso faz com que eles procurem agulha em palheiro pra atingirem seus
objetivos e os últimos por total falta de conhecimento podem realizar acessos
indevidos e cometerem os mais absurdos dos erros sem ao menos saberem
que os fizeram. E não pense que isso é exclusivo de grandes corporações, se
você tem um usuário você já tem um problema.
Diante disso, se você é um administrador de redes como eu, deve ter
uma preocupação quase que paranóica com a segurança de seus servidores
porque, diante das leis atuais você é cúmplice de todo e qualquer dano
causado aos negócios da empresa por uma falha de segurança explorada em
seus servidores até que se prove o contrário. Essa segurança não se trata
somente de questões técnicas mas também administrativas e de
disponibilidade de serviços. Nos dias atuais, os administradores de rede
devem ser além de especialistas na área, conhecedores das leis sobre
recursos digitais, dos negócios da corporação em detalhes, atentos às normas
de conduta (execrar os tais ‘jeitinhos brasileiros’), e cientes de tudo o que
acontece no seu território de trabalho.

Documentos relacionados