You are on page 1of 101

Faculdade de Tecnologia de Teresina CET

Auditoria e Segurana de Redes Prof.: Andr Henry I. e Silva andre@ati.pi.gov.br andre.his@gmail.com

Unidade II Mecanismos de Proteo

Criptografia e Quebra de Senhas. Autenticao de Mensagens. Chave Pblica e Assinaturas Digitais Segurana na Camada de Transporte Funcionamento de uma VPN Protocolos para VPN Implementao de VPN com OpenVpn
andre.his@gmail.com

Criptografia e Quebra de Senhas


Classificao das Cifras
Cifras de transposio
Posies das letras alteradas
Ex: Escrever no sentido inverso: ANDRE ERDNA

Cifras de substituio
Cada smbolo da mensagem substitudo por um outro smbolo

Ex:
Alfabeto original: a b c d e f g h i j k l m n o p q r s t u v w x y z Alfabeto cifrado: Q W E R T Y U I O P A S D F G H J K L Z X C V B N M Plaintext andre Ciphertext QFRKT
andre.his@gmail.com

Mtodos e Protocolos de Autenticao


A autenticao tem como objetivo validar a identificao dos usurios, concedendo-lhes a autorizao para acessar um dado sistema ou determinados recursos. A autenticidade ou validao da identificao do usurio pode ser feita das seguintes maneiras: Com base no que o usurio sabe: Senhas: uso de criptografia (funes hash) Problema: senhas fracas, divulgao, captura, interceptao.
andre.his@gmail.com

Mtodos e Protocolos de Autenticao (2)


Cont... Com base no que o usurio tem: Cartes, tokens... Problema: roubo, perda, custo, etc... Com base em caractersticas do usurio: Biometria Problema: algoritmos de verificao (mudanas no usurio). Combinao de tcnicas.
andre.his@gmail.com

Protocolos de Autenticao
Password Authetication Protocol (PAP) Mtodo Two-Party , ou seja , baseado em entre duas entidades (validao mtua) Utiliza o protocolo PPP (ponto-a-ponto), geralmente usado em conexes discadas, no qual a senha enviada a um NAS (Servio de Autenticao da Rede)

andre.his@gmail.com

PAP: Mensagens
Mensagens trocadas durante autenticao PAP: 1. O cliente remoto estabelece o enlace; 2. O cliente remoto informa ao servidor que esta usando PPP; 3. O servidor configurado para usar o PAP, notifica o cliente para usar PAP na sesso; 4. O cliente envia nome de usurio e senha no formato PAP 5. O Servidor valida as informaes , com as armazenadas no banco de dados.

andre.his@gmail.com

PAP: Caractersticas
Atua em nvel de enlace; No possui criptografia no envio do nome do usurio e senha para o NAS; A autenticao feita somente no incio da conexo; No possui controle sobre o nmero de tentativas de conexo; No oferece proteo contra ataques de reproduo ou tentativas de erros repetidos.

andre.his@gmail.com

Challenge Handshake Authentication Protocol (CHAP)

Mtodo tambm utilizado pelo protocolo PPP; Mtodo mais complexo que o PAP, porque a senha real do usurio no atravessa o canal de autenticao; um mtodo bastante utilizado em ambientes Linux.

andre.his@gmail.com

CHAP - Autenticao
Autenticao: Handshake de trs vias, em que ocorre aps o estabelecimento do LINK: 1. O servidor NAS configurado para utilizar PPP e CHAP; 2. O Servidor NAS notifica o cliente para usar CHAP na sesso; 3. O cliente responde OK; 4. O cliente responde OK. 5. O Handshake ocorre: Servidor NAS envia um desafio (pergunta) Cliente responde (funo hash md5) Servidor valida resposta do cliente.
andre.his@gmail.com

CHAP - Autenticao
Autenticao: Handshake de trs vias, em que ocorre aps o estabelecimento do LINK: 1. O servidor NAS configurado para utilizar PPP e CHAP; 2. O Servidor NAS notifica o cliente para usar CHAP na sesso; 3. O cliente responde OK; 4. O cliente responde OK. 5. O Handshake ocorre: Servidor NAS envia um desafio (pergunta) Cliente responde (funo hash md5) Servidor valida resposta do cliente.
andre.his@gmail.com

CHAP - Caractersticas
Depende de um segredo conhecido apenas pelo servidor e cliente;

A autenticao pode ser repetida durante a conexo com o envio de diferentes desafios;
As senhas dos usurios no so armazenadas criptografadas no servidor; (ponto falho) Os dados enviados entre o cliente e o servidor so criptografados;

Possui a finalidade de apenas permitir ou negar acesso a rede, no permitindo definir nveis de permisses para determinados usurios.

andre.his@gmail.com

Extensible Authentication Protocol (EAP)


Requistos: Autenticao mtua Usurio, PA e servidor de autenticao Gerenciamento de chaves Certificados digitais Troca de chaves de sesso Desvantagem: no protege contra ataques de DoS

andre.his@gmail.com

