Redes II : Segurança
Prof. Dr. Amine BERQIA
[email protected]
http://w3.ualg.pt/~bamine /
Links
 http://www.securityfocus.com
 http://www.linuxsecurity.com
 http://www.openssh.org
O que é segurança de rede ?
Confidencialidade: apenas o remetente e o
receptor desejado, deverão “entender” a
mensagem.
• remetente codifica a msg
• receptor descodifica msg
Autenticação: remetente e o receptor querem
confirmar a identidade um do outro
Integridade de mensagem: remetente e o receptor
querem assegurar que a mensagem não tenha
sido alterada (em trânsito, ou depois) sem
conhecimento
Ameaças de segurança na Internet
Packet sniffing:
• meio por difusão
• NIC promíscuo lê todos os pacotes que passam na rede
• pode ler todos os dados não codificados (por exemplo
passwords)
• por exemplo: C captura pacotes de B's
C
A
src:B dest:A
payload
B
Ameaças de segurança na Internet
IP Spoofing:
• pode-se gerar pacotes de IP directamente duma
aplicação, introduzindo qualquer valor no campo de
endereço IP origem
• o receptor não destingue se origem for spoofed
• por exemplo: C finge ser B
C
A
src:B dest:A
payload
B
Ameaças de segurança na Internet
Denial of service (DOS):
• Grande volume de pacotes gerados com fim maléfico inundam
o receptor
• DOS distribuído (DDOS): múltiplas fontes coordenadas
inundam o receptor
• por exemplo, C e anfitrião remoto fazem SYN-attack a A
C
Um
SYN
SYN
SYN
SYN
SYN
B
SYN
SYN
Assinaturas digitais (1)
Assinatura digital simples
Técnica criptográfica
análogo a assinaturas
para mensagem m:
escritas à mão.
 O Bob codifica m com a


Remetente (o Bob) assina
digitalmente documento,
estabelecendo que ele é
dono/criador do documento.

A recipiente (a Alice),
verificável e não
falsificável: pode
verificar que Bob,
e mais ninguém,
assinou o documento.
chave pública dele dB,
criando assim a mensagem
assinada, dB(m).
Bob envia m e dB(m) para
Alice.
Assinaturas digitais (2)



Suponha que a Alice
Alice verifica então que:
recebe msg m, e assinatura
• Bob assinou m.
digital dB(m)
• Ninguém mais assinou m.
Alice verifica que m
• Bob assinou m e não m.'
assinada por Bob
Não repudiação:
aplicando chave pública
• Alice pode usar m, e
eB a dB(m) então confere
assinatura dB(m) em
eB(dB(m)) = m.
tribunal para provar que
Se eB(dB(m)) = m, quem
Bob assinou m.
assinou m deve ter usado a
chave privada de Bob.
Pretty good privacy (PGP)




Mecanismo de encriptação de
email da Internet, uma norma
de-facto .
Utiliza criptografia de chaves
simétrica, criptografia de
chaves públicas, função de
hash, e assinatura digital como
descrito.
Fornece confidencialidade,
autenticação de remetente e
integridade.
Inventor, Phil Zimmerman, foi
alvo investigação federal de 3anos.
Uma mensagem assinada por PGP :
---BEGIN PGP SIGNED MESSAGE-Hash: SHA1
Bob:My husband is out of town
tonight.Passionately
yours, Alice
---BEGIN PGP SIGNATURE--Version: PGP 5.0
Charset: noconv
yhHJRHhGJGhgg/12EpJ+lo8gE4vB3
mqJhFEvZP9t6n7G6m5Gw2
---END PGP SIGNATURE---
Secure sockets layer SSL (1)




PGP fornece segurança para
um app de rede específica.
SSL funciona na camada de
transporte. Fornece
segurança a qualquer app
baseada em TCP que utilize
serviços de SSL.
SSL: usado entre browsers de
WWW, servidores para de
comércio (shttp).
Serviços de segurança SSL :
 autenticação de servidor
 criptografia de dados
 autenticação de cliente
(opcional)


Autenticação de servidor:
 Browser com SSL
habilitado inclui chaves
públicas para CAs em
que confia.
 Browser pede certificado
de servidor, emitido por
CA confiada.
 Browser utiliza a chave
pública de CA para
extrair a chave público de
servidor do certificado.
Visite o menu de segurança de
seu browser para ver os CAs
confiados.
SSL (2)
Sessão de SSL codificada:
 Browser gera chave de sessão
