Sie sind auf Seite 1von 10

REDES DE COMPUTADORES

2.5 A CAMADA DE APLICAÇÃO

! A camada de aplicação fornece os serviços "reais" de rede para os usuários. Os níveis abaixo da aplicação fornecem serviços de transporte de dados para o nível de aplicação, mas não fazem nenhum trabalho real para os usuários.

Considerações de Segurança

! "É fácil ter um sistema de computação seguro. Você meramente tem de desconectar seu sistema de qualquer rede externa, e permitir somente terminais ligados diretamente a ele. Pôr a máquina e seus terminais em uma sala fechada, e por um guarda na porta." F.T. Grampp e R.H. Morris

! Por que segurança é necessária? Para proteger o patrimônio físico (equipamentos, periféricos, meios de armazenamento) e lógico (informação, identidades).

! Quanto proteger? Depende do "valor" do que vai ser protegido. Depende de quanto custa a proteção e de qual é o custo das perdas em caso de ataque.

! Quem ataca? Diversos tipos de pessoas. A tabela a seguir mostra alguns [poucos] exemplos.

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Aplicação * Pág. 1

REDES DE COMPUTADORES

Adversário

Objetivo

Estudante

Para obter uma informação engraçada do correio eletrônico de alguém

Hacker

Para testar a segurança de um sistema; para obter dados às escondidas

Representante

de

Para conseguir representar em Fortaleza ou Recife, e não em Areia e Bananeiras

vendas

Empresário

Para descobrir o plano estratégico de marketing de um concorrente

Ex-empregado

Para se vingar da demissão

Contador

Para desviar dinheiro da empresa

Corretor

Para não cumprir uma promessa feita à um cliente por e-mail

Espião

Para descobrir uma estratégia militar do inimigo

Terrorista

Para roubar segredos sobre guerra biológica

! Hacker: pessoa que sente prazer em aprender os detalhes dos sistemas de programação e sugar o máximo de suas capacidades - ao aposto da maioria que prefere aprender o mínimo necessário.

! Cracker: quem usa seus conhecimentos sobre sistemas computacionais para fins ilícitos.

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Aplicação * Pág. 2

REDES DE COMPUTADORES

! Política de segurança: determina limites aceitáveis de comportamento e punições adequadas. Define o que é ou não permitido fazer com a rede (p.ex. tráfego ftp para fora).

! Idéia chave: (a) qualquer coisa que você não entende completamente é perigosa, até você entendê-la; (b) tudo que não for explicitamente permitido, é proibido.

! Segundo o Orange Book, existem 7 níveis de segurança definidos. Alguns mais conhecidos são:

Nível D: proteção mínima;

Nível C: controle de acesso discreto (UNIX, WinNT);

Nível B: controle de acesso mandatário (VAX);

Nível A1: projeto de segurança aprovado;

Nível C2: identificação e autenticação obrigatória de usuários, senhas ocultas para recursos e serviços, etc.

! Diversas formas de ataque são usadas hoje em via. Algumas delas são mostradas na tabela a seguir.

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Aplicação * Pág. 3

REDES DE COMPUTADORES

Ataque

Descrição

Portas

dos

Pedaços de código escritos em aplicações ou sistemas operacionais, que realizam serviços não previstos em sua especificação; Ex. versões alteradas de login, telnet e ftp, que aceitam uma seqüência de teclas para abrir um acesso ao intruso

fundos

(Back

Doors)

Bombas

Características ocultas em programas, que ficam dormentes por um longo período de tempo, tornando- se ativas sob certas condições

lógicas

(Logic

Bombs)

Viroses

seqüência de código inserida em um programa executável; Quando o programa é executado, o código do vírus também é executado, copiando a si mesmo para outros programas

(Viruses)

Vermes

programas que executam de forma independente, viajando de uma máquina para outra através da rede

(Worms)

Cavalos

de

programas que assemelham-se com um programa que o usuário deseja executar (um jogo, um editor, o programa de login); Enquanto aparente fazer o que o usuário quer, está fazendo algo diferente

Tróia

(Trojan

Horses)

Bactéria

programas cuja única proposta é a replicação; Reproduzem-se exponencialmente, consumindo memória, CPU, disco, etc.

(Rabbits)

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Aplicação * Pág. 4

REDES DE COMPUTADORES

! Origem: (a) externa (através da rede); (b) interna (através da rede interna e/ou por meio de acesso físico).

! Como tentar evitar ataques externos?

Melhoras senhas;

Atenção permanente do administrador;

Configuração da rede visando a segurança do sistema;

Usar ferramentas de monitoração;