Extensible Authentication Protocol (EAP)

andre.his@gmail.com

Classificao dos Sistemas de Criptografia

Quanto ao tipo de cifra utilizada Operaes utilizadas para transformao do texto simples para o cifrado (substituio e transposio) Quanto a simetria das chaves utilizadas Criptografia Simtrica e Assimtrica Modo de Operao da Cifra Cifra de Bloco e Cifra de Fluxo
andre.his@gmail.com

Criptografia Simtrica

Chave de decifragem igual a chave de cifragem; Os algoritmos so eficientes (rpidos) Algoritmos de conhecimento pblico Segurana reside na chave

andre.his@gmail.com

Criptografia Simtrica: Algoritmos


Data Encryption Standard DES:
Cifra de bloco; Chaves 64 bits (efetivos 56 bits);

Bastante rpido.
Tripe Data Encryption Standard 3DES: Adaptao do DES para torn-lo mais forte;

Utiliza chaves de 64 bits


International Data Encryption Algorithm - IDEA: Cifra de bloco;

Chaves de at 448 bits;


Advanced Encryption Standard AES (Alg. Rijndel) Algoritmo muito forte;

Utiliza chaves de 128 a 256 bits

andre.his@gmail.com

Criptografia Assimtrica

Cada usurio possui um par de chaves Algoritmo de gerao das chaves A chave privada mantida em segredo A chave pblica divulgada Repositrio com chaves pblicas (cartrio) Cifragem feita com a chave pblica do destinatrio Decifragem feita com a chave privada do destinatrio
andre.his@gmail.com

Criptografia Assimtrica

andre.his@gmail.com

Criptografia Assimtrica: Algoritmos - RSA


Cifra de bloco

Tamanho de chave maior que nas cifras simtricas


Menos eficientes que as cifras simtricas Baseado em funes de mo nica Reversvel sob certas circunstncias Chave secreta no deve ser facilmente obtida a partir da chave pblica RSA (1977) Ron Rivest, Adi Shamir e Leonard Adleman Publicado em 1978 Segurana da chave privada Fatorao de nmeros grandes
andre.his@gmail.com

Criptografia Assimtrica: Algoritmos Outros Algoritmos


El-Gamal Algoritmos baseados em curvas elpticas Usado para troca de chaves simtricas

andre.his@gmail.com

Certificao Digital
Documento eletrnico Composto pela chave pblica de uma entidade, entre outros dados
Entidade final: Chave de 1024 bits

Assinado por uma autoridade certificadora (AC)


Cartrio do mundo digital Tambm possui um certificado
Chave de 2048 bits

Vincula uma entidade a sua chave pblica


andre.his@gmail.com

Certificao Digital
Documento eletrnico Composto pela chave pblica de uma entidade, entre outros dados
Entidade final: Chave de 1024 bits

Assinado por uma autoridade certificadora (AC)


Cartrio do mundo digital Tambm possui um certificado
Chave de 2048 bits

Vincula uma entidade a sua chave pblica


andre.his@gmail.com

Certificao Digital
Justificativa:
necessrio que o usurio tenha certeza de que a chave pblica que est utilizando autntica.

Certificado Digital - arquivo digital que contm as informaes necessrias identificao de um indivduo ou programa, equipamento, componente, produto, etc, incluindo sua chave pblica; Principal funo de um certificado vincular uma chave pblica ao nome de um protagonista (indivduo, empresa, etc.).
andre.his@gmail.com

Certificao Digital
Justificativa:
necessrio que o usurio tenha certeza de que a chave pblica que est utilizando autntica.

Certificado Digital - arquivo digital que contm as informaes necessrias identificao de um indivduo ou programa, equipamento, componente, produto, etc, incluindo sua chave pblica; Principal funo de um certificado vincular uma chave pblica ao nome de um protagonista (indivduo, empresa, etc.).
andre.his@gmail.com

Certificao Digital: Para que serve?


Eletrnico seguro

Transaes Bancrias sem repdio


Compras pela Internet sem repdio Consultas confidenciais a cadastros Arquivo de documentos legais digitalizados Transmisso de documentos

Contratos digitais
Certificao de Equipamentos Certificao de Programas de Computador

Certificao de vdeo, som e comandos digitais


andre.his@gmail.com

Obteno de um Certificado
Cliente gera um par de chaves pblica e privada (por exemplo, usando RSA); Envia-se um pedido de certificado para a Autoridade de Registro;

AR (Autoridade Regional de Registro) faz a prova de existncia do requisitante e retransmite o pedido para a AC; AC assina e envia o certificado;
Usurio instala seu certificado; Usurio divulga o certificado.

andre.his@gmail.com

Infra-estrutura de chave pblica (ICP)


Definio (RFC 2822)

Uma ICP pode ser definida como um conjunto de hardware, software, pessoas, polticas e procedimentos necessrios criao, gerenciamento, armazenamento, distribuio e revogao de certificados, baseados em criptografia de chave pblica.

andre.his@gmail.com

Infra-estrutura de chave pblica (ICP)