simétrica, codifica-a com a
chave pública do servidor,
envia chave codificada ao
servidor.
 Usando sua chave privada,
servidor decifra chave de
sessão.
 Browser e servidor
concordam que msgs de futuro
serão codificados.
 Todos os dados enviados por
socket TCP (por cliente ou
servidor) são codificados com
chave de sessão.



SSL: base de Transport Layer
Security (TLS) do IETF.
SSL pode ser usado para
aplicações não Web, por
exemplo, IMAP.
Autenticação de cliente pode
ser feita com certificados de
cliente.
Arquitetura da Camada de Secure
Sockets
Operação de Registros SSL
Formato do registro de SSL (1)
Formato do registro de SSL (2)
Um Exemplo e Análise Temporal de
Autenticação de SSL Apenas do Servidor
Firewall

Vários tipos: Filtro de Pacote, aplicação,
nível de circuito,
 O tipo mais usado é Filtro de Pacotes
Exemplo
# default Policy
-P input REJECT
-P output ACCEPT
-P forward REJECT
# Allow DNS response so that DNS verification works
-A input -p tcp -s 0/0 -d 128.36.229.182 domain -j ACCEPT
-A input -p udp -s 0/0 -d 128.36.229.182 domain -j ACCEPT
# end of DNS
# ICMP rules
-A input -p icmp --icmp-type echo-request -s 0/0 -d 128.36.229.182 -j
ACCEPT
-A input -p icmp --icmp-type echo-reply -s 0/0 -d 128.36.229.182 -j
ACCEPT
# end of ICMP
# ssh rules
# yale.edu
-A input -p tcp -s 128.36.229.80/16 -d 128.36.229.182 22 -j ACCEPT
# log attempts to ssh
-A input -p tcp -s 0/0
-d 128.36.229.182 22 -l -j REJECT
# end ssh rules
# ftp rules
# leg 1: our client will send a SYNC to the server outside, thus
establishing a state
# leg 2: after our attempt, the server connects from outside to
inside
# Here -y means sync, and ! negates the meaning, namely
have state
-A input -p tcp -s 0/0 21 -d 128.36.229.182 1024:65535 -j
ACCEPT ! -y
# leg 3: our client will initiate a data connection when issuing
ls get put,
# leg 4: after our data request, the server connects from
outside to inside
# with source ftp-data. Here again -y mean sync, and ! negate
the
# meaning, namely have state
-A input -p tcp -s 0/0 ftp-data -d 128.36.229.182 1024:65535 -j
ACCEPT ! -y
# end ftp
.
Ipsec: Segurança de Camada de
rede



Confidencialidade de camada de 
rede:
 anfitrião remetente codifica
os dados num datagrama IP
 Segmentos TCP e UDP;
mensagens de ICMP e SNMP.

Autenticação de camada de rede

 anfitrião de destino pode
autenticar endereços fonte IP
Dois protocolos principais :
 protocolo de cabeçalho de
autenticação (AH)
 protocolo de encapsulação de
segurança da carga útil (ESP)
Tanto para AH e ESP, existe
negociação de origem e destino:
 cria canal lógico de camada
de rede chamado acordo de
serviço (o SÁ)
Cada SÁ é unidirecional.
Exclusivamente determinado
por:
 protocolo de segurança (AH
ou ESP)
 endereço de IP origem
 ID conexão de 32 bits
Segurança e Internet
 Segurança na camada rede : Ipsec
 Segurança na camada transporte : SSL
 Correio eletrônico : PGP
 Execução de ordens remotas de UNIX : SSH
Segurança e estrutura nas
camadas (1)
Onde colocar os serviços da segurança ?
 Na camada de rede: IPSec, VPNs Virtual private
Networks
 Na camada de transporte: SSL
(Netscape), PCT (Microsoft)?
 Na camada de aplicação: Secure HTTP (htpps), o
PGP, o SSH, o S/MIME
Segurança e estrutura nas
camadas (2)
Estruturas da segurança para IP (IPSec) :
para IPv6 (IPnG) mas pode também ser integrado em IP tradicional
(IPv4); Constituído por dois blocos fundamentais:
Authentication Header (AH) etEncapsulating Security Payload
(ESP)
Depende dos algoritmos usados, diversos serviços da
segurança:
 Authentication (host-baseado)
 Confidentiality
 Integridade …
 Descrição geral em RFC 1825
Segurança e estrutura nas
camadas (3)
Protocolo de Autenticação
Cabeçalho (AH)




