5. Segurança
A segurança é um dos requisitos mais importantes na implementação e funcionamento de uma rede VPN.
Para que uma VPN atinja um nível satisfatório de segurança de dados é fundamental que ela obedeça alguns princípios:
Controle de Acesso: restringir usuários não-autorizados de entrarem na rede;
Confidencialidade: prevenir a cópia ou leitura de dados por terceiros enquanto os mesmos são transmitidos via Internet;
Autenticação: assegurar que os dados se originam de uma fonte segura, de um usuário permitido na rede privada;
Garantia da Integridade de Dados: Não permitir que usuários de fora da VPN modifiquem dados enquanto são transmitidos via Internet.
È importante compreender que a VPN com todas suas técnicas de segurança não remove todos os riscos de uma rede, apesar de reduzir bastante os riscos encontrados em uma comunicação via uma rede publica, como a Internet. Um potencial problema é falhas na implementação de algoritmos de criptografia, o que possibilitaria hackers de descriptografar pacotes encriptados, descobrir chaves de criptografia e se passar por usuário válido da rede.
Abordaremos, a seguir, algumas técnicas e ferramentas bastante utilizadas para a segurança de dados em uma rede VPN.
Criptografia é formada por duas palavras de origem grega: kryptós= escondido e grapho= grafia. Logo, é uma ciência destinada a “esconder palavras”, ou seja, tornar mensagens secretas. Uma definição mais formal seria a criptografia ser o estudo de técnicas matemáticas aplicadas à segurança da informação, como a confiabilidade, integridade e autenticação dos dados.
Um sistema de criptografia tem a finalidade de criptografar, cifrar, codificar uma mensagem, através de um método de cifragem que utiliza a própria mensagem e uma chave de criptografia para produzir a mensagem codificada. Após transmitida a mensagem cifrada o receptor utiliza a chave de deciframento e a mensagem para obter novamente a mensagem original. Se a chave de cifragem e de deciframento forem iguais a criptografia é simétrica. Se tais chaves forem distintas a criptografia é assimétrica.
Figura 5.1 Sistema criptográfico generalizado
A criptografia simétrica tinha o problema de transmissão da chave criptográfica (como transmiti-la em um canal inseguro?). Então,dois pesquisadores Whitfield Diffie e Martin Hellman criaram a solução para tal problema de distribuição de chaves através da criptografia assimétrica. O algoritmo de criptografia desenvolvido, conhecido como Diffie-Hellman baseava-se na utilização de duas chaves distintas (uma de codificação e outra de decodificação). Com isso o usuário tornava pública, através do canal, somente a chave de codificação e guardava consigo a chave de decodificação. Quem quisesse enviar uma mensagem encriptada a tal usuário, utilizaria a chave de codificação (a chave pública) para realizar a criptografia. O a chave de decodificação (secreta aos demais usuários) seria utilizada para decifrar a mensagem, como é muito difícil a partir de uma chave descobrir a outra, o método de criptografia é seguro e válido.
Outro método de criptografia famoso e amplamente utilizado é o RSA que utiliza números primos para a geração de chaves.
A criptografia é utilizada pelo IPSec para a criação de conexões seguras protegendo a integridade das mensagens trocadas entre os usuários.
A assinatura digital é inspirada na assinatura de documentos como forma de certificar a autenticidade dos mesmos. Modelos computacionais baseados na criptografia assimétrica são utilizados para possibilitar a assinatura de mensagens digitalmente. O modelo amplamente utilizado de criptografia nessa área é o RSA.
Assim, quando um usuário A deseja enviar um pacote assinado digitalmente a outro usuário B ele realiza a criptografia do pacote utilizando sua chave privada e envia para o usuário B, para certificar de que foi o usuário A quem realmente enviou a mensagem ao usuário B, tal usuário utiliza a chave pública do usuário A para realizar a descriptografia, se for realizada com sucesso o usuário A é reconhecido pelo B.
É importante ressaltar que a criptografia dos dados deve ser feita utilizando a chave pública do receptor, enquanto que a criptografia visando à assinatura digital é feita utilizando a chave privada do próprio emissor que deseja ser reconhecido pelo receptor.
Um documento somente com assinatura digital não está protegido, só indica quem enviou a mensagem. Por isso que na implementação de VPNs é utilizado um conjunto de métodos de segurança, inclusive assinatura digital
O firewall possui origens em sistemas de segurança rudimentares implementados por grandes organizações como IBM para proteger sua rede privada de computadores. A sua tradução tem o significado de portas contra-fogo (dispositivo de segurança contra-incêndios em prédios) sendo, portanto o firewall um sistema de segurança. O firewall é um conjunto de software e hardware que visa proteger informações e/ou filtrar o acesso a elas, sendo um elemento de ligação entre redes, uma porta de entrada a uma rede privada.
O firewall é um sistema que inspeciona todo o tráfego de dados para dentro ou fora da rede, permitindo a passagem apenas do tráfego especificamente autorizado e bloqueando qualquer outro, agindo como um par de mecanismos de bloqueio e de permissão de tráfego. Ele.deve ser imune a penetração, pois não consegue proteger a rede interna caso o atacante consiga atravessá-lo. A grande vantagem do firewall é a possibilidade de monitoração centralizada, sendo um ponto de controle único do tráfego pela rede. Outro benefício é o firewall ser o ponto ideal para realizar a configuração de um NAT (Network Adress Translation) que realiza a conversão de endereços de IP, ocultando diversos endereços IP de uma rede interna em um único, ou seja, mascarando IPs. No entanto, não pode proteger a rede interna contra ataques que não passa por eles, não podendo proteger ataques de usuários internos mal-intencionados.
São classificados em dois grupos:
Filtros de pacotes: realiza o roteamento entre computadores ligados a rede (hosts) interna e externa, mas o roteamento é seletivo. Examina as informações contidas no pacote (IP de origem e de destino, protocolo de encapsulamento, porta de origem e destino) se a regra pré-estabelecida permitir sua entrada o acesso é liberado e o pacote é roteado de acordo com uma tabela, caso contrário o pacote é rejeitado. Apresenta um baixo custo.
Servidor proxy: nessa configuração um conjunto de programas é executado no firewall (proxy de aplicação). Esse conjunto é que realiza a conexão com a internet (rede pública), os usuários da rede interna não possuem acesso direto a pública, logo é possível configurar uma lista de endereços proibidos aos usuários caso seja conveniente ao administrador da rede. Quando um usuário deseja acessar determina conteúdo da rede pública (Internet) solicita ao proxy que solicita o endereço pedido e armazena o conteúdo, retornando uma cópia do conteúdo ao usuário que o solicitou, se outro usuário solicitar o mesmo conteúdo o proxy verifica se houve alguma atualização, senão envia a cópia do mesmo conteúdo ao usuário, melhorando a performance da rede.
Existem uma arquitetura que emprega a filtragem de pacotes juntamente com um computador que fornece serviços proxy (bastion host) pode-se criar uma espécie de rede isolada situada entre a rede pública e a rede privada, chamada de zona desmilitarizada, onde o tráfego direto por ela é proibido e tanto os sistemas internos e externos possuem acesso limitado.
As configurações mais comuns de firewall em VPNs são:
Servidor VPN com Firewall: diversos firewalls vendidos no mercado apresentam componentes possibilitando soluções VPN. As principais vantagens dessa configuração é a existência de um ponto único de controle de segurança, o que facilita a manutenção e reduz o número de máquinas, reduzindo o custo. Outro benefício é a possibilidade de utilizar regras já definidas pelo firewall no tráfego VPN. No entanto, algumas desvantagens é a competição de recursos entre o servidor VPN e o firewall, a configuração cuidadosa do firewall, pois qualquer erro permitiria terceiros entrarem na rede VPN e transformarem-se em usuários válidos e a centralização da segurança pode ser um risco em potencial para a rede VPN;
Figura 5.2 Configuração Firewall com Servidor VPN (modificada de VPN Fundamentals)
Servidor VPN atrás do Firewall: nessa configuração tem-se um firewall dedicado e a rede externa não consegue atingir diretamente o servidor VPN. É necessário configurar o firewall para adicionar um nova rota para o tráfego VPN interno direto para o servidor VPN e o tráfego encriptado VPN deve ser direcionado pelo firewall diretamente ao servidor VPN. As vantagens são que a VPN é protegida totalmente pelo firewall, com apenas uma máquina controlando todo acesso à Internet. uma grande desvantagem é o aumento da latência na rede VPN, pois todo o tráfego VPN deve passar pelo firewall. O firewall redirecionando o tráfego VPN também pode ser complicado, pois alguns não sabem o que fazer com protocolos IPs diferentes, como é o caso de algumas VPNs (o pacote ESP para IPSec VPNs e o pacote GRE para PPTP VPNs). Pode-se ligar o servidor VPN diretamente ao firewall visando a diminuição da latência.
Figura 5.3 Configuração Servidor VPN atrás do Firewall (modificada de VPN Fundamentals)
Servidor VPN paralelo ao Firewall: as máquinas da rede interna terão a rota padrão sempre passando pelo firewall.O firewall terá uma rota para o servidor VPN redirecionando pacotes de clientes VPN externos para essa servidor e põe-se por um roteador antes da rede interna que se encarregará de distribuir as rotas entre o servidor VPN e o firewall. Assim, não é necessário configurar o firewall para suportar pacotes VPN e se o servidor VPN estiver muito ocupado, pode-se adicionar máquinas e distribuir os pacotes VPNs entre eles, estabilizando a conexão. A VPN fica diretamente ligada a Internet, então é necessário que ela seja bastante segura. Com duas máquinas de acesso a Internet, as duas devem ser bem configuradas deixando passar apenas o tráfego limpo. Com um maior número de máquina, o custo também aumenta.
Figura 5.4 - Configuração Servidor VPN e Firewall paralelos com roteador na entrada (modificada de VPN Fundamentals)