andre.his@gmail.com

Exemplo de Certificado

andre.his@gmail.com

Elementos de uma ICP Mdulo pblico


Acesso pelas entidades
Entidades detentoras de certificados
Acompanhamento do processo de emisso do certificado

Entidade final (parceiro confivel)

Autoridade de Registro
Interface com as entidades Verificao de dados
Nvel de confiana

andre.his@gmail.com

Elementos de uma ICP


Autoridade Certificadora (AC)
Confia na AR
No faz verificaes de identidade

Responsvel pela emisso, publicao e renovao de certificados Responsvel ainda pela revogao de certificados
Criao e distribuio da LCR

Pode ser uma organizao pblica ou privada ou ainda um indivduo


andre.his@gmail.com

Elementos de uma ICP Repositrios


Lista de certificados Lista de certificados revogados (LCR)
Possibilidade negar a validade de um certificado fora do prazo uma estrutura de dados assinada por uma AC Distribudas pela Internet Local indicado nas extenses do certificado de uma AC Seguem tambm a recomendao X.509 do ITU-T
Atualmente: verso 2. andre.his@gmail.com

ICP - Brasil
ICP-Brasil Regulamentao da certificao digital no Brasil http://www.iti.gov.br/ Conjunto de normas Compatibilidade entre os tipos de certificados Compatibilidade com outras normas existentes Instituda em 2001 Criao do comit gestor, da AC-Raiz e outras entidades Incoorporao de novas resolues Auditoria das entidades Verificao de aptido Verificao da execuo de procedimentos previstos
andre.his@gmail.com

Estrutura: ICP - Brasil

andre.his@gmail.com

Gerando Certificados - SSL


Aqui iremos gerar um certificado do qual voc mesmo a autoridade certificadora (sigla do ingls CA). Este certificado extremamente til para o simples caso que queremos usar SSL, o certificado serve apenas para dizer que voc voc: 1: Gerando a chave privada (sem senha): openssl genrsa -out ssl.key 1024 2: Gerando o certificado: openssl req -new -key ssl.key -x509 -out ssl.crt -days 999
andre.his@gmail.com

Criptografando e Descriptografando c/ OpenSSL


1. Gerar a chave privada: #openssl genrsa -out rsaprivatekey.pem passout pass:"senha" -aes128 1024
Gera uma chave private de 1024 bits utilizando o algoritmo RSA, criptografa a chave privada com o algoritmo AES e define a senha da chave privada como senha armazenando a chave privada no arquivo rsaprivatekey.pem

2: Gerar a chave pblica: #openssl rsa -in rsaprivatekey.pem -pubout out rsapublickey.pem
L a chave privada RSA do arquivo rsaprivatekey.pem, descriptografa a chave privada com a senha senha e cria a chave pblica correspondente no arquivo rsapublickey.pem.
andre.his@gmail.com

Criptografando e Descriptografando c/ OpenSSL


3. Criptografando um arquivo com a chave pblica:

openssl rsautl -encrypt -pubin -inkey rsapublickey.pem -in arquivo1.txt -out arquivo1Cifrado.txt

4: Descriptografando com a chave privada:

# openssl rsautl -decrypt -inkey rsaprivatekey.pem -in arquivo1Cifrado.txt -out arquivo1Decifrado.txt

andre.his@gmail.com

Exerccios
1. Gerar par de chaves e certificados..

andre.his@gmail.com

Segurana na Comunicao
Exemplos de Protocolos/Padres seguros: SSL (Secure LayerSecure Sockets Layer) / TLS (Transport Layer Security); IPSec (Internet Protocol Security) / IPv6 (Internet Protocol version 6); SET (Secure Electronic Transactions);

andre.his@gmail.com

Segurana na Comunicao

andre.his@gmail.com

Segurana na Comunicao: Protocolos


SSL e TLS: Oferecem suporte de segurana criptogrfica para os protocolos NNTP, HTTP, SMTP e Telnet. Permitem utilizar diferentes algoritmos simtricos, message digest (hash) e mtodos de autenticao e gerncia de chaves (assimtricos). SSL - Utilizado pelo HTTPS Fornece sigilo e autenticao em conexes na web.

andre.his@gmail.com

Segurana na Comunicao: Protocolos


IPSEC:IP Security - padro de protocolos criptogrficos desenvolvidos para o IPv6. Composto de trs mecanismos criptogrficos: Authentication Header (define a funo Hash para assinatura digital), Encapsulation Security Payload (define o algoritmo simtrico para ciframento) e ISAKMP (define o algoritmo assimtrico para gerncia e troca de chaves de criptografia). Criptografia e tunelamento so independentes. Permite Virtual Private Network fim-a-fim. Futuro padro para todas as formas de VPN.
andre.his@gmail.com

Segurana na Comunicao: Protocolos


