51952248 1285455275-seguranca-de-redes

Post on 30-Jul-2015

16 views 0 download

Transcript of 51952248 1285455275-seguranca-de-redes

Segurança de redes – conceitos e tecnologia

Paulo Gabriel © Soares2010

Segurança de Redes

Para que diversas redes comuniquem, é necessária a presença de um determinado tipo de componente: o router. É o responsável pela comunicação de dados entre redes distintas.

Desempenha esta tarefa analisando os campos de endereço origem e destino, a tabela de rotas e enviando o pacote pelo caminho presente na tabela (rota) ou pelo melhor caminho (caso existam várias rotas para um mesmo destino, e caso o router seja dinâmico).

Em conjunto com o endereço físico das placas de rede, o endereçamento lógico, usado pelos routers, pode ser determinado manualmente. Já o endereço físico não, é registado pelo fabricante na interface de rede.

Paulo Soares

Interligando Redes

Então temos um problema: se trocarmos a placa de rede ao computador este não conseguirá comunicar na rede. Isto seria verdade se não existisse o endereçamento lógico, pois ao trocarmos a interface de rede, todas as tabelas de encaminhamento teriam de ser trocadas, pois o endereço mudou e porque o endereço físico não possui nenhuma característica hierárquica.

Para resolver o problema, as pilhas e o protocolo criaram uma associação entre o endereço físico e o lógico. Tomemos como exemplo a pilha de protocolos TCP/IP. Nela existe um protocolo chamado ARP (Address Resolution Protocol), responsável por descobrir endereços físicos e associá-los a endereços lógicos.

Funciona da seguinte forma:

Paulo Soares

Interligando Redes

Dois computadores numa mesma rede:

1. Computador A deseja comunicar com computador B2. Computador A envia uma chamada ARP para a

rede, para todos os computadores, perguntando “Qual o endereço físico do computador que possui endereço lógico

xpto?”3. Computador xpto ouve e responde: “o meu endereço

físico é zpto!”4. A partir deste momento, o computador A poderá

enviar os pacotes directamente para o computador B, pois todas as informações de endereçamento estão presentes (endereço físico e lógico dele próprio, e do

destino).

Paulo Soares

Interligando Redes

Computadores em redes diferentes

1. Computador A deseja comunicar com computador B2. Computador A verifica o endereço lógico do

computador B, e constata que o mesmo NÃO está na mesma sub-rede que ele próprio

3. Computador A então tenta enviar o pacote para o seu router

4. Computador A estabelece comunicação com o router

5. Router estabelece comunicação com computador B

Paulo Soares

Interligando Redes

Perceber a diferença...

Os endereços físicos só são importantes dentro da mesma rede, justamente porque não existe hierarquia no seu formato.

Contudo, através do endereço lógico, o computador A pode determinar que o computador B não pertencia à sua rede, e enviou o pacote para o componente responsável pela interligação de redes: o router, que por sua vez, sabia para onde enviar o pacote, de forma que o mesmo chegasse ao computador B.

Caso o router não possuísse esta informação, retornaria uma mensagem para o computador A, dizendo: “rede destino inalcançável”.

Paulo Soares

Interligando Redes

TCP/IP pilha de protocolos

Ao contrário do que muitos acham, não é apenas um protocolo de comunicação, mas uma pilha deles. Esta pilha de linguagens de comunicação permite que todas as camadas de comunicação em rede sejam atendidas e a comunicação seja possível.

Todas as pilhas de protocolo, de uma forma ou de outra, tem de atender a todas as camadas, para permitir que os computadores consigam trocar informações. Podemos fazer uma analogia de uma pilha de protocolos com a comunicação verbal.

Se alguém fala com outra pessoa e esta o entende, é porque todas as camadas para que a “fala” seja interpretada foram atendidas. Imagine, para que duas pessoas comuniquem verbalmente, será necessário:Paulo Soares

Interligando Redes

TCP/IP pilha de protocolos

1. Que ambas saibam o mesmo idioma 2. Que ambas tenham toda a estrutura fisiológica para que

