51952248 1285455275-seguranca-de-redes

16
Segurança de redes conceitos e tecnologia Paulo Gabriel © Soares 2010 Segurança de Redes

Transcript of 51952248 1285455275-seguranca-de-redes

Page 1: 51952248 1285455275-seguranca-de-redes

Segurança de redes – conceitos e tecnologia

Paulo Gabriel © Soares2010

Segurança de Redes

Page 2: 51952248 1285455275-seguranca-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

Page 3: 51952248 1285455275-seguranca-de-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

Page 4: 51952248 1285455275-seguranca-de-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

Page 5: 51952248 1285455275-seguranca-de-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

Page 6: 51952248 1285455275-seguranca-de-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

Page 7: 51952248 1285455275-seguranca-de-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

Page 8: 51952248 1285455275-seguranca-de-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

Page 9: 51952248 1285455275-seguranca-de-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

Page 10: 51952248 1285455275-seguranca-de-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).

Page 11: 51952248 1285455275-seguranca-de-redes

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

Page 12: 51952248 1285455275-seguranca-de-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

Page 13: 51952248 1285455275-seguranca-de-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

Page 14: 51952248 1285455275-seguranca-de-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

Page 15: 51952248 1285455275-seguranca-de-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

Page 16: 51952248 1285455275-seguranca-de-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