SET
Conjunto de padres e protocolos, para realizar transaes financeiras seguras, como as realizadas com carto de crdito na Internet. Oferece um canal de comunicao seguro entre todos os envolvidos na transao. Garante autenticidade e privacidade entre as partes. PGP Inventado por Phil Zimmermman em 1991, um programa criptogrfico famoso e bastante difundido na Internet, destinado a criptografia de e-mail pessoal. Algoritmos suportados: hashing: MD5, SHA-1, simtricos: CAST-128, IDEA e 3DES, assimtricos: RSA, Diffie-Hellman/DSS.

andre.his@gmail.com

Segurana na Comunicao: Protocolos


S/MIME (Secure Multipurpose Internet Mail Extensions) Consiste em um esforo de um consrcio de empresas, liderado pela RSADSI e pela Microsoft, para adicionar segurana a mensagens eletrnicas no formato MIME. Apesar do S/MIME e PGP serem ambos padres Internet, o S/MIME dever se estabelecer no mercado corporativo, enquanto o PGP no mundo do email pessoal. X.509 Recomendao ITU-T, a especificao X.509 define o relacionamento entre as autoridades de certificao. Faz parte das sries X.500 de recomendaes para uma estrutura de diretrio global, baseada em nomes distintos para localizao. Utilizado pelo S/MIME, IPSec, SSL/TLS e SET. Baseado em criptografia com chave pblica (RSA) e assinatura digital (com hashing). andre.his@gmail.com

Certificado X.509

andre.his@gmail.com

Segurana na Camada de Transporte: SSL/TLS/WTLS


Necessidade de prov segurana fim-a-fim para as aplicaes Comrcio Eletrnico Internet Banking SSL (Secure Socket Layer) Criado pela Netscape Communications Corp. Originalmente para o HTTP Atualmente na 3a verso Lanada em 1996 Necessidade de um transporte confivel de dados (TCP) andre.his@gmail.com

SSL/TLS
Protocolo aberto Submetido a W3C (World Wide Web Consortium) Padronizao pela IETF em 1999 TLS (Transport Layer Security) RFC 2246 2006: Verso 1.1 (RFC 4346) Existem algumas diferenas OpenSSL Implementao dos dois protocolos
andre.his@gmail.com

SSL/TLS
Interoperabilidade

Escalabilidade
Uso de vrios algoritmos criptogrficos

Eficincia
Arquitetura

andre.his@gmail.com

SSL/TLS: Etapas
Estabelecimento de um conexo (Handshake Layer) Negociao de parmetros Escolha da verso do protocolo e os algoritmos Compartilhamento da chave de sesso Possibilidade de autenticao mtua Transmisso segura de dados (Record Layer) Autenticidade e integridade Adio de um HMAC Confidencialidade Cifragem das mensagens Opcional: Compactao de dados
andre.his@gmail.com

SSL/TLS: Protocolos da Arquitetura


Protocolos da camada Handshake Layer Handshake Protocol Estabelecimento de uma sesso Change Chiper Protocol Notificao que as prximas mensagens sero cifradas com as chaves recm negociadas Alert Protocol Notificao de mensagens de erro (fatais ou no) Protocolo da camada Record Layer Record Protocol Transmisso segura de dados
andre.his@gmail.com

SSL/TLS: Handshake

andre.his@gmail.com

Estabelecimento de uma sesso SSL/TLS


Algoritmos Criptogrficos

Autenticao Algoritmos assimtricos (RSA) ou DSS


Troca das chaves de sesso Mecanismo de distribuio de chaves (Diffie-Hellman) Algoritmos assimtricos (RSA) Normalmente apenas o servidor autenticado

Autenticao do cliente via usurio/senha


Nessa camada realizada ainda o gerenciamento da sesso Negociao de novos parmetros Troca da chave de sesso Controle de erros
andre.his@gmail.com

Consideraes: SSL/TLS
Possibilidade de vrias conexes por sesso Recomendaes
Utilizar apenas SSLv3 ou TLS

Configurao Proteo a Ataques


Eavesdropping (violao da confidencialidade) Modificao da mensagem Roubo de sesso Falsificao de identidade
andre.his@gmail.com

SSL/TLS: Limitaes
No protege dados locais Disponibilidade do meio Restries de exportao Outras limitaes
Como saber se uma loja virtual (servidor) um estabelecimento de confiana Como saber se o cliente (mesmo que autenticado) no estar utilizando um carto roubado
andre.his@gmail.com

Wireless Transport Layer Security - WTLS


O WTLS foi baseado no protocolo Transport Layer Security (TLS), antigo SSL, da Internet. O TLS utiliza algumas das funcionalidades confiveis do TCP, enquanto o WTLS tem que prover essas funcionalidades internamente. Por outro lado, o WTLS pode operar com o UDP, e o TLS no pode.

Foi desenvolvido para atuar junto aos protocolos de transporte do WAP,com a caracterstica de ser otimizado para canais banda limitada, como por exemplo, a telefonia celular.
andre.his@gmail.com

Wireless Transport Layer Security WTLS (2)


