redes ii : segurança prof. dr. amine berqia [email protected] bamine
TRANSCRIPT
Redes II : Segurança
Prof. Dr. Amine BERQIAProf. Dr. Amine BERQIA [email protected] [email protected]
http://w3.ualg.pt/~bamine / http://w3.ualg.pt/~bamine /
LinksLinks
http://www.securityfocus.com
http://www.linuxsecurity.com
http://www.openssh.org
O que é segurança de O que é segurança de rede ?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 Ameaças de segurança na InternetInternet
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
A
B
C
src:B dest:A payload
Ameaças de segurança na Ameaças de segurança na InternetInternet
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
A
B
C
src:B dest:A payload
Ameaças de segurança na Ameaças de segurança na InternetInternet
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
Um
B
C
SYN
SYNSYNSYN
SYNSYN
SYN
Assinaturas digitais (1)Assinaturas digitais (1) Técnica criptográfica
análogo a assinaturas escritas à mão.
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.
Assinatura digital simples para mensagem m:
O Bob codifica m com a chave pública dele dB, criando assim a mensagem assinada, dB(m).
Bob envia m e dB(m) para Alice.
Assinaturas digitais (2)Assinaturas digitais (2) Suponha que a Alice
recebe msg m, e assinatura digital dB(m)
Alice verifica que m assinada por Bob aplicando chave pública eB a dB(m) então confere eB(dB(m)) = m.
Se eB(dB(m)) = m, quem assinou m deve ter usado a chave privada de Bob.
Alice verifica então que: • Bob assinou m. • Ninguém mais assinou m. • Bob assinou m e não m.'
Não repudiação: • Alice pode usar m, e
assinatura dB(m) em tribunal para provar que Bob assinou m.
Pretty good privacy (PGP)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 3-anos.
---BEGIN PGP SIGNED MESSAGE------BEGIN PGP SIGNED MESSAGE---Hash: SHA1Hash: SHA1
Bob:My husband is out of town Bob:My husband is out of town tonight.Passionately yours, tonight.Passionately yours, AliceAlice
---BEGIN PGP SIGNATURE------BEGIN PGP SIGNATURE---Version: PGP 5.0Version: PGP 5.0Charset: noconvCharset: noconvyhHJRHhGJGhgg/yhHJRHhGJGhgg/
12EpJ+lo8gE4vB3mqJhFEvZP9t612EpJ+lo8gE4vB3mqJhFEvZP9t6n7G6m5Gw2n7G6m5Gw2
---END PGP SIGNATURE------END PGP SIGNATURE---
Uma mensagem assinada por PGP :
Secure sockets layer SSL Secure sockets layer SSL (1)(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) SSL (2) Sessão de SSL codificada: Sessão de SSL codificada: Browser gera chave de sessão Browser gera chave de sessão
simétrica, codifica-a com a simétrica, codifica-a com a chave pública do servidor, envia chave pública do servidor, envia chave codificada ao servidor. chave codificada ao servidor.
Usando sua chave privada, Usando sua chave privada, servidor decifra chave de sessão. servidor decifra chave de sessão.
Browser e servidor concordam Browser e servidor concordam que msgs de futuro serão que msgs de futuro serão codificados. codificados.
Todos os dados enviados por Todos os dados enviados por socket TCP (por cliente ou socket TCP (por cliente ou servidor) são codificados com servidor) são codificados com chave de sessão. chave de sessão.
SSL: base de Transport Layer SSL: base de Transport Layer Security (TLS) do IETF. Security (TLS) do IETF.
SSL pode ser usado para SSL pode ser usado para aplicações não Web, por aplicações não Web, por exemplo, IMAP. exemplo, IMAP.
Autenticação de cliente pode ser Autenticação de cliente pode ser feita com certificados de cliente. feita com certificados de cliente.
Arquitetura da Camada de Arquitetura da Camada de Secure Sockets Secure Sockets
Operação de Registros Operação de Registros SSLSSL
Formato do registro de Formato do registro de SSL (1)SSL (1)
Formato do registro de SSL Formato do registro de SSL (2)(2)
Um Exemplo e Análise Um Exemplo e Análise Temporal de Autenticação de Temporal de Autenticação de
SSL Apenas do ServidorSSL Apenas do Servidor
Firewall Firewall
Vários tipos: Filtro de Pacote, aplicação, nível de circuito,
O tipo mais usado é Filtro de Pacotes
ExemploExemplo # 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 Ipsec: Segurança de Camada de redeCamada 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 InternetSeguranç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 Segurança e estrutura nas camadas nas camadas (1)(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 Segurança e estrutura nas camadas nas camadas (2)(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 dasegurança:
Authentication (host-baseado)
Confidentiality
Integridade …
Descrição geral em RFC 1825
Segurança e estrutura Segurança e estrutura nas camadas nas camadas (3)(3)
Protocolo de Autenticação Protocolo de Autenticação Cabeçalho (AH)Cabeçalho (AH)
Fornece autenticação de anfitrião de origem, integridade de dados, mas não confidencialidade.
Cabeçalho de AH está inserido entre o cabeçalho IP e o campo de dados de IP.
Campo Protocolo = 51. Routers intermediários
processam datagramas normalmente.
Cabeçalho de AH inclui: identificador de conexão dados de autenticação: sumário(digest)
da mensagem assinada, calculado em cima de datagrama IP original, fornecendo assim autenticação de origem, integridade de dados.
Próximo campo de cabeçalho: especifica tipo de dados ( TCP, UDP, ICMP, etc.)
Protocolo ESPProtocolo 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 IPSec: Algumas conclusõesconclusõ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 Secure Socket Layer (SSL) (1)(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)SSL (2)
MAC = Message Authentication Code: reserva para assegurar a integridade e authenticity do pacote
SSL State Variables
• session identifier
• peer certificate
• compression method
• cipher specification
encryption algo. +
authentication algo. +
crypto attributes
• master secret
secret shared between client and server
• is resumable
indicates if new connections may be initiated under this session
• client/server random
byte sequences for key gen.
• c/s write MAC secret
secret key used to generate MACs by the client (resp. the server)
• c/s write key secret
secret key used by the client (resp. the server) to encrypt application data
• sequence numbers
keep track of received/sent messages
• initialization vectors
for crypto algorithms
Session Connexion
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));
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 */
SSL: Geração das chaves (2)
Secure SSecure SHHell ell SSHSSH
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 pelo servidor, uma authentication asymmetrica.
http://www.ssh.fi/
BibliografiaBibliografia• [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)Os firewalls (1)
Restrição do acesso à rede num ponto preciso Impedir os agressores aproximar-se os outros defesas Que 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.
Que não pode fazer um firewall
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)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)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.
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 (4)Os firewalls (4)
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.
Os firewalls (5)Os firewalls (5)
Firewall screening Firewall screening routerrouter
À arquitectura mais barata que permite fazer uma filtragem simple mas eficaz.
Firewall com proxyFirewall 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 IPinternos 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.
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 Firewall com bastion bastion hosthost
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.
Firewall com Firewall com DMZDMZ
Firewalls hierárquicos Firewalls hierárquicos
Frequentemente utilizado para isolar uma rede de teste interna numa Frequentemente utilizado para isolar uma rede de teste interna numa empresa. empresa. Os endereços IP privados são definidos no RFC 1918: Os endereços IP privados são definidos no RFC 1918: - classe A: 10.0.0.0 à 10.255.255.255 - classe A: 10.0.0.0 à 10.255.255.255 - classe B: 172.16.0.0 à 172.31.255.255 - classe B: 172.16.0.0 à 172.31.255.255 - classe C: 192.168.0.0 à 192.168.255.255 - classe C: 192.168.0.0 à 192.168.255.255
Exemplos de firewall no Exemplos de firewall no mercado mercado
Fabricando Produto URL
Cisco Systems PIX http://www.cisco.com IBM IBM Firewall v3 http://www.ics.raleigh.ibm.com SUN SUNScreen http://www.sun.com CHECK PONTO FIREWALL-1 http://www.checkpoint.com
BibliografiaBibliografia
“Building Internet Firewalls” O ’Reilly & Associates,
www.vitels.ch, Firewall Management Module.