emitam som (voz – cordas vocais, língua, garganta, pulmões

3. Que ambas possuam toda a estrutura fisiológica para que ouçam o som (orelha, ouvido interno, tímpanos, etc.)

◦ Nesta pilha de protocolos, temos como mais importantes:

ARP (Address Resolution Protocol) O ARP é o protocolo responsável pelo mapeamento ou

associação do endereço físico ao endereço lógico, de computadores numa mesma rede.

Paulo Soares

Interligando Redes

TCP/IP pilha de protocolos

IP O Internet protocol é o responsável pelo endereçamento

lógico de pacotes TCP/IP. Além disso, é responsável pelo encaminhamento destes pacotes e sua fragmentação, caso a rede seguinte não possa interpretar pacotes do mesmo tamanho.

ICMP (Internet Control Message Protocol) A função do ICMP é basicamente de diagnóstico e tratamento

de mensagens. Através dele é possível determinar, por exemplo, quanto tempo um pacote pode demorar para ir a uma máquina remota e voltar (round trip), bem como determinar se houve perda de pacotes durante a transmissão.

Também é possível determinar qual o caminho que um pacote segue a partir de uma máquina.

Paulo Soares

Interligando Redes

TCP/IP pilha de protocolos

TCP (Transmission Control Protocol) É um protocolo de transporte, responsável pela entrega

correcta dos pacotes. A principal característica é a confiabilidade. Para cada pacote ou conjunto de pacotes que envia, espera do destinatário uma confirmação da chegada dos mesmos. Caso isso não ocorra, ou o pacote chegue corrompido, tratará de efectuar a retransmissão.

Paulo Soares

Interligando Redes

Também coloca nos pacotes um número de sequência, para que o destino possa “agrupar” o dado original, caso os pacotes sigam por caminhos diferentes ou cheguem atrasados (fora de ordem).

TCP/IP pilha de protocolos

UDP (User Datagram Protocol) O UDP assim como o TCP, também é um protocolo de

transporte. Contudo, não possui nenhuma verificação de erros ou confirmação de entrega. É muito utilizado em aplicações que necessitem de tráfego urgente, e não sejam tão sensíveis a algumas perdas de pacotes.

Exemplos de aplicações que usam UDP como transporte: transmissão de áudio e vídeo pela rede (RealPlayer ou Media Player), jogos online (Quake, Half-Life). Pela falta do número de sequência ou confirmação, o tráfego UDP é muito mais vulnerável em termos de segurança.

Paulo Soares

Interligando Redes

Protocolos de Aplicação

Em cima da infra-estrutura fornecida pelos protocolos descritos até agora, funcionam os protocolos de aplicação. Estes fazem a interface com o utilizador, ou com a aplicação do utilizador.

Exemplos de protocolos de aplicação: HTTP (HyperText Transfer Protocol), FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), SNMP (Simple Network Management Protocol), POP3 (Post Office Protocol v.3), TELNET, e assim por diante.

Cada protocolo de aplicação comunica com a camada de transporte através de portas de comunicação. Existem 65536 portas possíveis, e por convenção, as portas de 1 a 1023 são conhecidas como “Well Known Port Numbers”, portas privilegiadas ou portas baixas, que possuem serviços mais comuns previamente associados.

Paulo Soares

Interligando Redes

Protocolos de Aplicação

Cada protocolo de aplicação precisa de uma porta, TCP ou UDP, para funcionar. Os mais antigos possuem as suas portas padrão já determinadas. Exemplo:

Paulo Soares

Interligando Redes

Protocolos de Aplicação

As portas acima de 1023 são denominadas portas altas e são usadas como “end points”, ou pontos de “devolução” duma ligação. Ao ler o nosso correio electrónico usamos um protocolo chamado POP3, que funciona na porta 110.

O nosso computador estabelece uma ligação com o servidor de correio electrónico na porta remota 110 e na 1026 (por exemplo) localmente.

A porta local é na maioria dos protocolos uma porta acima de 1023, desde que não esteja a ser usada.

DNS (Domain Name System) Idealizou-se uma forma mais fácil de gerir computadores

ligados a uma rede TCP/IP. Para estabelecer uma ligação devemos fornecer o endereço IP do destino e o serviço que desejamos usar (no caso, a porta) e o transporte.

O DNS foi concebido para evitar o transtorno de decorar dezenas de endereços IP. Através dele, cada host recebe um nome, fácil de aprender, dentro de uma hierarquia, o que ajuda ainda mais na hora de identificá-lo.

Paulo Soares

Interligando Redes

Sockets (de comunicação) Os sockets são a base para o estabelecimento da

comunicação numa rede TCP/IP. Através deles é que a transferência de dados torna-se possível. Cada ligação é montada por um socket, que é composto de três informações:

◦ 1. endereçamento (origem e destino)◦ 2. porta origem / destino◦ 3. transporte

Portanto, ao tentar ler o nosso correio electrónico, um socket será estabelecido entre a nossa máquina e o servidor de correio. Para montá-lo, precisamos:

◦ 1. do nosso endereço IP e do endereço IP destino◦ 2. porta origem / destino (neste caso, porta destino 110, origem 1026)◦ 3. transporte (TCP)

Paulo Soares

Interligando Redes

Utilitários para diagnosticar problemas

PING (Packet INternet Grouper) Utiliza o protocolo ICMP para diagnosticar o tempo de reposta

entre dois computadores ligados numa rede TCP/IP. A partir daí, pode-se ter uma estimativa do tráfego (se o canal de comunicação está ou não saturado) bem como o tempo de latência do canal. A latência dum link está directamente ligada à velocidade do router (em termos de processamento) e não apenas à velocidade do canal de comunicação.

TRACERT (traceroute) O tracert também utiliza pacotes ICMP (em máquinas

Windows) para realizar diagnósticos. Podemos determinar qual o caminho que os pacotes farão até um host destino. A função do tracert é justamente essa: traçar a rota entre uma origem e um destino. Vai mostrar todos os nós (routers).

Paulo Soares

Interligando Redes