O WTLS disponibiliza os seguintes servios:
integridade de Dados - O WTLS contm dispositivos que asseguram que os dados transmitidos entre o terminal e um servidor de aplicaes no foram modificados ou corrompidos;
privacidade - WTLS contm dispositivos que asseguram que os dados transmitidos entre o terminal e o servidor de aplicaes no podem ser compreendidos por ningum que tenha interceptado o fluxo de dados; autenticao - permite facilidades que estabeleam a autenticidade do terminal e do servidor de aplicaes;

deteco e rejeio de dados incorretamente enviados.


andre.his@gmail.com

Virtual Private Network - VPN

Permite a comunicao privada de uma empresa utilizando uma rede de comunicao pblica (Internet)

Interligao de duas redes por meio de um tnel virtual Elimina a necessidade de links dedicados de longa distncia Interligar unidades de uma empresa
IPSec IPv6

Uso de um protocolo de segurana para redes IP


A nova verso do protocolo IP prov mecanismos de segurana semelhantes ao IPSec

PPTP (Point-to-point Tunneling Protocol)

L2TP (Layer 2 Tunneling Protocol)


andre.his@gmail.com

Funcionamento Bsico - VPN Ao invs dos pacotes trafegarem livremente na Internet, antes de serem transmitidos, os dados so primeiramente autenticados e criptografados (chaves pblicas e privadas), e em seguida os dados so encapsulados em pacotes IP pelo protocolo do tnel VPN.

andre.his@gmail.com

Tunelamento - VPN
Tunelamento o processo de encapsular um tipo de pacote dentro de outro para facilitar algum tipo de vantagem no transporte de uma informao na rede. Processo de tunelamento: Autenticao pelo servidor Gateway VPN; A informao criptografada; As informaes so encapsuladas em pacotes IP (o gateway VPN acrescenta um novo cabealho IP, contendo o endereo do Gateway VPN de origem e destino, encapsulando o pacote IP original.)
andre.his@gmail.com

Tipos Tunelamento - VPN


Tunelamento Voluntrio (Client-to-gateway): ocorre quando a prpria estao de trabalho ou servidor de rede utiliza algum software cliente de tunelamento VPN (cliente VPN).

Tunelamento Compulsrio (Gateway-to-gateway): ocorre quando existe um servidor de autenticao para acesso a Rede. Neste caso, o estabelecimento do tnel VPN com o servidor VPN do site remoto e a configurao de autenticao so de responsabilidade dele.

andre.his@gmail.com

Tipos Tunelamento VPN (2)

andre.his@gmail.com

Protocolos VPN
PPTP (Point-to-Point Tunneling Protocol): protocolo da Microsoft que atua na camada 2 do modelo OSI, aceita tunelamento e autenticao do usurio, sendo bastante utilizado para o encapsulamento de pacotes PPP, que empregado em conexes discadas. O PPTP permite autenticao usando o CHAP, MS-CHAP ou EAP;

O protocolo PPTP permite o estabelecimento de tneis pontoa-ponto individuais a partir de um cliente remoto.

andre.his@gmail.com

Protocolos VPN
L2TP (Layer 2Tunneling Protocol): protocolo definido pela Internet Engineering Task Force (IETF), tem como base um outro protocolo chamado Layer 2 Forwarding - L2F da Cisco Systems, apresenta as mesmas caractersticas do PPTP com exceo de poder ser transparente ao usurio; Caractersticas: Tnel multiponto (um cliente inicialize vrias VPNs); Suporte a qualquer protocolo roteado como: IP, IPX, Appetalk) e qualquer tecnologia e protocolo de backbone WAN (ATM, X.25, Frame-Relay, SO-NET).
andre.his@gmail.com

Protocolos VPN
IPSec (IP Security Protocol) Conjunto de ferramentas para prov segurana na camada de rede Garantir a segurana entre duas mquinas na Internet Pode ser implementado nos roteadores ou nos sistemas operacionais terminais Interoperabilidade: os pacotes enviados possuem o mesmo formato de um pacote IP comum

andre.his@gmail.com

IPSEC
Prov Confidencialidade Integridade Autenticidade Proteo de ataques de Replay Utiliza Protocolo de Diffie-Hellman Criptografia de chave pblica Criptografia simtrica Algoritmos de hash
andre.his@gmail.com

IPSEC (2)
Funcionamento Encapsulamento de um pacote IPSec em um pacote IP

Modo de transporte

Vantagens: Adio apenas do cabealho IPSec Permite uso de QoS Desvantagem: Permite anlise de trfego
andre.his@gmail.com

IPSEC (3)
Funcionamento Encapsulamento de um pacote IPSec em um pacote IP Tunelamento

Vantagens: Implementao nos roteadores Protege contra anlise de trfego


andre.his@gmail.com

IPSEC (4) Cabealhos adicionados ao pacote IP


No cabealho IP indicado qual o prximo cabealho utilizado AH (Authentication Header) Autenticidade e integridade
Hash: md5 e sha1 ou HMAC

andre.his@gmail.com

IPSEC (5)
Cabealhos adicionados ao pacote IP ESP (Encapsulating Security Payload)
Confidencialidade de um pacote
Modo CBC dos algoritmos: DES, 3DES, Blowfish, IDEA, RC4