Implantar as correções (patches) do sistema;

Bloquear conexões e origens indesejadas;

Usar paredes corta-fogo (Firewalls);

Usar modems com recurso de chamada reversa (call-back).

! Como tentar evitar ataques internos?

Bloquear o acesso físico as instalações;

Criar uma política de segurança;

Usar criptografia;

Não abusar de programas de domínio público (p.ex. FTP anônimo).

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Aplicação * Pág. 5

REDES DE COMPUTADORES

Segurança de Senhas

! "Armado de um dicionário de 250.000 palavras, um cracker pode comparar todas as suas codificações de palavras com aquelas de um cadastro de senhas em pouco mais de 5 minutos, usando uma única estação de trabalho".

! Como elaborar senhas boas? A tabela a seguir dá uma idéia inicial.

Item

Descrição

1

Usar geradores automáticos de senhas (p.ex. PrKv-10b2)

2

Substituir letras por números em senhas fáceis de memorizar (p.ex. w1nd0ws)

3

Substituir letras por caracteres especiais em senhas fáceis de memorizar (p.ex. w!ndow$)

4

Usar algumas letras em maiúsculo na senha (p.ex. WinDowS)

5

Usar método simples de criptografia só conhecido por você (banana = edqdqd)

6

Usar combinações de letras e abreviaturas (p.ex. peter@DSC)

7

