Вы находитесь на странице: 1из 7

Introduo

Esse artigo o primeiro de uma srie de trs e trata da implementao de um servidor de VPN em seus vrios aspectos de segurana e praticidade. Na primeira parte ser abordado a configurao do OpenVPN com chaves estticas. Na segunda parte ser abordado a configurao com certificados digitais e na terceira parte a configurao do servidor em modo bridge. A forma mais simples de configurar o OpenVPN utilizar chaves estticas, onde criado um arquivo de 2048 bits utilizado para criptografar os dados transmitidos pelo tnel, essa chave oferece um nvel de segurana mediano, devido a chave ser esttica e seu algoritmo no mudar a cada conexo, sempre h a possibilidade de um atacante descobrir a chave. A soluo mais simples e vivel seria trocas as chaves periodicamente fazendo com que essas tentativas de invaso se tornem ineficazes. O OpenVPN um dos softwares de cdigo aberto mais utilizados e seguros para implementao de uma "Virtual Private Network" ou "Rede Virtual Privada". Isto se deve ao fato de ser seguro, prtico e de fcil implementao. Uma VPN tem muitas vantagens em ambientes corporativos ou at mesmo residenciais. Trata-se de uma forma de compartilhar arquivos, impressoras ou at mesmo um sistema de gesto de forma segura. Antigamente a nica forma de interligar redes era utilizando link dedicados com endereos IP pblicos, mas o valor da infra-estrutura muitas vezes no era justificvel. Com o OpenVPN podemos interligar um nmero de filiais indefinidos, com custos relativamente baixos e podemos utilizar endereos IP pblicos no fixos, utilizando o servio de DNS dinmico. Sabemos que nenhuma VPN 100% segura, mas com os servios bem configurados e um firewall totalmente fechado os riscos de invaso so pequenos. Uma observao importante que a VPN cria interfaces virtuais no servidor, sendo que estas interfaces devem estar com endereo IP diferente dos da rede interna. A seguir mostrarei um esboo de como ficaro os endereos da rede interna e da VPN. No decorrer do artigo veremos que implementar uma VPN uma tarefa simples, desde que fique bem entendido como seu funcionamento. Lets go!

Matriz:

eth0 - Velox com endereo DNS dinmico: openvpn.no-ip.info; eth1 - 192.168.0.1 - rede interna; tun0 - 10.6.0.1 - endereo IP VPN.

Filial:

eth0 - Velox; eth1 - 192.168.1.1 - rede interna"; tun0 - 10.6.0.2 - endereo IP VPN.

Instalando e configurando OpenVPN na matriz


Primeiramente vamos fazer a instalao do OpenVPN na matriz: # apt-get install openvpn Agora vamos acrescentar o mdulo tun dentro do arquivo /etc/modules para que ele seja carregado no kernel a cada boot. O mdulo tun responsvel pelas interfaces virtuais que o OpenVPN cria: # echo tun >> /etc/modules Com o OpenVPN instalado e o mdulo tun carregado no kernel, vamos configurao. Acesse o diretrio /etc/openvpn/, aqui dentro onde sero criados os arquivos de configurao e a chave esttica. A chave criada no servidor depois deve ser copiada para todas as filiais que se conectaro VPN. Pode-se utilizar as chaves de duas formas, a primeira utilizar uma nica chave para todos os clientes e a segunda utilizar uma chave para cada cliente, do ponto de vista de segurana o ideal seria utilizar uma chave para cada cliente. No caso de um atacante conseguir obter uma das chaves, conseguir somente se conectar a uma nica filial e no a todas. Uma alternativa para melhorar a segurana e tornar esses ataques ineficazes fazer a troca das chaves periodicamente.

Abaixo vamos criar a chave: # openvpn --genkey --secret chave.key Agora vamos configurao do OpenVPN: # vim matriz.conf # Interface da VPN dev tun # Endereo IP servidor/filial ifconfig 10.6.0.1 10.6.0.2 # Protocolo proto udp # Porta VPN port 1194 # Chave esttica secret /etc/openvpn/chave.key # Monitoramento da conexo: primeiro nmero ping, segundo restart da vpn em segundos keepalive 10 120 # Compresso de dados comp-lzo # Mantm a interface tun carregada quando a vpn reiniciada persist-tun # Mantm a chave carregada quando a vpn reiniciada persist-key # Caso o IP mude, o tnel continua estabelecido float # Nvel do log verb 3 # Informaes de status da conexo status /var/log/openvpn/matriz-staus.log # Arquivo de log log-append /var/log/openvpn/matriz.log # Criando rotas