Autenticidade AH e ESP podem ser utilizados em conjunto ou separadamente

andre.his@gmail.com

IPSEC (6)
Associao de Segurana (SA) uma conexo simplex entre dois pontos Identificada pelo SPI (ndice de parmetro de segurana), o endereo IP do destino e o identificador do protocolo (AH ou ESP) SPI identifica o conjunto de protocolos que ser utilizado Protocolo IKE (Internet Key Exchange) 1a Fase: Autenticao Chaves compartilhadas, assinatura digital 2a Fase: Negociar parmetros para criar uma SA Troca de chaves assinadas (Diffie-Hellman) No obrigatrio e pode ser utilizado outro protocolo
andre.his@gmail.com

Aplicao IPSEC

andre.his@gmail.com

IPSEC: Vantagens
Transparente Sub-Rede implementao do IPSec somente na origem e destino; Simplicidade no h necessidade de configurar as estaes ou aplicaes para trabalhar com IPSEC; Flexibilidade pode-se proteger determinado tipo de trfego e deixar que outro tipo de trfego circule sem a ao dos servios de segurana oferecidos pelo IPSEC; Fcil manuteno e implementao implementao nos roteadores e gateways;
andre.his@gmail.com

IPSEC: Limitaes
O IPSec no pode ser seguro se o sistema no for segurana nas mquinas que implemetam gateways IPSec; IPSec no fim-a-fim informaes do prprio host ou em um segmento interno da rede pode no esta protegido;

O IPSec autentica mquinas, no usurios - exemplo: controlar acesso ao banco dados, deve-se usar outro mecanismo;
O IPSec no previne ataques DoS necessrio a utilizao de um firewall juntamente com o IPSec; O IPSec no evita anlise do trfego de rede os endereos destino e origem dos gateways e o tamanho do pacote, podem ser monitorados.
andre.his@gmail.com

OPENVPN Vantagens
Implementao mais simplificada que IPSec (roteadores) Suporta o Nat Tunelamento IP ou em Modo Bridge Completamente transparente aos usurios Multiplataforma: Linux e Windows

Desvantagens
No um padro de mercado O grau de segurana depende da implementao
andre.his@gmail.com

OPENVPN - Dependncias
Biblioteca OpenSSL Biblioteca LZO
Compresso de Dados;

Suporte no kernel ao driver Tun/Tap

andre.his@gmail.com

OPENVPN - Instalao
Os passos seguintes de instalao e configurao do OpenVPN devem ser realizados tanto no servidor quanto no cliente. Debian e derivados: # apt-get update # apt-get install openvpn

Windows:
Baixar arquivo http://www.openvpn.net/index.php/opensource/downloads.html e instalar:
andre.his@gmail.com

OPENVPN - Configurao
Depois de instalar o pacote,o prximo passo verificar se o mdulo TUN/TAP do Kernel est carregado, localizando o arquivo tun.ko no caminho lib/modules/2.6.XX/kernel/ drivers/net/ . Esse mdulo utilizado pelo OpenVPN para criar interfaces virtuais. Cada VPN criada se comporta como se fosse uma nova interface de rede, conectada rede de destino.

andre.his@gmail.com

OPENVPN Configurao (2)


Caso o mdulo no esteja carregado ative-o realizando o seguinte comando. #modprobe tun Adicione a linha "tun no final do arquivo "/etc/modules para que o mdulo passe a ser carregado automaticamente durante o boot: #echo tun >> /etc/modules

andre.his@gmail.com

OPENVPN Modos de Operao


Tnel simples (no h criptografia das informaes); Tnel com criptografia de chaves estticas (as chaves no so alteradas a cada conexo); Tnel com criptografia usando SSL (em perodos de tempo as chaves so trocadas); Bridge.

andre.his@gmail.com

OPENVPN Modos de Operao


Tnel simples (no h criptografia das informaes); Tnel com criptografia de chaves estticas (as chaves no so alteradas a cada conexo); Tnel com criptografia usando SSL (em perodos de tempo as chaves so trocadas); Bridge.

andre.his@gmail.com

OPENVPN Tnel Simples


Um tnel simples, no encriptado, no pode ser considerado uma VPN j que no seguro, mas serve como teste para melhor entendimento do OpenVPN. Presumindo que as duas mquinas estejam ligadas em rede e no exista nenhum firewall no caminho,use o comando abaixo no servidor: # openvpn --dev tun0 --ifconfig 20.0.0.1 20.0.0.2 No cliente, faa o mesmo, mas especificando o ipdo servidor: # openvpn --remote <ip_servidor> --dev tun0 ifconfig 20.0.0.2 20.0.0.1
andre.his@gmail.com

OPENVPN Tnel Simples


