Vpn com freeswan

Disponível somente no TrabalhosFeitos
  • Páginas : 8 (1858 palavras )
  • Download(s) : 0
  • Publicado : 12 de outubro de 2011
Ler documento completo
Amostra do texto
VPN com FreeS/WAN   Comments (1)
Posted 5:42 pm na(s) categoria(s) Linux,Segurança
Autor: Pedro Augusto de O. Pereira / http://augusto.pedro.googlepages.com/
Introdução
O FreeS/WAN é uma das várias implementações do IPSec (Internet Protocol Security) e IKE (Internet Key Exchange) para GNU/Linux.
Utilizando estes dois serviços, você pode fazer um túnel seguro entre duas redes distantes comseus dados passando por redes inseguras (como a Internet). O IPSec consegue fazer com que os dados trafeguem de modo seguro através de uma rede insegura, pois tudo o que passará por este túnel é criptografado pelo gateway com IPSec instalado e só é descriptografado na outra ponta. No gateway que conhece a chave para realizar a descriptografia. Assim, você consegue estabelecer uma VPN (VirtualPrivate Network) entre vários locais diferentes, utilizando a Internet, de forma bastante segura.
Para descrever como estabelecer um túnel VPN criptografado, neste documento vou me basear na versão 2.06 do FreeS/WAN.
Instalação
Para que você consiga usar o FreeS/WAN a partir dos RPM’s, você tem que necessariamente ter os pacotes freeswan-userland-xxx.rpm e freeswan-module-xxx.rpm. Você pode encontraresses pacotes no seguinte site:
http://www.freeswan.org/download.html
Então, para instalar o FreeS/WAN a partir dos pacotes RPM, faça o seguinte:
# rpm -ivh freeswan-userland-xxx.rpm
# rpm -ivh freeswan-module-xxx.rpm
Depois de instalar os dois pacotes, serão criados (entre outros) dois arquivos no seu diretório /etc: o ipsec.conf e o ipsec.secrets. Veremos mais adiante para que cada umdeles serve.
Gerando as chaves RSA – utilizando o arquivo ipsec.secrets
Antes de começar a configurar o serviço propriamente dito, vamos gerar as chaves para a autenticação dos nossos gateways. Para isso é só usar o comando ipsec_newhostkey. Por padrão, a chave gerada com este comando deve ir para o arquivo /etc/ipsec.secrets, porém você pode mudar o arquivo para qualquer um que você queira.
Então,vamos gerar a nossa chave:
# ipsec_newhostkey –output /etc/ipsec.secrets –bits 128 –hostname gateway_1
Com o comando acima, nós geramos a chave de autenticação do host gateway_1 de 128 bits e a guardamos no arquivo ipsec.secrets. Esse processo deve ser feito para o outro gateway que estabelecerá o túnel VPN com este gateway.
Tenha certeza absoluta de que o nome da máquina que você forneceu aogerar a chave é o correto. Se este nome estiver errado, a chave será gerada de forma errônea e você não conseguirá estabelecer um túnel entre os gateways.
Como você já deve ter percebido, no arquivo ipsec.secrets só deve haver a chave do gateway que você está configurando. Por exemplo, se eu estou configurando o gateway gateway_1, no meu arquivo ipsec.secrets só deverá existir a chave deste host.Quando eu for configurar o gateway_2, no ipsec.secrets deste só deverá haver a chave do gateway_2.
Configurando o serviço IPSec – utilizando o arquivo ipsec.conf
Depois que você gerou todas as chaves necessárias em todos os hosts, é hora de editar o arquivo ipsec.conf para configurar como será a nossa VPN.
Vou tentar deixar claro para que servem todas as opções neste arquivo (que não sãomuitas).
interfaces=%defaultroute
Essa opção necessariamente tem que estar certa sempre, ou praticamente nada irá dar certo!
Se o seu gateway for o caminho certo para a VPN, então pode deixar exatamente como está. Se não, altere para a placa de rede que terá a comunicação com a outra ponta da VPN. Por exemplo, se a VPN for estabelecida via a placa de rede eth0, então a linha deverá ficar:interfaces=”ipsec0=eth0?
A opção interfaces=”ipsec0=eth0? vai ser o suficiente se a sua VPN for bem simples.
klipsdebug=none
plutodebug=none
Estas opções geralmente são mais necessárias quando a sua VPN está com algum problema. Elas “medem” o nível de informação que será logado pelo serviço IPSec. Se você quiser o máximo de informações possível, é só mudar “none” para “all”.
uniqueids=yes
Esta...
tracking img