Logo Passei Direto
Buscar
Material

Prévia do material em texto

Christiane Borges Santos
christiane.santos@ifg.edu.br
Redes de Computadores e 
Segurança da Informação
Camada de Aplicação
2020
 Páginas Web consistem de objetos
 Objeto pode ser arquivo HTML, imagem JPEG, Java 
applet, arquivo de áudio,…
 A página Web consiste de arquivo-HTML base, que inclui 
vários objetos referenciados
 Cada objeto é endereçado por uma URL
Exemplo de URL:
www.someschool.edu/someDept/pic.gif
Nome do hospedeiro Nome do caminho
Web e HTTP
HTTP: hypertext transfer 
protocol
● Protocolo da camada de 
aplicação da Web
● Modelo cliente/servidor
Cliente: browser que 
solicita, recebe e apresenta 
objetos da Web 
Servidor: envia objetos em 
resposta a pedidos
Visão geral do HTTP
PC executa
Explorer
Servidor 
rodando um 
servidor Web
Mac executa
Navigator
pedido http
pedido http
resposta http
resposta
 http
HTTP 1.0: RFC 1945
HTTP 1.1: RFC 2616
Visão geral do HTTP
Usa serviço de transporte TCP:
● cliente inicia conexão TCP 
(cria socket) ao servidor, 
porta 80
● servidor aceita conexão TCP 
do cliente
● mensagens HTTP 
(mensagens do protocolo da 
camada de apl) trocadas 
entre browser (cliente HTTP) 
e servidor Web (servidor 
HTTP)
● encerra conexão TCP
HTTP é “sem estado”
● servidor não mantém 
informação sobre 
pedidos anteriores do 
cliente
Protocolos que mantêm 
“estado” são complexos!
 história passada (estado) 
tem que ser guardada
 Caso caia servidor/cliente, 
suas visões do “estado” 
podem ser inconsistentes, 
devem ser reconciliadas
Nota
Conexões HTTP
HTTP não persistente
● No máximo um 
objeto é enviado 
numa conexão TCP
● HTTP/1.0 usa o 
HTTP não 
persistente
HTTP persistente
● Múltiplos objetos 
podem ser enviados 
sobre uma única 
conexão TCP entre 
cliente e servidor
● HTTP/1.1 usa 
conexões 
persistentes no seu 
modo default
Formato de mensagem HTTP: 
pedido
 Dois tipos de mensagem HTTP: pedido, resposta - 
request, response
 mensagem de pedido HTTP:
● ASCII (formato legível por pessoas)
GET /somedir/page.html HTTP/1.0 
Host: www.someschool.edu 
User-agent: Mozilla/4.0
Connection: close 
Accept-language:fr
(carriage return (CR), line feed(LF) adicionais) 
linha de requisição
(comandos GET, 
POST, HEAD, PUT, 
DELETE)
linhas do
cabeçalho
Carriage return e 
line feed, linha em branco,
indicam fim de mensagem ASC II - American Standard Code for 
Information Interchange II
256 caracteres codificados em 8 bits
Formato de mensagem HTTP: 
pedido
Códigos de estado da resposta HTTP
200 OK
● sucesso, objeto pedido segue mais adiante nesta 
mensagem
301 Moved Permanently
● objeto pedido mudou de lugar, nova localização 
especificado mais adiante nesta mensagem (Location:)
400 Bad Request
● mensagem de pedido não entendida pelo servidor
404 Not Found
● documento pedido não se encontra neste servidor
505 HTTP Version Not Supported
● versão de http do pedido não usada por este servidor
Alguns códigos típicos:
Formato de mensagem HTTP: resposta
HTTP/1.1 200 OK 
Connection close
Date: Thu, 06 Aug 1998 12:00:15 GMT 
Server: Apache/1.3.0 (Unix) 
Last-Modified: Mon, 22 Jun 1998 …... 
Content-Length: 6821 
Content-Type: text/html
 
dados dados dados dados ... 
linha de estado
(protocolo,
código de estado,
frase de estado)
linhas de
cabeçalho
dados, p.ex., 
arquivo html
solicitado
Quando o objeto
 foi criado
 ou modificado
Número de bytes
 do objeto
