OpenVPN
Para não precisar esticar um cabo de fibra óptica
da matriz até a filial para conectar duas redes
internas.
Sobre:
Imagina que, para conectar uma rede
interna de uma empresa a uma filial, você
precisasse “esticar” um cabo de fibra
óptica da empresa até a filial, além de
caro, o procedimento envolve
licenciamento SCM, entre outros
problemas com os espaços, repetidores e
outros equipamentos ópticos, além do
procedimento ser caro e inacessível.
Sobre:
O OpenVPN é um software desenvolvido para
ser cliente e servidor de uma VPN. Mas o que é
VPN?
Virtual Private Network, ou Rede Privada Virtual,
é uma rede privada construída sobre a infraestrutura de uma rede pública, normalmente a
Internet. Ou seja, ao invés de se utilizar links
dedicados ou redes de pacotes para conectar
redes remotas, utiliza-se a infra-estrutura da
Internet.
Sobre:
Motivada pelo lado financeiro, onde os links
dedicados são caros, e do outro lado está a
Internet, que por ser uma rede de alcance
mundial, tem pontos de presença espalhados
pelo mundo. Conexões com a Internet podem
ter um custo mais baixo que links dedicados,
principalmente quando as distâncias são
grandes, esse tem sido o motivo pelo qual, as
empresas cada vez mais utilizam a infraestrutura da Internet para conectar a rede
privada.
Sobre:
A utilização da Internet como infraestrutura de conexão entre hosts da rede
privada é uma ótima solução em termos
de custos mas, não em termos de
privacidade, pois a Internet é uma rede
pública, onde os dados em trânsito podem
ser lidos por qualquer equipamento. Então
como fica a questão da segurança e a
confidencialidade das informações da
empresa?
Sobre:
Criptografia! Essa é a resposta! Incorporando
criptografia na comunicação entre hosts da rede
privada de forma que, se os dados forem
capturados durante a transmissão, não possam
ser decifrados. Os túneis virtuais habilitam o
tráfego de dados criptografados pela Internet e
esses dispositivos, são capazes de entender os
dados criptografados formando uma rede virtual
segura sobre a rede Internet. Os dispositivos
responsáveis pelo gerenciamento da VPN
devem ser capazes de garantir a privacidade,
integridade, autenticidade dos dados.
Sobre:
Como Funciona isso? Basicamente uma
VPN, pode ser feita de duas formas: A
primeira forma é, um simples host em
trânsito, conecta em um provedor Internet
e através dessa conexão, estabelece um
túnel com a rede remota. Na segunda
forma, duas redes se interligam através de
hosts com link dedicado ou discado via
internet, formando assim um túnel entre
as duas redes.
Sobre:
Os protocolos utilizados no túnel virtual, são,
(IPSec) Internet Protocol Security, (L2TP) Layer
2 Tunneling Protocol, (L2F) Layer 2 Forwarding
e o (PPTP) Point-to-Point Tunneling Protocol. O
protocolo escolhido, será o responsável pela
conexão e a criptografia entre os hosts da rede
privada. Eles podem ser normalmente
habilitados através de um servidor Firewall ou
RAS que esteja trabalhando com um deles
agregado.
Sobre:
A figura ilustra o caminho que os dados
percorrem na arquitetura de rede do
Windows sobre uma conexão VPN
usando um modem analógico.
Sobre:
Um datagrama IP, IPX, ou NetBEUI é
submetido por seu protocolo apropriado à
interface virtual que representa a conexão
VPN, esta, usa o NDIS, que por sua vez,
submete o pacote ao NDISWAN que
codifica ou comprime e submete então ao
protocolo PPTP, e este, ao formar o
pacote resultado, envia pela interface
serial que é usada pelo modem analógico.
Sobre:
O OpenVPN é um software livre e open-source
para criar redes privadas virtuais do tipo pontoa-ponto ou server-to-multiclient através de
túneis criptografados entre computadores. Ele é
capaz de estabelecer conexões diretas entre
computadores mesmo que estes estejam atrás
de NAT e Firewall sem necessidade de
reconfiguração da sua rede. Ele foi escrito por
James Yonan e publicado sob licença GNU
General Pulic Licence (GPL).
Sobre:
O OpenVPN permite autenticação ponto-a-ponto através de chaves
secretas compartilhadas, certificados digitais ou autenticação com
usuário e senha. Quando utilizado em modo multiclient-server ele
permite que cada cliente utilize a autenticação pública com
certificados digitais, fazendo isto através de assinaturas digitais e
certificados de autoridade. Ele utiliza extensivamente a criptografia
OpenSSL. Usa também os protocolos SSLv3/TLSv1. Esta
disponível para Solaris, Linux, OpenBSD, FreeBSD, NetBSD, Mac
OS X, e Windows 2000/XP/Vista. Ele contém muitos recursos de
controle e segurança. Ele não é um cliente VPN baseado em web,
não é compatível com IPsec ou qualquer outro tipo de pacote VPN.
Todo pacote do OpenVPN consiste em apenas um binário tanto
para conexões do lado do cliente quanto para conexões do lado do
servidor, você vai encontrar mais alguns arquivos e chaves
dependendo do tipo e método de autenticação utilizado.
Eventualmente é utilizado por gamers como uma maneira de
acessar jogos LAN fora da intranet pela internet.
Sobre:
O OpenVPN utiliza a biblioteca OpenSSL para prover criptografia entre ambos os
canais de controle de dados. Isto faz com que o OpenSSL faça funcionar toda a
criptografia e autenticação, permitindo ao OpenVPN utilizar todas as cifras
disponíveis no pacote do OpenSSL. Ele pode utilizar o pacote de autenticação
HMAC para adicionar uma camada de segurança para a conexão. Ele pode também
utilizar aceleração de hardware para obter uma melhor performance na criptografia.
O OpenVPN te possibilita autenticar entre os pontos de várias maneiras. O
OpenVPN oferece chaves secretas compartilhadas, autenticação baseada em
certificados e autenticação baseada em usuário e senha. O método de autenticação
com chaves secretas compartilhadas é o mais simples, e combinando com
certificados ele se torna o mais robusto e rico recurso de autenticação. A
autenticação com usuário e senha é um recurso novo (disponível apenas na versão
2.0) que possibilita o uso de certificados no cliente, mas não é obrigatório (o servidor
precisa de certificado). O código fonte em formato tarball inclui um exemplo de script
Perl que verifica usuário e senha através do PAM e um plug-in em C chamado authpam-plugin. O OpenVPN pode rodar sobre UDP (preferencial por padrão) ou TCP.
Ele multiplexa toda a comunicação em cima de uma única porta TCP/UDP. Ele tem a
habilidade de trabalhar com a maioria dos proxy servers (incluindo HTTP) e funciona
muito bem trabalhando com NAT para passar por firewalls. As configurações do
servidor tem a habilidade de fornecer certas configurações de rede para seus
clientes, isto inclui endereços IPv4, comandos de rotas e algumas poucas
configurações de conexão. O OpenVPN oferece dois tipos de interfaces para rede
via Universal TUN/TAP driver. Ele pode criar um túnel em layer-3 (TUN), ou pode
criar um túnel em layer-2 baseado em ethernet TAP, o que pode carregar qualquer
tipo de tráfego ethernet. O OpenVPN pode utilizar a biblioteca de compressão LZO
para compactar o fluxo de dados. A porta 1194 é a numeração oficial IANA para o
OpenVPN.
Sobre:
As novas versões do OpenVPN já estão
configuradas para utilizarem esta porta.
Um novo recurso na versão 2.0 permite
que um processo possa manipular e
gerenciar vários túneis simultâneos como
alternativa ao método original de um
processo por túnel, o qual era uma
restrição das versões 1.x.x.
Sobre:
O OpenVPN usa como seus protocolos comuns
o TCP e UDP como uma alternativa ao IPsec
em situações onde o ISP pode ter bloqueado os
protocolos específicos para VPN na tentativa de
forçar os clientes a assinarem serviços mais
caros. O OpenVPN oferece vários recursos de
segurança internos. Ele roda em userspace, ao
invés de necessitar de uma IP stack operation.
O OpenVPN tem a habilidade de bloquear os
privilégios de acesso root, ele usa o mlockall
para prevenir que dados sensíveis sejam
colocados em swap no disco, e, após sua
inicialização, ele roda em ambiente chroot.
Sobre:
O OpenVPN oferece suporte a smart card
através de criptografia baseada em token
PKCS#11. não será comentado no vídeo
todas as funções do OpenVPN. Veja na
documentação, mais informações de
como instalar as ferramentas adicionais
citadas nesta parte do vídeo.
Características técnicas:
Instalação do repositório EPEL obrigatória.
Há configurações adicionais que na
documentação eu não encontrei, mas
pode ser visto em http://safesrv.net/installopenvpn-on-centos foi deste site que
soube onde procurar os arquivos de
configuração, com os executáveis
adicionais para o EASY RSA para gerar
chaves criptográficas.
Características técnicas:
OBRIGATÓRIO: Teste no cliente! Na rede onde se
encontra o servidor, pode dar conflito de endereços. Não
use endereços 10.0.0.0/8 pois o OpenVPN não
funciona. No máximo use endereços 172.16.0.0/16 e se
ainda não funcionar, use endereços 192.168.254.0/24
para a configuração. NÃO USE O OpenVPN COM IP
192.168.0.1 (1.1) POIS PODE DAR CONFLITO NA
REDE DO CLIENTE DA VPN! Se a rede do cliente for
192.168.1.1 e o OpenVPN no lado do servidor usa o
mesmo IP 192.168.1.1, a rota automaticamente não vai
funcionar no OpenVPN do cliente do servidor VPN e vai
desconectar a rede local do cliente, fazendo com que
trave totalmente a rede do cliente VPN, deixando
indisponível a rede do cliente para acesso a internet.
Finalizando...
OpenVPN é um excelente cliente/servidor.
Fácil configuração, apenas alguns arquivos
confs são necessários tanto do lado do cliente,
quanto no lado do servidor, sendo que traz
segurança com senhas e certificados com
criptografia alta de 128 Bits. Excelente para
compartilhamento de arquivos, servidores e
serviços da rede interna para clientes VPN
externos daquela rede. O OpenVPN é software
livre, que garante confiabilidade e qualidade.
Páginas de referências:
Imagem inicial retirado de
http://forum.zwame.pt/showthread.php?t=345371&page=389
Installing OpenVPN on CentOS5 and CentOS6 (em inglês)
http://safesrv.net/install-openvpn-on-centos
Instalando e configurando OpenVPN em 5 minutos/Setting up OpenVPN in
5 minutes: http://tinodiaadia.wordpress.com/2012/03/09/instalando-econfigurando-openvpn-em-5-minutossetting-up-openvpn-in-5-minutes
Servidores VPN com OpenVPN no Linux CentOS 6
http://www.diorio.com.br/docs/linux_centos/6/install_openvpn_centos.php
OpenVPN – Wikipédia a enciclopédia livre:
http://pt.wikipedia.org/wiki/OpenVPN
O que é VPN? - Anonymous Brasil
http://www.anonymousbrasil.com/tecnologia/vpn
OpenVPN – HowTo (site em Inglês) (oficial)
http://openvpn.net/index.php/open-source/documentation/howto.html
OpenVPN – Downloads http://openvpn.net/index.php/opensource/downloads.html para download do OpenVPN versão 2.3.2 acesso
em 08 de dezembro de 2013
Finalizando...
Vamos ao conceito prático?
Download

Programa