SEGURANÇA EM VPN
Luciana Simonáio Pompei RA 22519
Ricardo Tavernaro Queiroz RA 22533
Rumiko Oishi Stolfi RA 22535
Índice
2.4 Componentes de uma VPN baseada em Internet
VPN é a sigla das palavras Virtual
Private Network. Podemos definir VPN como uma rede de dados privada que utiliza
a infraestrutura pública de telecomunicações, mantendo a confidencialidade e
integridade dos dados.
A motivação para uso de VPN’s são inúmeras, mas podemos dizer que economia e comunicação segura são as principais.
As VPNs devem prover quatro pontos
críticos para garantir a segurança dos dados:
· Autenticação – assegurar que os
dados se originam da mesma fonte que
alegam
· Controle de acesso – restringir usuários
não autorizados de acessar a rede
· Confidencialidade – impedir qualquer
um de ler ou copiar dados que trafegam pela rede
· Integridade – assegurar que ninguém
adultere os dados que trafegam pela rede.
Para conferir estas características à
VPN, foram desenvolvidas diversas tecnologias de conectividade e segurança.
Neste trabalho desenvolveremos o tema “segurança em VPN”
Existem muitas maneiras de se
definir o que é uma VPN; descrever uma VPN baseando-se em seus componentes pode
ser muito difícil, uma vez que esta pode ser criada de diversas formas. Uma VPN é constituída de equipamentos,
software, protocolos de comunicação e algoritmos de criptografia, integridade e
autenticação. Também é constituída de conexões, usuários e políticas de
segurança, para realizar a tarefa de criar uma comunicação segura sobre uma
rede pública.
Talvez a melhor forma de descrever
uma VPN seja defini-la a partir de sua função: estabelecer uma rede privada e
confiável de dados entre dois ou mais pontos, sobre uma rede pública não
confiável, de baixo custo operacional.
A Internet é uma rede pública e é considerada insegura, pois todas as informações estão sujeitas a interceptação.
A VPN vem de encontro a essa
necessidade de segurança dentro da rede. Ela permite a interligação das redes
locais de uma empresa que estão em regiões geográficas diferentes. Utiliza a
própria rede pública para fazer a interligação, mas o canal é seguro e
ajustável às necessidades da empresa em questão.
A figura 1 ilustra a explicação
As VPNs podem ser classificadas de
acordo com diversos critérios: segurança, topologia e tecnologia são alguns
deles.
Quanto à segurança, as VPNs
podem ser confiadas, seguras ou híbridas.
VPN
Confiada
Antes da Internet ser largamente utilizada para tráfego de dados pelas empresas, as VPN’s eram constituídas de um ou mais circuitos alugados de um provedor de serviços de dados. Cada circuito funcionava como parte da rede controlada pelo cliente, o que permitia que eles tivessem suas próprias políticas de administração de rede, como segurança e endereçamento IP.
Nessa arquitetura, o cliente
confiava ao provedor de acesso a integridade e confidencialidade dos dados. O
provedor de serviços, por sua vez, deveria garantir que o acesso aos circuitos
era restrito apenas aos clientes que os alugavam.
VPN Segura
Com a popularização da Internet como
meio de comunicação de dados, a segurança se tornou uma preocupação muito
maior. Por definição, a Internet não tem dono, nem canais ou circuitos que
pertençam apenas a um provedor de serviços, o que complica a utilização da VPN
confiada.
Assim, os fabricantes de
equipamentos de telecomunicações começaram a trabalhar em protocolos que
permitissem a encriptação/decriptação dos dados nas pontas, independente de sua
transmissão pela Internet. A rede transmitiria o dados como outro qualquer.
Esses dados funcionam como um túnel entre as duas pontas: mesmo que um intruso
tenha acesso a eles durante a transmissão, não poderá lê-los e qualquer
modificação fraudulenta nos dados será detectada na recepção.
VPN Híbrida
Em geral, os mesmos provedores que vendiam serviços de VPNs confiadas, vendem também acesso à Internet. A perda de receita com a migração dos clientes para VPNs seguras fez com que os provedores passassem a oferecer serviços de VPNs seguras sobre a Internet.
Nesses casos, a responsabilidade pela segurança dos dados é dividida entre o cliente, que deve adotar políticas de segurança (senhas, etc.), e o provedor, que deve administrar corretamente seus equipamentos e sistemas de segurança. O cliente confia a segurança de seus dados ao provedor, mas o provedor não tem acesso aos mesmos. As VPNs híbridas recebem esse nome por apresentarem características tanto de VPNs confiadas quanto de VPNs seguras.
Quanto à topologia, as VPNs
podem ser LAN-to-LAN, Client-to-LAN ou mistas.
LAN-to-LAN
VPNs com topologia LAN-to-LAN
interligam duas ou mais LANs através de túneis criados sobre uma rede pública
de dados. São como rotas seguras estabelecidas entre redes locais, e podem ser
utilizadas, por exemplo, em substituição a uma WAN, embora sem as restrições
geográficas impostas por esta; as redes locais não precisam estar localizadas
na mesma cidade, ou no mesmo país, para serem interligadas por uma VPN.
Client-to-LAN
Nessa topologia, clientes remotos
individuais utilizam túneis VPN para se conectarem à rede corporativa. Pode ser
usada, por exemplo, por técnicos, executivos ou vendedores em campo, que
precisem de uma conexão com a rede da empresa independentemente de sua
localização.
Mistas
Nessa topologia, redes locais podem
ser interligadas tanto a outras LANs quanto a clientes remotos.
Os usos da VPN são inúmeros. Dentre
eles podemos citar:
São quatro os componentes de uma rede privada baseada em Internet: a própria Internet, segurança dos gateways, política de segurança dos servidores e certificados de autoridades.
Internet
A Internet providencia o meio de
transmissão. Os gateways seguros são posicionados entre as redes públicas e
privadas e são eles: roteadores, firewalls, hardware para VPN ou software para
VPN.
Roteadores
Os roteadores examinam e processam
todos os pacotes que saem da LAN, o que os torna candidatos naturais a fazerem
a encriptação dos pacotes. Os vendedores de serviços de VPN baseados em
roteadores normalmente oferecem duas soluções: ou um componente de software ou
uma placa de circuitos adicional, com um co-processador para criptografia. Esta
última é recomendada para situações que requerem grande fluxo de dados.
A utilização de roteadores para
criptografia pode ajudar a manter os custos de uma VPN baixos, se estes
equipamentos fazem parte da rede já instalada. Entretanto, pode aumentar a
severidade dos downtimes – se o roteador cair, a VPN também cai.
Firewalls
Muitos fabricantes de firewalls
incluem a capacidade de tunelamento em seus produtos. Como os roteadores, os
firewalls também precisam processar todo o tráfego IP, e decidir quais pacotes
serão aceitos ou barrados. Essa tarefa já exige muito processamento do
firewall, que, portanto não é o melhor elemento para fazer o tunelamento em
VPNs de grande capacidade. A utilização de firewalls para fazer VPNs pode ser,
entretanto, interessante em redes de pequena capacidade, pois diminui custos
operacionais e com equipamento.
Assim como nos roteadores, quando a
VPN é feita no firewall, uma falha neste último irá afetar também a VPN.
Hardware para VPN
Outra solução para VPN é a utilização de hardware específico, desenhado para fazer tunelamento, encriptação e autenticação dos dados.
Esses equipamentos são normalmente
inseridos entre os roteadores e os links das WANs, e apesar de a maioria desses
produtos ser destinada a VPNs LAN-to-LAN, alguns suportam também conexões de
clientes.
A utilização de hardware
especializado apresenta algumas vantagens sobre as outras soluções: em primeiro
lugar, elimina-se o ponto único de falha na rede, caso haja algum problema com
o equipamento. Outro ponto é o alto desempenho, e a possibilidade de integração
de outros serviços ao gateway de segurança, como gerenciamento de banda e
priorização de tráfego na VPN.
Servidor de políticas de segurança
Além do gateway de segurança, outro
componente importante de uma VPN é o servidor de políticas de segurança. Esse
servidor mantém as listas de controle de acesso e outras informações
relacionadas aos usuários que o gateway de segurança usa para determinar qual
tráfego é autorizado.
Autoridades Certificadoras
Autoridades certificadoras são necessárias para verificar a autenticidade das chaves compartilhadas entre os sites e podem também ser usadas para verificar indivíduos, usando certificados digitais.
As companhias podem utilizar um servidor corporativo de
certificados digitais, para ter seu próprio banco de dados de certificados
digitais. Se a VPN também é utilizada como extranet, pode ser necessária a utilização
de entidades certificadoras externas, para verificar a identidade dos parceiros
comerciais que acessam a rede.
Os
Protocolos de Tunelamento são os protocolos responsáveis pela abertura e
gerenciamento de sessões de túneis em VPNs. Estes protocolos podem ser
divididos em dois grupos:
PPTP – Point to Point Tunneling Protocol
O protocolo PPTP é um modelo "voluntário" de
tunelamento, ou seja , permite que o próprio sistema do usuário final, por
exemplo, um computador, configure e estabeleça conexões discretas ponto-a-ponto
para um servidor PPTP, localizado arbitrariamente, sem a intermediação do provedor
de acesso. Este protocolo constrói as funcionalidades do protocolo PPP
(Point-to-Point Protocol - um dos protocolos mais utilizados na Internet para
acesso remoto) para o tunelamento dos pacotes até seu destino final. Na
verdade, o PPTP encapsula pacotes PPP utilizando-se de uma versão modificada do
GRE (Generic Routing Encapsulation), o que torna o PPTP capaz de lidar com
outros tipos de pacotes além do IP, como o IPX (Internet Packet Exchange) e o
NetBEUI (Network Basic Input/Output System Extended User Interface), pois é um
protocolo baseado na camada 2 do modelo OSI (enlace).
Neste modelo, um usuário disca para o provedor de
acesso à rede, mas a conexão PPP é encerrada no próprio servidor de acesso. Uma
conexão PPTP é então estabelecida entre o sistema do usuário e qualquer outro
servidor PPTP, o qual o usuário deseja conectar, desde que o mesmo seja
alcançável por uma rota tradicional e que o usuário tenha privilégios
apropriados no servidor PPTP.
L2F – Layer 2 Forwarding
Foi
um dos primeiros protocolos utilizado por VPNs. Assim como o PPTP, o L2F foi
projetado como um protocolo de tunelamento entre usuários remotos e
corporações. Uma grande diferença entre o PPTP e o L2F, é o fato do mesmo não
depender de IP e, por isso, é capaz de trabalhar diretamente com outros meios
como FRAME RELAY ou ATM.
Este protocolo utiliza conexões PPP para a
autenticação de usuários remotos, mas também inclui suporte para TACACS+ e
RADIUS (servidores de autenticação de usuário) para uma autenticação desde o
inicio da conexão. Na verdade, a autenticação é feita em dois níveis: primeiro,
quando a conexão é solicitada pelo usuário ao provedor de acesso; depois,
quando o túnel se forma, o gateway da corporação também irá requerer uma
autenticação.
A grande vantagem desse
protocolo é que os túneis podem suportar mais de uma conexão, o que não é
possível no protocolo PPTP. Além disso, o L2F também permite tratar de outros
pacotes diferentes de IP, como o IPX e o NetBEUI por ser um protocolo baseado
na camada 2 do modelo OSI.
L2TP – Layer 2 Tunneling Protocol
Este protocolo foi criado pela IETF (Internet
Engennering Task Force) para resolver falhas presentes no PPTP e do L2F. Na
verdade, utiliza os mesmo conceitos do L2F e assim como este, foi desenvolvido
para transportar pacotes por diferentes meios, como X.25, framerelay e ATM e
também é capaz de tratar de outros pacotes diferentes de IP, como o IPX e o
NetBEUI (protocolo baseado na camada 2 do modelo OSI) .
O L2TP é, porém, um modelo de tunelamento
"compulsório", ou seja, criado pelo provedor de acesso, não
permitindo ao usuário qualquer participação na formação do túnel (o tunelamento
é iniciado pelo provedor de acesso). Neste modelo, o usuário disca para o
provedor de acesso à rede e, de acordo com o perfil configurado para o usuário
e ainda, em caso de autenticação positiva, um túnel L2TP é estabelecido
dinamicamente para um ponto pré-determinado, onde a conexão PPP é encerrada.
GRE (Generic Routing Protocol)
Túneis GRE são
geralmente configurados entre roteadores fonte e roteadores destino (pacotes
ponto-a-ponto). Os pacotes designados para serem enviados através do túnel (já
encapsulados com um cabeçalho de um protocolo como, por exemplo, o IP) são
encapsulados por um novo cabeçalho (cabeçalho GRE) e colocados no túnel com o
endereço de destino do final do túnel. Ao chegar a este final, os pacotes são
desencapsulados (retira-se o cabeçalho GRE) e continuarão seus caminhos para o
destino determinado pelo cabeçalho original.
IPSec
Talvez o mais importante desses
protocolos, o IPSec surgiu a partir de esforços para garantir segurança aos
pacotes da próxima geração do IP (IPv6), podendo hoje ser também usado com o
IPv4. Apesar das RFCs que definem o IPSec fazerem parte dos padrões do IETF
desde 1995, os protocolos ainda estão sendo refinados, conforme surgem as
necessidades de adaptação e variedades de utilização. O IPSec será melhor
detalhado na seção 3.2.
O IPSec é um componente de segurança
criado pelo IETF, com o objetivo prover segurança no nível de rede em comunicações
por TCP/IP. Está disponível como componente adicional ao IPv4, e como parte
integrante do novo IPv6. Apresenta três componentes principais: o AH
(Autentication Header), provê verificação da integridade dos pacotes, ESP
(Encapsulating Security Payload), provê criptografia e verificação de
integridade dos dados do pacote, e o IKE (Internet Key Exchange), protocolo de
negociação de chaves.
O IPSec permite ao remetente (ou um
gateway de segurança, atuando em seu lugar) autenticar ou encriptar cada pacote
IP ou aplicar ambas as operações a um mesmo pacote. A separação entre
autenticação e encriptação criou duas formas de utilização do IPSec, conhecidas
como modo de transporte e modo de tunelamento.
Em modo de transporte, utilizado
para comunicação segura host-a-host, os pacotes recebem encriptação e/ou
autenticação, enquanto os cabeçalhos são mantidos (quase) intactos. Os
endereços originais do cabeçalho são mantidos, apenas alguns campos são
adicionados para identificar o pacote IPSec.
No modo de tunelamento, cria-se um túnel IPSec entre os dois pontos conectados à rede pública (Internet). O tunelamento IPSec é transparente à rede, portanto, os hosts comunicam-se utilizando endereços locais, como se estivessem na mesma rede. O pacote IP original é encapsulado em um pacote IPSec, que tem um cabeçalho IP próprio, utilizado para o roteamento na rede pública. O modo de tunelameto do IPSec é a forma preferida para a implementação de VPNs.
O IPSec apresenta vantagens para a
utilização em VPNs, por estar localizado na camada de rede (figura 2) . Dessa
forma, torna-se independente do transporte, sendo portanto, invisível às aplicações e tornando a VPN transparente
para os usuários. Além de encriptação dos dados, o IPSec provê verificação de
integridade, possibilidade de tunelamento com transparência à rede, e
autenticação dos pares.
A construção do IPSec não fixa algoritmos únicos para criptografia e integridade de dados, o que permite maior flexibilidade de implementação. Entretanto, alguns algoritmos e padrões são de implantação obrigatória, a fim de manter a compatibilidade entre diferentes implementações. Entre estes, podemos listar:
·
Negociação
de chaves por Diffie-Hellman, a fim de estabelecer chaves secretas através de
uma rede pública.
·
Criptografia
de chave pública para assinar trocas por Diffie-Hellman, para garantir as
identidades de ambas as partes e evitar ataques man-in-the-middle.
·
Data
Encryption Standard (DES) e outros algoritmos de encriptação de bloco, para
criptografia dos dados.
·
Algoritmos
de keyed hash (HMAC, MD5, SHA) para autenticação de pacotes.
·
Certificados
digitais para validação das chaves públicas.
Existem atualmente duas formas de se realizar a negociação e gerenciamento de chaves na arquitetura IPSec: manualmente, ou utilizando o IKE para gerenciamento automático de chaves. No gerenciamento manual de chaves, estas são estabelecidas previamente através de um canal seguro, e programadas em ambas as parts antes do início da conexão.
O IKE é um protocolo de negociação automática
de chaves, que também estabelece os parâmetros de segurança para uma conexão
IPSec, durante seu estabelecimento.
Ambos os métodos – IKE e manual – são requisitos mandatórios do IPSec. Enquanto a troca manual de chaves pode ser interessante para uma VPN com um número pequeno de sites, VPNs cobrindo um número maior de sites ou suportando muitos usuários remotos fazem uso do gerenciamento automático de chaves providenciado pelo IKE.
O IPSec é freqüentemente considerado
a melhor solução para VPNs em ambientes IP, por incluir medidas fortes de
segurança, como encriptação, autenticação e gerenciamento de chaves em seus
padrões. Entretanto, ainda apresenta algumas limitações que podem se tornar
importantes em determinadas configurações.
Existem algumas incompatibilidades
entre o IPSec e NAT que não estão totalmente resolvidas. Uma NAT realizada após
o processamento dos pacotes pelo IPSec irá impedir a utilização do mecanismo de
verificação de integridade AH. O AH autentica o pacote todo, mas durante a NAT,
os endereços dos cabeçalhos são trocados, fazendo com que os pacotes sejam
rejeitados na recepção.
Outra dificuldade encontrada está relacionada ao roteamento dinâmico de pacotes em redes interligadas por VPNs. As políticas de segurança do IPSec estabelecem que a determinação de endereços de destino válidos para um pacote é feita na origem. A adição de uma nova LAN em uma rede de LANs interligadas por IPSec requer que todos os outros nós sejam reconfigurados, para aceitar a nova faixa de endereços como válida. Mesmo a ampliação de redes já conectadas pode trazer problemas, se a nova faixa de endereços não estiver prevista nos outros nós.
Estas incompatibilidades estão sendo
resolvidas rapidamente, mas devem ser levadas em consideração na escolha do
IPSec, que pode não ser sempre a escolha mais adequada para a implantação de
uma VPN.
Internet firewalls são mecanismos de segurança utilizados para proteger redes conectadas à Internet. Eles são interpostos entre a rede privada e a rede externa com a finalidade de evitar “intrusos”.
Os componentes básicos para a construção de um firewall são: Packet Filters (exame dos pacotes) e Bastion Host (computador responsável pela segurança).
Dentre várias estratégias de
segurança de um firewall são: Least Privilege ( hierarquia de privilégios) e
Choke Point (canal mais estreito monitorado).
Tarefas cabíveis de um firewall:
Tarefas que o firewall não pode realizar:
Atualmente os firewalls da nova geração são fáceis de criar e são de fácil manutenção.
Exemplos
de firewalls: Netscreen, Watchguard,
Netfortress, etc..
Uma rede possui um nível conhecido de confiabilidade quando todos os seus nós seguem as mesmas políticas de segurança. Esse conceito pode ser estendido também para as VPNs, as quais podem ser vistas como “redes sobre redes”, onde os nós são as LANs ou usuários remotos, conectados por canais seguros estabelecidos sobre uma rede maior, não-confiável.
Por mais segura que uma rede local esteja, uma eventual falha de
segurança em um ponto qualquer da VPN pode se propagar pelos túneis,
comprometendo as partes consideradas seguras.
As tecnologias atuais conferem um
nível muito bom de segurança aos canais, de modo que os pontos mais vulneráveis
nas VPNs acabam por ser os nós, principalmente quando entre estes também estão
usuários remotos.
Por estarem também conectados à rede
maior, os nós da VPN são passíveis de ataques através das conexões inseguras,
podendo servir como porta de entrada a um intruso para a rede corporativa
(Figura 3).
Uma boa política de segurança deve ser clara, objetiva e abordar todos os aspectos de segurança relevantes. Como isso pode incluir um número muito grande de itens, é importante que a política de segurança seja aprovada pelas partes envolvidas, e revista periodicamente, a fim de refletir mudanças tecnológicas e estruturais da rede.
Dentre os inúmeros aspectos que podem constar em uma política de segurança, podemos destacar alguns itens:
·
Responsabilidades: as responsabilidades dos usuários e
administradores devem ser claras e bem definidas. No caso de interligação entre
redes, devem ser definidas as responsabilidades de cada uma das partes
envolvidas. Devem ser incluídas as possíveis medidas disciplinares a serem
tomadas em caso de ação voluntária ou negligente que venha a acarretar perdas.
Os últimos anos demonstraram uma expansão rápida da Internet, e a conseqüente melhoria de sua infraestrutura e diminuição dos custos de transporte de dados. O interesse em sua utilização acompanhou esse crescimento, mas esbarra em um problema importante: a segurança dos dados.
As VPNs surgiram para tentar
solucionar o problema da segurança na rede pública e aberta, fazendo o uso
combinado de diversas tecnologias de segurança de informação para estabelecer
canais seguros através da “nuvem de dados”.
Pode-se dizer que a VPN é a soma de tudo o que se faz necessário para estabelecer uma comunicação de dados segura entre dois pontos, utilizando uma rede pública de telecomunicações.
As VPNs apresentam algumas
características interessantes do ponto de vista da segurança da informação. Sob
aspectos puramente tecnológicos, atingiu-se indiscutivelmente um nível de
segurança muito difícil de ser quebrado com os recursos computacionais atuais.
Por outro lado, descobriu-se que a tecnologia empregada nas VPNs, apesar de
fundamental, não é suficiente para resolver a questão da segurança: a transmissão
de dados tornou-se segura; os pontos vulneráveis são agora os interlocutores.
Tecnologias (novamente) como PKIs,
podem e devem ser empregadas no fortalecimento da confiabilidade dos
interlocutores, de modo a atenuar esses problemas, mas não os resolvem por si só.
A falta de uma política de segurança adequada para os usuários do sistema, ou
má administração de uma das partes envolvidas ainda pode colocar em risco toda
a rede privada virtual.
Segurança em VPN não é apenas software, equipamentos, tecnologia e administração de redes. É a soma de todos esses elementos, guiada por um comprometimento sério das partes envolvidas e uma política de segurança bem estruturada.
[1]
International Engineering Consortium – “Virtual
Private Networks (VPNs)Tutorial” - 2003
[2] White
Paper da Cisco sobre IPSec - http://www.cisco.com/warp/public/cc/so/neso/sqso/eqso/ipsec_wp.htm
[3] Slides da apresentação “SEC406 -
IPsec And NATs:Finally In harmony?” –
http://downloads.mymsevents.com/files/Events/30/3513/SEC406_Riley.ppt
[4] Slides das apresentações da
Indocrypt 2002 - http://www.idrbt.ac.in/acin/indo/
[5] The VPN Consortium - http://www.vpnc.org
[6]
Política de segurança da VPN da Universidade do Texas em El Paso - http://www.utep.edu/infosec/vpn.htm
[7]
Tutorial sobre Internet Firewalls- http://www.penta.br
[8] What is
a VPN? – Paul Fergunson and Geoff Huston