HTTP
HTTP
HTTP
HTTP
Cookies: manutenção do “estado”
cliente servidor
msg usual pedido http
resposta usual http +
Set-cookie: 1678 
msg usual pedido http
cookie: 1678
resposta usual http
msg usual pedido http
cookie: 1678
resposta usual http
ação
específica
do cookie
ação
específica
do cookie
servidor
cria a ID 1678 
para o usuário
entrada no BD de 
apoio
acesso
ac
es
so
arquivo de
Cookies
amazon: 1678
ebay: 8734
arquivo de
Cookies
Host - ID
ebay: 8734
arquivo de
Cookies
amazon: 1678
ebay: 8734
uma semana depois:
Cookies
O que os cookies podem fazer:
∙ Autorização após 
armazenamento do registro 
da pessoa
∙ Registro da lista de compras 
no Ecommerce
∙ Sugestões - recomendar 
produtos
∙ estado da sessão do usuário 
(Web email) – identificação 
do usuário
∙ Eles armazenam coisas que 
você acessou, sites que 
você viu
Cookies e privacidade:
 cookies permitem que os sites 
aprendam muito sobre você
 mecanismos de busca usam 
redirecionamento e cookies para 
aprender ainda mais sobre você 
 agências de propaganda obtêm 
perfil a partir dos sites visitados e 
oferecem produtos perturbando 
os usuários (ex. DoubleClick)
nota
Cache Web (servidor proxy)
 usuário configura browser: 
acessos Web via proxy 
(representante)
 cliente envia todos pedidos 
HTTP ao proxy
 se objeto está no cache , este o 
devolve imediatamente na 
resposta HTTP
 senão, solicita objeto do 
servidor de origem, depois 
devolve resposta HTTP ao 
cliente
Meta: atender pedido do cliente sem envolver servidor de origem
cliente
Servidor
proxy
cliente
pedido http
pedido http
resposta http
resposta
 http
pedido http
resposta
 http
Servidor
de origem
Servidor
de origem
Mais sobre Caches Web
 Cache atua tanto como 
cliente quanto como servidor
 Tipicamente o cache é 
instalado por um ISP 
(universidade, empresa, ISP 
residencial)
Para que fazer cache Web?
 Redução do tempo de 
resposta para os pedidos do 
cliente
 Redução do tráfego no canal 
de acesso de uma instituição
 A Internet cheia de caches 
permitem que provedores de 
conteúdo “pobres” 
efetivamente forneçam 
conteúdo!
HTTPS
● Combinação do protocolo HTTP com o SSL (Secure Sockets Layer)
● Utiliza a porta 443 e o protocolo TCP.
● Diferença: encriptação de dados dentro da seção
● No HTTPS é utilizado um certificado digital que possibilita a 
privacidade e a autenticidade dos dados, além de prover integridade 
de mensagem 
SSL
 Camada que fica entre a camada de aplicação e a camada de transporte
 Desenvolvido pela Netscape Communications
 Função: prover comunicação segura na Internet, através da autenticação e encriptação dos pacotes 