Cabeçalho de AH inclui:
Fornece autenticação de
 identificador de conexão
anfitrião de origem,
integridade de dados, mas não dados de autenticação:
sumário(digest) da mensagem
confidencialidade.
assinada, calculado em cima de
Cabeçalho de AH está
inserido entre o cabeçalho IP datagrama IP original, fornecendo
assim autenticação de origem,
e o campo de dados de IP.
integridade de dados.
Campo Protocolo = 51.
 Próximo campo de cabeçalho:
Routers intermediários
especifica tipo de dados ( TCP, UDP,
processam datagramas
ICMP, etc.)
normalmente.
Protocolo ESP



Fornece confidencialidade,
autenticação de anfitrião,
integridade de dados.
Dados, campo de fim de ESP
codificados.
Próximo campo de cabeçalho está
em campo de fim de ESP.


Campo de autenticação do
ESP é semelhante ao campo
de autenticação AH.
Protocolo = 50.
IPSec: Algumas conclusões
oferece uma proteção básica ao tráfego IP com algumas
dificuldades:
 ambigüidade usuários-endereços,
 Integração dos primitivos da segurança nos sistemas
operativos (transparência);
 Escolha de uma política da gerência das chaves;
 Esforço da proteção não sempre proporcional às
necessidades para a aplicação;
 Competido com as soluções VPN.
Secure Socket Layer (SSL) (1)
Produto Netscape;
É ficado situado entre a camada de transporte (TCP) e os
protocolos da camada da aplicação (não so HTTP mas
também smtp, ftp, etc.!)
Ofereça os seguintes serviços da segurança:
Confidentiality
Integridade
Authentication do servidor (do cliente)
Baseado em algoritmos do cryptografia públicos
(RSA, Diffie-Hellmann)
SSL (2)
MAC = Message Authentication Code: reserva para
assegurar a integridade e authenticity do pacote
SSL State Variables
Session
Connexion
• session identifier
• client/server random
• peer certificate
byte sequences for key gen.
• compression method
• c/s write MAC secret
• cipher specification
encryption algo. +
secret key used to generate MACs by
the client (resp. the server)
authentication algo. +
• c/s write key secret
crypto attributes
• master secret
secret key used by the client (resp.
the server) to encrypt application
data
secret shared between client and server
• sequence numbers
• is resumable
indicates if new connections may be
initiated under this session
keep track of received/sent
messages
• initialization vectors
uma sessão pode conter diversas conexões!
SSL: Geração das chaves (1)
master_secret =
MD5(pre_master_secret + SHA(’A’ + pre_master_secret +
ClientHello.random + ServerHello.random)) +
MD5(pre_master_secret + SHA(’BB’ + pre_master_secret +
ClientHello.random + ServerHello.random)) +
MD5(pre_master_secret + SHA(’CCC’ + pre_master_secret +
ClientHello.random + ServerHello.random));
SSL: Geração das chaves (2)
key_block =
MD5(master_secret + SHA(‘A’ + master_secret +
ServerHello.random +
ClientHello.random)) +
MD5(master_secret + SHA(‘BB’ + master_secret +
ServerHello.random +
ClientHello.random)) +
MD5(master_secret + SHA(‘CCC’ + master_secret +
ServerHello.random +
ClientHello.random)) + [...];
until enough output has been generated. Then the key_block is
partitioned as follows:
client_write_MAC_secret[CipherSpec.hash_size]
server_write_MAC_secret[CipherSpec.hash_size]
client_write_key[CipherSpec.key_material]
server_write_key[CipherSpec.key_material]
client_write_IV[CipherSpec.IV_size] /* non-export ciphers */
server_write_IV[CipherSpec.IV_size] /* non-export ciphers */
Secure SHell SSH
Para segurar os comandos remotos : rlogin, rsh,
rcp, …
Authentication SSH:
O cliente tem um certificado da
chave pública do servidor
(.ssh/known_hosts) e: usa este para
emitir ao servidor o password
encryptado por RSA o se um
certificado do cliente é reconhecido
http://www.ssh.fi
pelo servidor,
uma authentication
Bibliografia
• [Men97]: Menezes, A et al. Handbook of Applied Cryptography. CRC press
series on discrete mathematicsand its applications. 1997.
URL (Mars 2002): http://cacr.math.uwaterloo.ca/hac/
• [Sch96]: Schneier, B. Applied Cryptography. Second Edition.John Wiley &
Sons. 1 996.
• [Sti95]: Stinson, D.R. Cryptography: Theory and Practice. CRC Press Series on
Discrete Mathematics and Its Applications. CRC Press, Inc. 1995.
• [Kau95]: Kaufman, C. et al. Network Security. Private Communication in a Pubic
World. Prentice-Hall PTR.
1995.
• [Sta95]: Stallings, W. Network and Internetwork Security, Prentice-Hall
International, 1995.
Os firewalls (1)
Restrição do acesso à rede num ponto preciso
Impedir os agressores aproximar-se os outros
defesas
Que pode fazer um firewall
Que não pode fazer um firewall
Centralização das decisões de segurança;
Reforçar a segurança dos serviços Internet
propostos;
Determinar uma regulamentação de acesso para e
desde a Internet;
Isolar uma parte da rede (firewall internos);
Controlar e registar a actividade Internet.
Impossibilidade de proteger as conexões que
não passam pelo firewall;
Não protecção contra as ameaças novas;
Não de protecção contra os vírus;
Impossibilidade de proteger-se dos
utilizadores.
Os firewalls (2)
O firewall é apenas um actor de uma política
de segurança; não pode resolver todos os
problemas de segurança.
Utilização antivirus, a sensibilização do
pessoal, a protecção física das máquinas é
tantos problemas que um firewall não pode
resolver.
Os firewalls (3)
 Duas políticas de segurança:
autorizá-lo todo excepto alguns serviços conhecidos que
quer-se recusar

pr oibi-lo todo excepto certos serviços que pode-se/deseja-se
proteger

 Sempre utilizar "software" provados ou corrigindo buracos de
segurança de versões anteriores
 Examinar o code source tão possível para evitar os cavalos Troie
política mais restritiva é geralmente a mais certa.
Os firewalls (4)
serviços a proteger:

o correio electrónico (SMTP tcp/25, POP3 tcp, udp/110),
a transferência de ficheiros (FTP tcp/21, TFTP udp/69,
SFTP tcp/115),

o acesso por terminal (Telnet tcp/23) e a execução de
encomendas a distância,


les News Usenet (NNTP tcp/119),

o World Wide Web (HTTP tcp, udp/80),

os outros serviços de informações (gopher tcp, udp/70),
Os firewalls (5)

as informações sobre as pessoas (finger tcp/79),

os serviços de conferência em tempo real,

o serviço de nome (DNS, tcp, udp/53),

os serviços de administração rede (SNMP udp/161,162),

os serviços temporais (NTP tcp, udp/123),

os sistemas de ficheiros rede (NFS sobre RPC tcp/udp/111),

os serviços de impressão (impressora tcp/515)
Qualquer serviço da rede é a priori filtrável por um firewall.
Firewall screening router
À arquitectura mais barata que permite fazer uma filtragem simple mas
eficaz.
Firewall com proxy
Permite de ter um muito bom controlo sobre os serviços retransmitidos (relayed).
Ideal para fazer da tradução de endereço e mascarar os seus endereços IP
internos ao exterior.
Existe varios proxies com funções mais ou menos evoluidas. Aquilo
pode ir do simple proxy ftp ao proxy cache web como Squid.
Firewall com bastion host
Todas as conexões provenientes da Internet passam necessariamente por
Bastion que se encontra sobre a rede interna.
Os clientes da rede interna podem aceder directamente à Internet para
serviços não mandatados pelo bastião, se não passa obrigatoriamente por
proxies do bastion.
Firewall com DMZ
Utilização duma subnet para isolar os bastions: é a zona
DMZ Demilitarized Zone.
Ainda que o bastiion é furado, o pirata é isolado no DMZ e não pode
aceder a rede interna facilemente.
Firewalls hierárquicos
Frequentemente utilizado para isolar uma rede de teste interna numa
empresa.
Os endereços IP privados são definidos no RFC 1918:
- classe A: 10.0.0.0 à 10.255.255.255
- classe B: 172.16.0.0 à 172.31.255.255
- classe C: 192.168.0.0 à 192.168.255.255
Exemplos de firewall no mercado
Fabricando
Produto
URL
Cisco Systems
IBM
SUN
CHECK PONTO
PIX
IBM Firewall v3
SUNScreen
FIREWALL-1
http://www.cisco.com
http://www.ics.raleigh.ibm.com
http://www.sun.com
http://www.checkpoint.com
Bibliografia
“Building Internet Firewalls” O ’Reilly &
Associates,
www.vitels.ch, Firewall Management Module.
Download

Segurança