Uma rede privada virtual (VPN – Virtual Private Network ) é uma rede cifrada e privada criada por cima da Internet, de maneira a garantir privacidade na comunicação entre os vários computadores.
Esta rede não necessita de estar no mesmo local físico, podendo-se configurar qualquer computador em quase qualquer lado para integrar a mesma rede. É uma rede bastante utilizada por várias instituições, fazendo com que seja possível trabalhar a partir de qualquer lado, como se estivesse na empresa.
Existem vários clientes de VPN que já possam ter usado, como por exemplo o “Hamachi” que é bastante utilizado pelas comunidades de “Gaming”, o OpenVPN, etc.
Falando agora um pouco do OpenVPN, este software multi-plataforma permite a criação de uma VPN entre várias máquinas com sistemas operativos diferentes.
O OpenVPN tem como principais funções:
- Fazer um túnel entre sub-redes ou adaptadores virtuais a partir de um porto TCP ou UDP.
- Configuração de vários servidores com distribuição de carga para conseguir atender milhares de pedidos de ligações VPN de clientes.
- Usa toda a biblioteca de cifra e autenticação do OpenSSL para proteger a rede de acessos indevidos.
- Usa qualquer cifra, tamanho da chave, ou algoritmo de integridade suportado pela biblioteca do OpenSSL.
- Escolha entre algoritmos de cifra simétrica ou assimétrica.
- Utiliza algoritmos de compressão para diminuir o tráfego na rede.
- Configuração de túneis entre clientes com IP dinâmico.
- Túneis seguros sem ter que utilizar regras especificas nas “firewalls”.
- Túneis entre NAT.
Configuração de um servidor OpenVPN em Windows XP:
Pré-requisitos:
- OpenVPN 2.1 rc19 (Servidor e Clientes)
- Ethernet Bridge 2.0 (Este programa é necessário no servidor, pois ajuda a fazer uma “bridge” entre as duas redes.)
- Instalar as aplicações
1.1 Após instalar o OpenVPN
1.1.1 Ir à pasta das Ligações de Rede (Painel de Controlo > Ligações de Rede)
1.1.2 Alterar o nome da placa de rede virtual “Ligação de área local #” com a descrição “TAP-Win32 adapter V9”, para “tap-bridge”.
Nota 1: Para alterar o nome da placa de rede virtual basta seleccionar a placa de rede e carregar em F2.
1.2 Após instalar o Ethernet Bridge 2.0 é necessário reiniciar.
2. Ir a pasta onde instalou o OpenVPN (C:\Programas\OpenVPN)
3. Abrir a pasta com o nome “easy-rsa”. 3.1 Copiar os ficheiros contidos na pasta “rsa” do pacote fornecido e colar na pasta “easy-rsa” do OpenVPN. 3.2 Abrir uma consola de DOS na pasta “easy-rsa” do OpenVPN e executar os seguintes comandos: 3.2.1 vars (Colocação em memória das variáveis do sistema)
Nota 2: É necessário fazer este comando em cada consola nova.
3.2.2 clean-all (Limpeza e criação da nova pasta de chaves)
3.2.3 build-ca (Constrói a Autoridade Certificadora para assinar os certificados)
3.2.4 build-key-server nomeServer ( Cria a chave e o certificado do servidor “nomeServer”)
Nota 5: No campo “Common Name” escrever o endereço pelo qual se iram ligar a este (ex: pplware.sapo.pt)
3.2.5 build-dh ( Gera um número primo seguro para ser usado no protocolo Defiie-Hellman. (Demora algum tempo, pode ir tomar café )
3.2.6 build-key nomeCliente (Cria a chave e o certificado do Cliente)
Nota 7: O campo “Organization Name” tem que ser igual ao da CA.
Nota 8: Os clientes têm que ter nomes diferentes do servidor e de outros clientes.
Nota 9: Fazer este comando para quantos clientes se forem ligar.
4. Criar uma pasta “servidor” na pasta config do OpenVPN (C:\Programas\OpenVPN\config) 4.1 Copiar do pacote o ficheiro “Server.ovpn” e colar na pasta criada. 4.2 Copiar da pasta keys criada no ponto 3.2.2 os ficheiros “ca.crt”, nomeServer.crt, nomeServer.key, “dh2048.pem” e colocar na pasta “servidor”, criada no ponto 3.3.
5. Editar o ficheiro “Server.ovpn” com as seguintes alterações: 5.1 Alterar a primeira linha caso queira alterar o porto da ligação. 5.2 Alterar a linha 2 caso queira alterar o protocolo da ligação. 5.3 Substituir os nomes do certificado do servidor e da respectiva chave, na linha 6 e 7 respectivamente: “cert server.crt -> cert nomeServer.crt key server.key -> key nomeServer.key”
5.4 Substituir na linha 9: 5.4.1 O IP “190.160.0.2” pelo IP local da máquina do servidor. 5.4.2 Os IP’s “190.160.0.100” e “190.160.0.109” pelos IP’s para atribuírem aos clientes.
Nota 10: A diferença de IP’s dá a quantidade de clientes para se ligarem. (ex: com os Ip’s que estão em cima podem se ligar 10 clientes.)
5.5 Se quiser que o tráfego dos clientes seja todo redireccionado pelo servidor, basta “descomentar” as linhas 11, 12 e 13 e alterar o endereço IP “190.160.0.1” para o IP da vossa “gateway” e correr o ficheiro “a.reg” para o servidor poder redireccionar o tráfego entre os clientes e o exterior através do servidor.
Nota 11: Para “descomentar” pasta retirar o ‘;’ do inicio da linha.
Breve descrição dos restantes campos no ficheiro de configuração do servidor:
- keepalive 10 120 – tempo que a ligação é mantida caso a ligação caia.
- comp-lzo – compressão dos pacotes transmitidos para diminuir o tráfego na rede.
- client-to-client – Permite ligações entre os clientes.
- cipher AES-256-CBC – Cifra usada na ligação
- status openvpn-status.log – Ficheiro de Log
- verb 3 – nível de Log
6. Correr a aplicação “Ethernet Bridge 2.0” e colocar no campo “Bridge Network Adapters” a placa de rede de onde vem a Internet e a placa de rede virtual “bridge-tap”
Nota 11: Apenas usar este programa se efectuou o passo 5.5.
Nota importante : Antes de iniciar o servidor é obrigatório fazer o passo 6, pois sem este passo as ligações não funcionaram correctamente.
Não esquecer: Abrir os portos no “router” se for caso disso.
Passando agora à configuração do cliente: 1. Ir ao endereço “C:\Programas\OpenVPN\config\” e criar uma nova pasta. 2. Ir ao pacote e copiar o ficheiro “Client.ovpn” para a pasta criada anteriormente. 3. Editar o ficheiro “Client.ovpn” com as seguintes alterações: 3.1 Alterar a segunda linha caso deseje alterar o protocolo da ligação. 3.2 Na linha 4 alterar o nome “server.domain” para o endereço externo do servidor e definir o porto de ligação à frente. (Ex. “pplware.sapo.pt 465”) 3.3 Alterar os nomes dos ficheiros do certificado do cliente e da respectiva chave: “cert client.crt -> cert nomeCliente.crt key client.key -> key nomeCliente.key” Breve descrição dos restantes campos no ficheiro de configuração do Cliente:
- cipher AES-256-CBC – cifra usada na ligação
- comp-lzo – compressão dos pacotes transmitidos para diminuir o tráfego na rede.
- verb 3 – Nível de Log.
Para ligarem o servidor e o cliente pasta carregar no botão direito do rato em cima do ícone na área de notificação e carregar em “Connect”