330 likes | 411 Views
Introdução à VPN ( Virtual Private Network ). Situação Corrente. Internet é uma arquitetura aberta Protocolos concebidos sem preocupação com segurança Uso comercial Aumento de conectividade aumento exposição. IPSec: VPN. Dados em trânsito na Rede. Expostos a ataques Spoofing
E N D
Situação Corrente • Internet é uma arquitetura aberta • Protocolos concebidos sem preocupação com segurança • Uso comercial • Aumento de conectividade aumento exposição
IPSec: VPN Dados em trânsito na Rede • Expostos a ataques • Spoofing • Men-in-the-middle attack • sniffing • session hijacking • Proteções conhecidas • PGP: Mail • SSH: Telnet • SSL: Web
O que uma VPN ? • Virtual Private Network • redes baseadas em IP que usam Criptografia e Tunelamento para: • conectar usuários de forma segura a suas redes corporativas (acesso remoto); • Conectar filias em rede (intranet) • Estender rede corporativas a seus clientes, fornecedores e parceiros (extranet) • Fundamento: confiança (trust relationships)
Objetivos • Confiabilidade nas conexões • confidencialidade: criptografia dos dados • integridade: autenticação (dado não alterado por terceiros) IMPORTANTE: OPERA NA CAMADA DE IP (REDE)
Confidencialidade IPSec • Protege a privacidade na troca de informação por meio de criptrografia • Esquema de secret(private) key e public key. Chaves secretas não devem ser trocadas pela rede por razões obvias. Chaves secretas e públicas são criadas aos pares e mantém uma relação matemática. Dados criptografados com a chave pública de alguém, só podem ser recompostos com a chave privada dessa mesma pessoa. Chaves públicas podem ser trocadas pela rede livremente. DES, 3DES, Blowfish, TwoFish, ArcFour, Diffie-Hellman (IKE – versão mais moderna)
Integridade IPSec • Garantir que a informação transmitida não foi alterada de forma alguma. • One way hash function: espécie de um “checksum” [função f(x) = y] para um conjunto de dados segundo um padrão conhecido • Gerado na saída e conferido na chegada. • Exemplos de algoritmos: MD5, SHA-1 and RIPE-MD-160.
Integridade IPSec • Message-authentication codes (MACs) • adicionar uma chave à função hash. O emissor cria o arquivo a ser enviado; calcula o MAC baseado na chave compartilhada com o receptor e adiciona-a ao arquivo; receptor lê o arquivo, calcula o MAC e compara com o que veio anexado ao arquivo. • Algoritmos MAC: HMAC-MD5, HMAC-SHA1
Integridade • Assinatura digital (digital signature) • criptografia de chave pública de forma reversa. • O emissor “assina” o dado a transmitir com a sua chave privada; o receptor pode verificar a autenticidade da “assinatura” usando a chave pública do emissor. • Assinatura: emissor cria um Message Digest (hash produzida a partir do dado a ser enviado); criptografa o digest com sua chave privada; anexa essa ‘assinatura’ ao documento e envia.
Autenticação • Garante a identidade de ambas as partes • por senha • por certificados Senhas: Forma muito utilizada. Podem ser roubadas e/ou adivinhadas. Uso combinado com algum outro dispositivo físico (um cartão bancário, por exemplo).
Autenticação • Certificados digitais (padrão X.509) • documento eletrônico emitido por uma autoridade de certificado (certificate authority) que garante a identidade de um indivíduo. • Ele associa um indivíduo a uma chave pública. • Ele contém uma chave pública, informações para o usuário (nome da companhia), info para o criador do certificado e período de validade. • Toda essa informação é usada para criar um condensado de informação, criptografado com a chave secreta da autoridade, para “assinar” o certificado.
Protocolos para VPN • IPSec (Internet Protocol Security) • Tunneling • Point to Point Tunneling Protocol (PPTP) • Layer 2 Tunneling Protocol (L2TP) • Sock5
IPSec • Segurança para IP • Provê criptografia e autenticação para a camada de redes (IP) • Pode então proteger tráfego sobre IP, ao invés de outros que apenas protegem tráfego em camadas superiores da pilha de protocolos (SSH, SSL, PGP) • Garante segurança entre duas máquina e não usuários !!!
Security Association (SA) • Conceito fundamental em IPSec • similar à ideia de um socket TCP/UDP • Uma SA é uma tripla formada por um Security Parameter Index (SPI), um endereço IP destino e um identificador de protocolo de segurança (AH ou ESP) • identifica unicamente uma conexão simplex (unidirecional) e possibilita serviço de segurança ao dado transportado. É preciso um par de SAs para uma transação IPSec • SPI: usado para distinguir SAs diferentes terminadas em um mesmo destino e com o mesmo protocolo IPSec. • É um canal gerado nos níveis mais acima do IPSec (IKE) e usado pelos mais baixos (ESP)
IPSec • IPSec usa 3 protocolos • AH: (Authentication Header) Provê serviço de autenticação para o pacote. • ESP: (Encapsulating Security Payload) Provê criptografia + autenticação. • IKE: (Internet Key Exchange) Negocia parâmetros de conexão, incluindo chaves, para os dois protocolos acima. (algoritmo Diffie-Hellman - DH)
AH IP Authentication Header • Protocolo Nro 51 (TCP = 7, UDP = 11). • Objetivo • verificação do dados e integridade dos pacotes • Inserido • ENTRE o header IP e o Payload (header TCP +Dados): modo de transporte • ANTES do header original, junto com um novo header IP: modo de túnel (tunnel mode) • Não mais implementado no FreeS/WAN
Modo Transporte Túnel
ESP Encapsulating Security Payload (protocolo 50) Todo o pacote IP é encapsulado. Tudo que alguém vê é um dado criptografado. • Similar ao AH • Objetivos • mesmo que AH + confidencialidade (criptografia) • empregado nos modos de transporte e túnel. Uma ferramenta de análise de tráfego pode determinar os tipos dos protocolos e portas (só o payload é “protegido”) Modo Transporte: entre hosts Modo Túnel: entre hosts, entre gateways, entre host-gateway
Criptografia • Técnica que converte uma mensagem legível (plaintext) em material aparentemente randômico (ciphertext) que não pode ser lido, se interceptado. • Necessita de uma chave para ser lida. • Simétrica (mesma chave secreta em ambos os lados) • chaves públicas (par de chaves pública/privada)
Técnicas de Criptografia • Block ciphers • HMAC - Hash Functions • Diffie-Hellman key aggreement • Autenticação RSA
Técnicas de Criptografia • Block ciphers • cipher simétrico que utiliza operações rápidas e e repetidas (somas, deslocamentos, subtrações, etc) em um bloco de dados de uma só vez (8 bytes, por exemplo) e passa ao seguinte. • É uma técnica simétrica !!! • Shared secret deve ser criada no momento da transmissão de forma segura. Como? Esquema de troca de chaves DH (Diffie-Helman)
Block CiphersExemplos DES: inseguro. Nova Geração: 3DES (Default FreeSWAN), AES, etc...
Como é criada uma shared secret ? Método Diffie - Hellman de troca de chaves. Presente no IKE
Hashed Message Authentication Code HMAC • Usadas pelo IPSec para conferir autenticação/integridade os pacotes de dados • baseados em funções HASH e chaves • indica que o pacote não foi mudado durante transmissão. • Algoritmos de HASH (MD5 e SHA) Secure Hash Algorithm (NSA - não muito usado!) Message Digest Algorithm (RSA)
RSA • Técnica de criptografia do tipo public key • Rivest, Shamir and Adleman (patente quebrada em 2000!) • Usado pelo IPSec apenas para assinaturas digitais, como método de autenticação de gateways para a técnica de negociação de chaves Diffie-Hellman !
FreeS/WAN • Free Security WAN • Implementação GNU de IPSec que usaremos! • KLIPS (Kernel do IPSec) • implementa AH, ESP e manipulação de pacotes pelo kernel. Portanto, é preciso habilitar o kernel linux • Pluto (deamon IKE) • implementa IKE, negocia conexões com outros outras máquinas • Ferramentas de administração e scripts admin
Gateways Configurações Road Warrior
Configuração Subnet - Subnet Fonte: http://jixen.tripod.com/