Usar iniciais de frases (p.ex. Esqueci da senha de novo! edsdn!

=

8

Combinar todos os anteriores

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Aplicação * Pág. 6

REDES DE COMPUTADORES

SERVIÇOS BÁSICOS DE REDE

DNS – Domain Name Service

Conceituação

! O esquema de endereçamento TCP/IP prevê que cada elemento da rede seja identificado de forma única através de um número – o endereço IP;

! Trabalhar com números é mais natural para as máquinas, mas as pessoas preferem trabalhar com nomes; é muito mais fácil lembrar, por exemplo, que informações sobre a Universidade Federal da Paraíba estão disponíveis na máquina www.ufpb.br ao invés da máquina 150.165.132.1.

! Guardar uma tabela com todos os nomes e números de máquinas da Internet em cada máquina conectada à rede é impossível (não só pelo tamanho, como pela velocidade de atualização da base para mantê-la consistente);

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Aplicação * Pág. 7

REDES DE COMPUTADORES

! Como resolver o problema? Criar um mecanismo (ou serviço) que permita que o mapeamento de nomes em números seja feito de forma distribuída, com muitos computadores (servidores) na rede “tomando conta” de quantidades mais manipuláveis de nomes;

! Idéia ! Organizar a Internet em Domínios Administrativos e criar um banco de dados hierárquico, distribuído, onde exista um ou mais servidores em cada nível da hierarquia, responsáveis por fornecer informações sobre nomes que se situam abaixo desse ponto da hierarquia (apenas um nível).

! A definição de domínios administrativos e a imposição de que não se cadastre equipamentos e subdomínios com o mesmo nome em um domínio, evita a utilização de um mesmo nome para mais de um equipamento na rede.

! O nome de todo equipamento na rede vai ser composto de um nome local (que pode se repetir em domínios diferentes), seguido por uma hierarquia de domínios; o nome completo do equipamento passa a ser seu ‘Nome de Domínio Totalmente Qualificado’ – “Fully Qualified Domain Name – FQDN”.

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Aplicação * Pág. 8

REDES DE COMPUTADORES

! Domínios na Internet refletem uma organização institucional e/ou geográfica; nos Estados Unidos tem-se, por exemplo:

Domínio

Tipo de Instituição

Exemplo

.mil

Instituições com fins militares

antiSaddan.mil

.edu

Instituições educacionais

berkeley.edu

.com

Instituições comerciais

microsoft.com

.gov

Instituições governamentais

whitehouse.gov

.org

Instituições

não-

linux.org

governamentais

.net

Instituições ligadas à rede

internic.net

! No Brasil, tem-se uma organização semelhante, acrescentando-se o sufixo .br aos domínios anteriores:

Domínio

Tipo de Instituição

Exemplo

.mil.br

Instituições com fins militares

emfa.mil.br

.edu.br

Instituições educacionais

pioXI.edu.br

.com.br

Instituições comerciais

varig.com.br

.gov.br

Instituições governamentais

mare.gov.br

.org.br

Instituições

não-

atecel.org.br

governamentais

.net.br

Instituições ligadas à rede

embratel.net.br

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Aplicação * Pág. 9

REDES DE COMPUTADORES

.

. mil gov net com edu br pt fr . . .   org gov net
. mil gov net com edu br pt fr . . .   org gov net
. mil gov net com edu br pt fr . . .   org gov net
. mil gov net com edu br pt fr . . .   org gov net
. mil gov net com edu br pt fr . . .   org gov net
. mil gov net com edu br pt fr . . .   org gov net
. mil gov net com edu br pt fr . . .   org gov net
. mil gov net com edu br pt fr . . .   org gov net
. mil gov net com edu br pt fr . . .   org gov net
. mil gov net com edu br pt fr . . .   org gov net

mil

gov

net

com

edu

br

pt

fr

.

.

.

 

org

gov

net

com

ufpb

ufal

 

.

.

.

 

dee

dsc

prai

.

.

.

. . .   dee dsc prai . . . mingau b i d u floquinho
. . .   dee dsc prai . . . mingau b i d u floquinho
. . .   dee dsc prai . . . mingau b i d u floquinho
. . .   dee dsc prai . . . mingau b i d u floquinho

mingau

bidu

floquinho

IP=150.165.2.33

floquinho . dsc . ufpb . br = Nome de Domínio Totalmente Qualificado (único na Internet)

Figura 1. Hierarquia de nomes na Internet

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Aplicação * Pág. 10

REDES DE COMPUTADORES

! Toda vez que alguém (em geral, software de aplicação) precisa descobrir o endereço IP associado a algum nome na rede, faz uma consulta padrão (consulta ao DNS direto) começando na raiz da hierarquia, descendo pelos ramos até encontrar a informação procurada ou descobrir que a mesma não existe na rede (ou não está cadastrada nos servidores de nomes).

Pergunto: Qual é o endereço IP da máquina bidu.dsc.ufpb.br? 1 10
Pergunto:
Qual é o endereço IP da máquina
bidu.dsc.ufpb.br?
1
10

Responde:

É 150.165.2.75!

8 6 7 9 Servidor DNS do meu domínio 5 4 3 2
8
6
7
9
Servidor
DNS
do meu
domínio
5
4
3
2
Servidor DNS raíz ( . ) Servidor DNS Brasil ( .br ) Servidor DNS UFPB
Servidor DNS
raíz
( .
)
Servidor DNS
Brasil
( .br )
Servidor DNS
UFPB
( ufpb.br)
Servidor DNS
DSC
( dsc.ufpb.br)

Figura 2. Consulta ao DNS direto

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Aplicação * Pág. 11

REDES DE COMPUTADORES

! De modo semelhante, alguém pode querer saber qual é o nome associado à algum endereço IP. Nesse caso, faz uma consulta padrão (consulta ao DNS reverso) também começando pela raiz da hierarquia.

Pergunto:

Qual é nome da máquina cujo endereço IP é 200.129.69.1? 1 6
Qual é nome da máquina cujo
endereço IP é 200.129.69.1?
1
6

Resposta:

É server.fapesq.rpp.br!

Servidor DNS raíz ( . ) arpa Servidor DNS in-addr do meu domínio . .
Servidor
DNS
raíz
( .
)
arpa
Servidor DNS
in-addr
do meu
domínio
.
.
.
150 4
151
200
.
.
.
.
.
.
165
166
.
.
.
129
130
5
69
ns.ufpb.br responde pelo
DNS reverso da classe B 150.165
admin.fapesq.rpp.br responde pelo
DNS reverso da classe C 200.129.69
2
3

Figura 3. Consulta ao DNS reverso

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Aplicação * Pág. 12

REDES DE COMPUTADORES

SMTP – SIMPLE MAIL TRANSPORT PROTOCOL Correio Eletrônico

Conceituação

! O serviço de correio eletrônico permite a troca de informação (mensagens, documentos, etc.) de forma rápida e conveniente entre dois ou mais usuários da Internet; ele provê comunicação entre dois pontos distintos na rede, mesmo que o destino não esteja ativo no momento do envio da informação.

! O serviço é bastante semelhante ao serviço de correio postal, podendo ser feitas, inclusive, várias analogias entre elementos atuantes no correio postal e no correio eletrônico; em ambos, temos:

Nome e endereço do remetente;

Nome e endereço do destinatário;

Agente de coleta/exibição de correspondência;

Agente de despacho e recepção de correspondência;

Agente de entrega de correspondência.

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Aplicação * Pág. 13

REDES DE COMPUTADORES

conexão usuário TCP para envia agente de fila de transporte saída (cliente) mensagem mensagens saintes
conexão
usuário
TCP para
envia
agente de
fila de
transporte
saída
(cliente)
mensagem
mensagens
saintes
interface
com
o usuário
conexão
usuário
TCP para
recebe
agente
agente de
caixas
fila de
de
transporte
postais
entrada
entrega
(servidor)
mensagens
mensagem
entrantes

Figura 4. Esquema conceitual do serviço de correio eletrônico

! As interfaces com o usuário mais comuns no ambiente UNIX são:

mail, elm, pine, mailtool.

! O agente de transporte mais comum no ambiente UNIX programa sendmail.

é

o

! agente de entrega varia de acordo (Internet, Uucp).

com a origem da mensagens

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Aplicação * Pág. 14

REDES DE COMPUTADORES

! Basicamente, o sendmail é responsável por:

Aceitar mensagens das interfaces (agentes) do usuário;

Reescrever os endereços de acordo com o agente de entrega adequado;

Encaminhar mensagens saíntes aos destinos;

Receber mensagens entrantes das origens;

Escolher o agente de entrega apropriado para as mensagens entrantes.

Endereços Eletrônicos

! Para identificar usuários em um ambiente computacional, estabeleceu-se uma convenção que define um endereço eletrônico como sendo:

usuário @ domínio ou usuário @ máquina . domínio

! A primeira forma é preferível porque abstrai o nome da máquina do endereço do usuário (a máquina pode deixar de existir que o endereço do usuário continua válido).

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Aplicação * Pág. 15

REDES DE COMPUTADORES

Formato de Mensagens

! Mensagens enviadas/recebidas pelo correio eletrônico têm um formato padrão.

cabeçalho

From xuxa @ xuxapark.com.br Mon Feb 7 10:05:30 2000 Delivery-Date: Sat, 07 Mon 2000 10:05:20 BSB Return-Path: xuxa@xuxapark.com.br Received: from mail.xuxapark.com.br (201.202.203.254) by mail.sua_casa.com.br (8.8.5/8.8.5) id AA00123; Mon 7 feb 2000 10:05:10 BSB Received: from camarim.xuxapark.com.br (201.202.203.1) by mail.xuxapark.com.br (8.8.5/8.8.5) id AA00123; Mon 7 feb 2000 09:15:45 BSB Date: Mon, 7 feb 2000 09:15:10 BSB From: xuxa@xuxapark.com.br (Xuxa Meneguel) Message-Id: <200002070915.AA00123@xuxapark.com.br> Subject: alo baixinho! To: seu_filho@sua_casa

corpo

Ola baixinho! Como vai você?

Figura 5. Formato de mensagens

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Aplicação * Pág. 16

REDES DE COMPUTADORES

HTTP – Hiper Text Transfer Protocol / WWW – World Wide Web

Conceituação

! O sistema WWW define um mecanismo de busca e recuperação de informação baseado no conceito de hipertexto/hipermídia;

! Através dele é possível a recuperação de informação na forma de texto, imagens (estáticas e animadas) e sons na rede, em uma estrutura cliente/servidor onde o servidor armazena um conjunto de arquivos de dados que são transferidos para o cliente (disponível em várias plataformas) sob demanda;

! Os arquivos de dados (texto) são armazenados no servidor na linguagem HTML (HyperText Makup Language);

! O sistema propõe uma forma de identificação de servidores, serviços e arquivos de modo universal através do localizador universal de recursos (Universal Resource Locator – URL);

protocolo://servidor[:porta]/caminho/arquivo

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Aplicação * Pág. 17

REDES DE COMPUTADORES

! Protocolo indica o serviço desejado; pode ser:

http: para Hypertext Transfer Protocol

ftp: para File Transfer Protocol

mailto: para correio eletrônico

telnet: para terminal remoto

file: para arquivo local

! Servidor[:porta] indica o endereço (FDQN ou IP) do servidor desejado (e a porta, opcionalmente; default é 80);

! Caminho: indica o caminho (“path”) dentro do sistema de arquivos do servidor;

! Arquivo: indica o arquivo desejado;

! Exemplos:

http://www.dsc.ufpb.br

http://www.copex.dsc.ufpb.br

ftp://ftp.mcafee.com

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Aplicação * Pág. 18

REDES DE COMPUTADORES

cliente WEB servidor WEB depósito servidor de HTTP arquivos Internet
cliente WEB
servidor WEB
depósito
servidor
de
HTTP
arquivos
Internet

Figura 6. Esquema conceitual do HTTP/WEB

! O cliente WEB disponibiliza para o usuário, através de um navegador (browser), um mecanismo de busca, transferência e apresentação de dados contidos em servidores WEB;

! Diversos navegadores estão disponíveis:

Mosaic;

Netscape;

Internet Explorer.

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Aplicação * Pág. 19