Um tnel simples, no encriptado, no pode ser considerado uma VPN j que no seguro, mas serve como teste para melhor entendimento do OpenVPN. Presumindo que as duas mquinas estejam ligadas em rede e no exista nenhum firewall no caminho,use o comando abaixo no servidor: # openvpn --dev tun0 --ifconfig 20.0.0.1 20.0.0.2 No cliente, faa o mesmo, mas especificando o ipdo servidor: # openvpn --remote <ip_servidor> --dev tun0 -ifconfig 20.0.0.2 20.0.0.1 No Windows a interface virtual criada automaticamente durante a andre.his@gmail.com instalao.

OPENVPN Usando Criptografia Assimtrica


1 Passo: Instalao # apt-get install openvpn openssl 2 Passo: Copiar para o diretrio /etc/openvpn os scripts do openvpn para facilitar nossas vidas, no Debian encontramos estes scripts no diretrio /usr/share/doc/openvpn/examples/easy-rsa/2.0/ copiamos todo o contedo deste diretrio para /etc/openvpn/easyrsa/
# mkdir /etc/openvpn/easy-rsa # cp -rp /usr/share/doc/openvpn/examples/easyrsa/2.0/. /etc/openvpn/easy-rsa/

andre.his@gmail.com

OPENVPN Usando Criptografia Assimtrica (2)


3 Passo: Editamos o arquivo vars, no final deste arquivo encontramos os seguintes campos:
export KEY_COUNTRY="SEUPAIS" export KEY_PROVINCE="SEUESTADO" export KEY_CITY="SUACIDADE" export KEY_ORG="Sua Empresa" export KEY_EMAIL="emailadministrador@suaempresa.com.br"

Carregar as variavis editadas: # source vars

andre.his@gmail.com

OPENVPN Usando Criptografia Assimtrica(3)


4 passo Criamos o diretrio keys dentro de /etc/openvpn/easy-rsa, onde ser criada todos os certificados: # mkdir /etc/openvpn/easy-rsa/keys Caso este diretrio j exista e voc queira apagar todas as informaes contidas nele (todas aschaves e certificados), voc pode executar na linha de comando: # /etc/openvpn/easy-rsa/clean-all 5 Passo Vamos agora gerar o certificado raiz, no diretrio /etc/openvpn/easy-rsa encontramos o script build-ca, executamos: # /etc/openvpn/easy-rsa/build-ca
andre.his@gmail.com

OPENVPN Usando Criptografia Assimtrica (4)


Obs: Podemos observar que no diretrio /etc/openvpn/easyrsa/keys encontramos os arquivos:
ca.crt ca.key

index.txt
serial

andre.his@gmail.com

OPENVPN Usando Criptografia Assimtrica (5)


6 Passo: Agora geramos o certificado do servidor, muita ateno agora,
precisamos executar o script build-key-server mais um nome qualquer como referncia do servidor, este nome ser informado quando o script perguntar: # /etc/openvpn/easy-rsa/build-key-server nomeescolhido
Country Name (2 letter code) [SEUPAIS]: State or Province Name (full name) [SEUESTADO]: Locality Name (eg, city) [SUACIDADE]: Organization Name (eg, company) [SUAEMPRESA]: Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server's hostname) [nomeescolhido]: nomeescolhido

Depois voc ter a opo de digitar uma senha que ser solicitada toda vez que o usurio conectar VPN, poder deixar em branco: A challenge password []: Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y
andre.his@gmail.com

OPENVPN Usando Criptografia Assimtrica (6)


7 Passo: Da mesma forma que geramos o certificado do servidor agora
precisamos gerar o certificado para os usurios da VPN, tambm precisamos definir um common name para os certificados dos usurios. Para os certificados dos usurios usamos o script build-key: # /etc/openvpn/easy-rsa/build-key usuariodavpn Country Name (2 letter code) [SEUPAIS]: State or Province Name (full name) [SEUESTADO]: Locality Name (eg, city) [SUACIDADE]: Organization Name (eg, company) [SUAEMPRESA]: Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server's hostname) []: usuariodavpn Neste script tambm sero solicitados os campos:
A challenge password []: Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y

andre.his@gmail.com

OPENVPN Usando Criptografia Assimtrica (7)


8 Passo: Para reforar a segurana e permitir a troca de chaves entre o servidor e os clientes no momento da conexo, executamos o script build-dh sem utilizar parmetros com o script. # /etc/openvpn/easy-rsa/build-dh 9`Passo: Criamos uma assinatura secreta como chave para o servidor executando o comando: # openvpn - -genkey - -secret chave.key
Aps criada a chave podemos copi-la para o diretrio /etc/openvpn/easyrsa/keys para manter um padro de diretrios utilizados. Por padro, os scripts executados acima, geram as chaves e certificados necessrios para o servidor e o cliente no diretrio /etc/openvpn/easyrsa/keys. andre.his@gmail.com

OPENVPN Usando Criptografia Assimtrica (8)