up /etc/openvpn/rotas.up # Apagando rotas down /etc/openvpn/rotas.down Depois de ajustar o arquivo de configurao criaremos os arquivos de log do OpenVPN, os logs so muito importantes para detectar algum erro de conexo, ver informaes dos clientes, entre outras informaes. # mkdir /var/log/openvpn # touch /var/log/openvpn/matriz-status.log # touch /var/log/openvpn/matriz.log Antes de iniciarmos a VPN vamos criar as rotas para acesso filial, como vimos no esboo, o endereo da VPN diferente do endereo da rede interna, a principio o servidor s consegue pingar no endereo IP do tnel da filial (10.6.0.2). Para o servidor e os micros da rede conseguirem pingar e acessar os micros da filial, preciso adicionar uma rota no servidor indicando a encaminhar os pacotes com destino a filial pelo tnel. Vamos criar dois arquivos dentro de /etc/openvpn/, um arquivo cria as rotas quando a VPN iniciada e o outro arquivo apaga as rotas quando a VPN parada. # vim rotas.up route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.6.0.1 dev tun0 # vim rotas.down route del -net 192.168.1.0 netmask 255.255.255.0 gw 10.6.0.1 dev tun0 Agora vamos iniciar a VPN: # /etc/init.d/openvpn start Em caso de alguma mensagem de erro ou aparecer "Failed" ao iniciar a VPN, pode consultar o log: # tail -f /var/log/openvpn/matriz.log Prontinho...

Instalando e configurando OpenVPN na filial

Agora vamos fazer a instalao e configurao do OpenVPN na filial, a configurao praticamente igual, s devem ser observadas algumas configuraes mnimas. Primeiramente vamos comear instalando o OpenVPN: # apt-get install openvpn Igualmente feito na matriz, devemos adicionar o mdulo tun dentro do arquivo /etc/modules. # echo tun >> /etc/modules Agora devemos copiar a chave esttica criada no servidor para dentro de /etc/openvpn/, com a chave copiada vamos configurao do OpenVPN: # vim filial.conf # Endereo IP servidor remote openvpn.no-ip.info # Interface da VPN dev tun # Endereo IP filial/servidor ifconfig 10.6.0.2 10.6.0.1 # Protocolo proto udp # Porta VPN port 1194 # Chave esttica secret /etc/openvpn/chave.key # Monitoramento da conexo, primeiro nmero ping, segundo restart da VPN keepalive 10 120 # Compresso de dados comp-lzo # Mantm a interface tun carregada quando a VPN reiniciada persist-tun # Mantm a chave carregada quando a VPN reiniciada persist-key # Caso o IP mude o tnel continua estabelecido float # Nvel do log

verb 3 # Informaes de status da conexo status /var/log/openvpn/filial-staus.log # Arquivo de log log-append /var/log/openvpn/filial.log # Criando rotas up /etc/openvpn/rotas.up # Apagando rotas down /etc/openvpn/rotas.down Vamos agora criar os arquivos de log: # mkdir /var/log/openvpn # touch /var/log/openvpn/filial-status.log # touch /var/log/openvpn/filial.log Agora vamos criar o arquivo com as rotas para acesso matriz: # vim rotas.up route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.6.0.2 dev tun0 # vim rotas.down route del -net 192.168.0.0 netmask 255.255.255.0 gw 10.6.0.2 dev tun0 Agora s iniciar a VPN: # /etc/init.d/openvpn start Prontinho... A matriz e a filial esto OK! Obs.: Se no tiver nenhum firewall no servidor da matriz e da filial, j pode dar um ping ou acessar um compartilhamento na mquina da outra rede. Como eu duvido que ningum que tem um pouco de conhecimento em segurana colocaria uma VPN no ar sem um firewall, vamos criar algumas regras para liberar a conexo da VPN e o trfego do tnel.

Liberando portas no firewall


Bem, como foi dito no incio do artigo, nenhuma VPN 100% segura, devemos configurar com cuidado todos os servios necessrios para ter uma VPN estvel e sem riscos, um firewall o mnimo de segurana necessria.

Vamos criar algumas regras de firewall liberando a conexo da VPN e o trfego do tnel. Estou presumindo que o firewall da matriz e filial esto com o policiamento da chains INPUT e FORWARD como drop. Firewall matriz: # Liberando porta de conexo VPN iptables -t filter -A INPUT -i ppp0 -p udp --dport 1194 -j ACCEPT # Liberando trfego do tnel iptables -t filter -A FORWARD -i tun0 -j ACCEPT iptables -t filter -A INPUT -i tun0 -j ACCEPT Firewall filial: # Liberando porta de conexo VPN iptables -t filter -A INPUT -i ppp0 -p udp --dport 1194 -j ACCEPT # Liberando trfego do tnel iptables -t filter -A FORWARD -i tun0 -j ACCEPT iptables -t filter -A INPUT -i tun0 -j ACCEPT Pronto!

Concluso
Espero que esse artigo tenha esclarecido muitas dvidas em como configurar uma VPN. Como vimos no decorrer do artigo, a configurao bastante simples e rpida. Nos outros artigos que escreverei tratarei mais a fundo segurana e certificados digitais, uma vez que em uma rede corporativa a segurana primordial. http://www.vivaolinux.com.br/artigo/Configuracao-de-um-servidor-VPN-comOpenVPN-e-chave-estatica?pagina=1

Вам также может понравиться