entre o servidor e o cliente
HTTPS
● Um site seguro, que usa o HTTPS, deve possuir:
∙ Servidor
∙ Software seguro (faz o trabalho de criptografia)
∙ Certificado de assinatura (assinatura digital).
● Endereço é apontado por HTTPS, geralmente não 
divulgado, mas redirecionado a partir do site principal. 
● O cliente envia ao servidor sua versão do SSL, 
informações geradas randomicamente ou que o 
servidor precisa conhecer.
● O servidor envia uma resposta ao cliente com as 
mesmas informações e então o seu certificado e pede 
também que o cliente envie o seu. Continua enviando, 
e manda sua chave pública, que será usada mais 
tarde para que o cliente encripte a mensagem de 
resposta
HTTPS
● O cliente usa a informação enviada pelo servidor para 
autenticá-lo, garantindo que estará trocando dados 
com o servidor correto. Caso o certificado do cliente 
tenha sido solicitado, este o envia, caso contrário, 
envia uma mensagem de "não certificado".
● Usando a informação recebida, o cliente cria a chave 
premaster (premaster secret) para a sessão, encripta 
com a chave pública do servidor e envia a premaster 
encriptada para o servidor.
HTTPS
● Cliente autenticado, o servidor usa a sua chave 
privada para desencriptar a chave premaster, e faz 
uma série de procedimentos para gerar a chave 
mestra (master secret). O cliente repete os mesmos 
procedimentos e gera também a chave mestra, e 
utilizam para gerar as chaves de sessão (session 
keys), simétricas, para encriptar e desencriptar 
informação trocada durante a sessão SSL.
● Cliente e servidor trocam mensagens encriptadas 
avisando um ao outro que o handshake terminou e 
que a partir de então as mensagens trocadas estarão 
encriptadas com a chave de sessão.
HTTPS
Analisador de Rede Wireshark – Captura HTTP
FTP: o protocolo de transferência de 
arquivos
● transferir arquivo de/para hospedeiro remoto
● modelo cliente/servidor
∙ cliente:lado que inicia transferência (pode ser de ou 
para o sistema remoto)
∙ servidor: hospedeiro remoto
● ftp: RFC 959
● servidor ftp: portas 20 e 21
transferência
do arquivo FTP
servidor
Interface 
do usuário 
FTP
cliente 
FTP
sistema de 
arquivos 
local
sistema de 
arquivos 
remoto
usuário 
na 
estação
FTP: conexões separadas para dados 
e controle
● Cliente FTP contata servidor FTP 
na porta 21, especificando o TCP 
como protocolo de transporte
● O cliente obtém autorização 
através da conexão de controle
● O cliente consulta o diretório 
remoto enviando comandos 
através da conexão de controle
● Quando o servidor recebe um 
comando para a transferência de 
um arquivo, ele abre uma 
conexão de dados TCP para o 
cliente
● Após a transmissão de um 
arquivo o servidor fecha a 
conexão
● O servidor abre uma segunda 
conexão TCP para transferir 
outro arquivo
● Conexão de controle: “fora da 
faixa”
● Servidor FTP mantém o 
“estado”: diretório atual, 
autenticação anterior
cliente 
FTP
servidor 
FTP
conexão de controle
TCP, porta 21
conexão de dados 
TCP, porta 20
FTP: comandos, respostas
Comandos típicos:
∙ enviados em texto ASCII 
pelo canal de controle
∙ USER nome
∙ PASS senha
∙ LIST devolve lista de 
arquivos no diretório atual
∙ RETR arquivo recupera 
(lê) arquivo remoto
∙ STOR arquivo armazena 
(escreve) arquivo no 
hospedeiro remoto
Códigos de retorno típicos
∙ código e frase de status (como 
para http)
∙ 331 Username OK, password 
required
∙ 125 data connection already 
open; transfer starting
∙ 425 Can’t open data 
connection
∙ 452 Error writing file
FTP
Wireshark – Captura FTP
TELNET
∙ Aplicação do tipo cliente-servidor que utiliza o 
protocolo TCP para transportar os dados, na porta 23.
∙ O serviço de terminal remoto estabelece uma sessão 
de login remoto interativo permitindo que um usuário 
conecte-se a uma máquina e tenha acesso a todos os 
seus recursos (ou pelo menos aqueles que sua senha 
permite) como se estivesse trabalhando nesta 
máquina fisicamente.
∙ É possível executar um programa utilizando os 
recursos de hardware da máquina remota.
TELNET
TELNET
Correio eletrônico
Três componentes principais: 
● Agentes de usuário 
● Servidores de correio
● Simple mail transfer protocol: 
SMTP
Agente de usuário
● “leitor de correio”
● Composição, edição, leitura de 
mensagens de correio
● Ex.: Thunderbird, Outlook, 
Netscape Messenger
● Mensagens de entrada e de saída 
são armazenadas no servidor
Correio eletrônico
● Quando as pessoas compõem mensagens de e-mail, 
elas normalmente utilizam uma aplicação chamada 
Mail User Agent (MUA), ou cliente de e-mail. 
∙ Permite que mensagens sejam enviadas e coloca 
as mensagens recebidas na caixa de correio do 
cliente, ambos sendo processos diferentes. 
● Para receber mensagens de e-mail de um servidor de 
e-mail, o cliente de e-mail pode utilizar o POP ou 
IMAP.
● Enviar e-mail de um cliente ou servidor utiliza formatos 
de mensagem e cadeias de comandos definidos pelo 
protocolo SMTP.
Correio eletrônico
Correio eletrônico
SMTP: protocolo para trocar 
mensagens de e-mail 
RFC 822: padrão para mensagens 
do tipo texto:
 linhas de cabeçalho, ex.:
● To:
● From:
● Subject:
● diferente dos comandos 
HTTP
 corpo
● a “mensagem”, ASCII 
somente com caracteres
header
body
linha 
em branco
Formato da mensagem de correio
Correio eletrônico: SMTP [RFC 821]
● Usa TCP para transferência confiável de mensagens de correio 
do cliente ao servidor, porta 25
● Transferência direta: servidor que envia para o servidor que 
recebe
● Três fases de transferência
● Handshaking (apresentação)
● Transferência de mensagens
● Fechamento
● Interação comando/resposta
● Comandos: texto ASCII
● Resposta: código de status e frase
● 
Processos de Servidor de E-mail: 
MTA e MDA
● O servidor de e-mail opera dois processos separados:
● Mail Transfer Agent (MTA) 
● Mail Delivery Agent (MDA) 
● O processo MTA é utilizado para encaminhar e-mail. 
Com base no cabeçalho da mensagem, ele determina 
como uma mensagem tem de ser encaminhada para 
chegar a seu destino. 
● Se a correspondência for endereçada a um usuário cuja 
caixa de correio fique no servidor local, ela será 
passada para o MDA. 
● Se o e-mail for para um usuário fora do servidor local, o 
MTA o encaminha para o MTA no servidor em questão. 
SMTP: entrega e armazena no servidor do destino
Protocolo de acesso: recupera mensagens do servidor 
●POP: Post Office Protocol [RFC 1939] – Porta 110
Autorização (agente servidor) e download 
●IMAP: Internet Mail Access Protocol [RFC 1730] Porta 143
Mais recursos (mais complexo)
Manipulação de mensagens armazenadas no servidor
●HTTP: Hotmail, Yahoo! Mail etc.
Protocolos de acesso ao correio
IMAP
POP3
SMTP
● Vírus de E-Mail
● São enviados anexados ao e-mail, comprimidos (.ZIP), 
documentos (macros) ou executáveis (.EXE). Infecta a 
vítima quando é acessado
● Antivírus, correções do fabricante e programas comerciais 
são boas contra-medidas
● Apenas o antivírus não garante a segurança
● Atualização de assinaturas, “Bom Senso” e desconfiança
Segurança de E-Mail: Vulnerabilidades
• SPAM
● Acrónimo derivado da expressão em inglês Sending and 
Posting Advertisement in Mass (Enviar e Postar Publicidade 
em Massa)
● É uma mensagem eletrônica que chega ao usuário sem a 
sua permissão ou sem seu desejo em recebê-lo.
● Tem um fundo geralmente comercial, mas também pode 
assumir um viés criminoso.
Segurança de E-Mail: Vulnerabilidades
Boatos ou Lendas – HOAX
• Trata-se de boatos recebidos por e-mail ou compartilhados em 
redes sociais. Em geral, são mensagens dramáticas ou 
alarmantes que acompanham imagens chocantes, falam de 
crianças doentes ou avisam sobre falsos vírus. 
• Se o hoax for do tipo phishing, o usuário que clicar pode ter 
seus dados pessoais ou bancários roubados por golpistas.
Segurança de E-Mail: Vulnerabilidades
● Assim como os seres humanos, os hosts da Internet 
podem ser identificados de várias maneiras.
● Por nome de batismo (Fácil de lembrar)
● Por CPF (Fácil de gerenciar)
● Na Internet: por nome do host e por IP
● Um roteador prefere identificar um host pelo endereço IP:
● Por ter comprimento fixo
● Por ser estruturado hierarquicamente
DNS: Domain Name System
DNS
● O DNS traduz nomes de hosts em endereços IP
● As mensagens DNS normalmente utilizam o protocolo 
UDP durante a comunicação, através da porta 53
● É um banco de dados distribuído implementado em:
● Uma hierarquia de servidores de nome e;
● Um protocolo da camada de aplicação que permite 
que hospedeiros consultem o banco de dados 
distribuídos.
DNS
● É implementado por meio de uma aplicação 
cliente-servidor.
● Cliente: resolver (conjunto de rotinas em uma 
implementação de TCP/IP que permite a consulta a 
um servidor). Ele envia perguntas relativas a 
informações contidas no DNS a servidores de nomes 
(nameservers). 
● Servidor: geralmente o programa bind ou uma 
implementação específica de um servidor de DNS 
(Windows NT).
● No Unix, o serviço DNS é implementado através do 
software BIND.
64.233.163.99
DNS
● Existem 3 classes de servidores de nomes:
● Servidores de nome raiz (root servers)
● Servidores de alto nível (TLD – Top-Level Domain)
● Servidores DNS com autoridade
DNS
Servidores Raízes (Root Servers) - Existem 13 
espalhados pelo mundo denominados de “A” a “M”
● 10 na América do norte
● 2 na Europa
● 1 no Japão
Cada um dos root servers é constituído por um 
conglomerado de servidores replicados para fins de 
segurança e confiabilidade.
DNS: Servidores de Nomes Raiz
● São contatados pelos servidores de nomes locais que não podem 
resolver um nome
● Servidores de nomes raiz:
● buscam servidores de nomes autoritativos se o mapeamento do 
nome não for conhecido 
● conseguem o mapeamento
● retornam o mapeamento para o servidor de nomes local
b USC-ISI Marina del Rey, 
CA
l ICANN Marina del Rey, CA
e NASA Mt View,CA
f Internet Software C. Palo 
Alto, CA
i NORDUnet Stockholm
k RIPE London
m WIDE Tokyo
a NSI Herndon, VA
c PSInet Herndon, VA
d U Maryland College Park, MD
g DISA Vienna, VA
h ARL Aberdeen, MD
j NSI (TBD) Herndon, VA
DNS
● A estrutura de nomes na Internet tem o formato de uma 
árvore invertida onde a raiz não possui nome.
● Os ramos imediatamente inferiores à raiz são chamados de 
TLDs (Top-Level Domain Names).
● Responsáveis pelos domínios de alto nível, como por 
exemplo: com, org, net, edu etc
● Os TLDs que não designam países são utilizados nos 
EUA.
● Os diversos países utilizam a sua própria designação 
para as classificações internas: br, uk, fr, ca, jp.
● Cada ramo completo até a raiz é chamado de domínios. 
● Um domínio é a área administrativa englobando ele 
próprio e os subdomínios abaixo dele.
DNS
● Os domínios principais genéricos, chamados de GTLDs (Generic 
Top Level Domain Names) que são .net, .com e .org são 
administrados pelo Internic (Internet Network Information Center) 
que também é responsável pela administração do espaço de 
endereçamento IP. 
● Os domínios são completamente independentes da estrutura de 
rede utilizada, não existe necessariamente algum relacionamento 
entre eles.
DNS
● Servidores com autoridade: Abriga os registros de 
endereços endereços das organizações.
● Podem ser mantidos por uma organização ou provedor 
de serviços 
● Normalmente, por questões de segurança, são 
mantidos servidores primários e secundários de DNS
DNS
Serviços DNS
● Apelidos de hospedeiros
● Nome canônico:
● relay.west-coast.enterprise.com
● Apelido:
● www.enterprise.com
● Apelidos de servidor de correio
● Pode ser chamado para obter o nome canônico a partir de um apelido
● Distribuição de Carga
● Realiza distribuição de carga entre servidores replicados.
http://www.enterprise.com/
DNS
DNS
DNS
DNS
DNS
DNS
DNS
DNS
DNS
No exemplo anterior foram enviadas 8 mensagens de DNS:
- 4 de consulta
- 4 de resposta
Consulta recursiva:
∙ Transfere a tarefa de 
resolução do nome para o 
servidor de nomes consultado
 
Consulta encadeada:
∙ Servidor contatado responde 
com o nome de outro 
servidor de nomes para 
contato
∙ “Eu não sei isto, mas 
pergunte a este servidor”
Consultas recursivas
Mensagens DNS
(Name, Value, Type, TTL)
Ex.: (ifg.br, 200.17.56.16, NS, 86400)
● TTL: Tempo de atualização da cache (1 dia)
Se Type=A, então
● Name=Nome de hospedeiro
● Value=Endereço IP para para o nome dos host
Se Type=NS, então
● Name=domínio
● Value=Nome de um servidor com autoridade
Mensagens DNS
● (Name, Value, Type, TTL)
● Se Type=CNAME, então
● Name=apelido
● Value=nome canônico de host
● Se Type=MX, então
● Name=apelido
● Value=nome canônico de servidor de email
Dúvidas?
Contato:
christiane.santos@ifg.edu.br

Mais conteúdos dessa disciplina