8 Passo: Para reforar a segurana e permitir a troca de chaves entre o servidor e os clientes no momento da conexo, executamos o script build-dh sem utilizar parmetros com o script. # /etc/openvpn/easy-rsa/build-dh 9`Passo: Criamos uma assinatura secreta como chave para o servidor executando o comando: # openvpn - -genkey - -secret chave.key
Aps criada a chave podemos copi-la para o diretrio /etc/openvpn/easyrsa/keys para manter um padro de diretrios utilizados. Por padro, os scripts executados acima, geram as chaves e certificados necessrios para o servidor e o cliente no diretrio /etc/openvpn/easyrsa/keys. andre.his@gmail.com

OPENVPN Usando Criptografia Assimtrica(9)


10 Passo: Agora criamos o diretrio keys dentro de /etc/openvpn/: # mkdir /etc/openvpn/keys

E copiamos para o diretrio criado acima, os seguintes arquivos: dh1024.pem, ca.crt, servervpn.crt, servervpn.key, chave.key.
# cp -a /etc/openvpn/easy-rsa/keys/dh1024.pem ca.crt servervpn.crt servervpn.key chave.key /etc/openvpn/keys/

andre.his@gmail.com

OPENVPN Usando Criptografia Assimtrica (10)


11 Passo: Criamos o arquivo de configurao do servidor no diretrio /etc/openvpn/ com o nome padro server.conf (voc pode utilizar o nome que quiser, assim facilita a administrao) com os seguintes parmetros: # vi /etc/openvpn/server.conf

andre.his@gmail.com

OPENVPN Usando Criptografia Assimtrica(11)


# vi /etc/openvpn/server.conf
##Protocolo de conexo #proto tcp / proto udp proto tcp # Porta do servico port 1194 # Drive da interface dev tun # Atribui enderecos dinamicos a varios clientes, ips para o tnel VPN server 10.0.0.0 255.255.255.0 # Acrescenta rotas aos clientes, informaes da rede local push "route 192.168.0.0 255.255.255.0" push "dhcp-option DNS 192.168.0.1" push "dhcp-option WINS 192.168.0.1" # Configuracoes adicionais no cliente push "ping 10" push "ping-restart 60" # Rotas do servidor route 10.0.0.0 255.255.255.0 andre.his@gmail.com

OPENVPN Usando Criptografia Assimtrica (12)


# vi /etc/openvpn/server.conf (Cont.)
# Compactacao lib LZO comp-lzo keepalive 10 120 float #ifconfig-pool-persist ipp.txt max-clients 10 persist-key persist-tun log-append /var/log/openvpn.log verb 6 # Servidor TLS tls-server # Chaves necessarias dh /etc/openvpn/keys/dh1024.pem ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/servervpn.crt key /etc/openvpn/keys/servervpn.key # Chave secreta do servidor tls-auth /etc/openvpn/keys/chave.key status /var/log/openvpn.stats

andre.his@gmail.com

OPENVPN Usando Criptografia Assimtrica (13)


Iniciamos o Servio: # /etc/init.d/openvpn start Dicas de Firewall:
#Iptables t -A INPUT -p tcp --dport 1194 -j ACCEPT #Iptables t -A FORWARD -p tcp --dport 1194 -j ACCEPT #Iptables -t nat -A POSTROUTING p tcp -o eth1 -j MASQUERADE

andre.his@gmail.com

OPENVPN Usando Criptografia Assimtrica(14)


Verificar interface virtual: # ifconfig Ter algo do tipo:
tun0 Link encap:NAo Especificado Endereo de HW 00-00-00-00-0000-00-00-00-00-00-00-00-00 inet end.: 10.0.0.1 P-a-P:10.0.0.2 Masc:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metrica:1 RX packets:19802 errors:0 dropped:0 overruns:0 frame:0 TX packets:19433 errors:0 dropped:0 overruns:0 carrier:0 colises:0 txqueuelen:100 RX bytes:4724842 (4.5 MiB) TX bytes:7234934 (6.8 MiB)

andre.his@gmail.com

OPENVPN Configurando Cliente Linux


1 Passo: Instalar os pacotes: # apt-get install openvpn openssl 2 Passo: No diretrio /etc/openvpn copiamos para este diretrio criado as seguintes chaves criadas no servidor: dh1024.pem, ca.crt, usuariodavpn.crt, usuariodavpn.key, chave.key.

andre.his@gmail.com

OPENVPN Configurando Cliente Linux (2)


3 Passo: No diretrio /etc/openvpn configuramos o arquivo client.conf com os seguintes parmetros:
client dev tun proto tcp remote <ip ou nome_host> port 1194 persist-key persist-tun pull comp-lzo keepalive 10 120 float tls-client persist-tun persist-key dh /etc/openvpn/keys/dh1024.pem ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/usuariodavpn.crt key /etc/openvpn/keys/usuariodavpn.key tls-auth /etc/openvpn/keys/chave.key route-method exe route-delay 2

andre.his@gmail.com

OPENVPN Configurando Cliente Linux (3)


4 Passo: Reiniciar o servio: # /etc/init.d/openvpn restart 5 Passo: Verficar interface tun0: # ifconfig

andre.his@gmail.com

Perguntas? Dvidas?

andre.his@gmail.com

You might also like