:. Configurando uma rede wireless segura
Por Manoel Lobo
http://www.openvpn.net (http://www.openvpn.net).
Instale o OpenVPN:
$ apt-get install openvpn
Configure o OpenVPN:
Crie o arquivo "/etc/openvpn/servidor-cliente1.conf", este servirá para atender o primeiro participante da rede sem fio que irá utilizar a VPN, é possível executar um único daemon para atender vários clientes, porém, na minha opinião, fica mais fácil controlar os mesmos com um daemon para cada um.
Conteúdo do "/etc/openvpn/servidor-cliente1.conf":
# Endereço e porta do serviço
local 10.0.0.254
port 1194
# Chave secreta
secret chave_secreta1.key
# Nome e tipo da interface para a VPN
dev tap0
# Endereço IP para a interface VPN (isso mesmo, endereço loopback)
ifconfig 127.0.0.1 255.0.0.0
# Script para adição da interface VPN à bridge
up ./servidor-cliente1.up
# Mantendo o link sempre ativo
ping 15
ping-restart 45
ping-timer-rem
# Executando como não-root
user nobody
group nogroup
persist-tun
persist-key
# Nível de verbosidade
verb 3
Gere a chave secreta:
$ openvpn --genkey --secret /etc/openvpn/chave_secreta1.key
Crie o arquivo "/etc/openvpn/servidor-cliente1.up" com o conteúdo abaixo e torne-o executável:
#!/bin/sh
/usr/sbin/brctl addif br0 tap0 || /bin/true
$ chmod 755 /etc/openvpn/servidor-cliente1.up
Reinicie o OpenVPN:
$ /etc/init.d/openvpn restart
- Configurando o Access Point:
Configure o endereço IP do seu Access Point para 10.0.0.253, conecte-o à interface "eth1" do servidor Linux, execute o "ping" para verificar se a rede entre o Access Point e o servidor Linux está operante.
Mesmo que os recursos de segurança do Access Point/redes sem fio não sejam suficientes (essa é a razão deste artigo), configure-os para ficar da maneira mais "apertada" possível, habilite a criptografia WEP/WPA, desabilite o broadcast do SSID e faça o controle de acesso por MAC.
- Configurando a interface do cliente:
Pressupondo que o cliente consiga ingressar na rede sem fio, basta especificar o endereço IP e a máscara de sub-rede do mesmo, veja o exemplo abaixo:
Endereço IP: 10.0.0.1
Máscara de sub-rede: 255.255.255.0
Não é necessário especificar o gateway padrão, esta configuração acima serve apenas para o cliente poder conectar no servidor VPN e estabelecer o link seguro, que será o responsável pelo tráfego dos dados que realmente nos interessam, configure também o "/etc/resolv.conf", apontando os servidores DNS.
- Configurando a VPN no cliente:
A configuração da VPN no cliente é bastante similar à do servidor, o que muda são apenas algumas linhas.
Crie o arquivo "/etc/openvpn/cliente1-servidor.conf" com o seguinte conteúdo:
# Endereço e porta do serviço
local 10.0.0.1
remote 10.0.0.254
port 1194
# Chave secreta
secret chave_secreta1.key
# Nome e tipo da interface para a VPN
dev tap0
# Caso seu cliente seja Windows, descomente a linha abaixo
# dev-node "conexão local 2"
# Endereço IP para a interface VPN (agora com um endereço válido)
ifconfig 192.168.0.1 255.255.255.0
# Script para adição do gateway padrão
up ./cliente1-servidor.up
# Mantendo o link sempre ativo
ping 15
ping-restart 45
ping-timer-rem
# Executando como não-root
# Caso seu cliente seja Windows, comente as duas linhas abaixo
user nobody
group nogroup
persist-tun
persist-key
# Nível de verbosidade
verb 3
Copie a chave secreta do servidor para o cliente (no diretório "/etc/openvpn"), utilizando um meio de transporte seguro.
A chave deverá ter a permissão "600", e pertencer ao usuário "root" e grupo "root".
- Script para adição do gateway padrão:
O script "/etc/openvpn/cliente1-servidor.up", serve apenas para adicionar o gateway padrão, opcionalmente você poderá incluir outros comandos, veja o conteúdo abaixo:
#!/bin/sh
/sbin/route add default gw 192.168.0.254 dev tap0 || /bin/true
Agora torne-o executável:
$ chmod 755 /etc/openvpn/cliente1-servidor.up
Reinicie o OpenVPN:
$ /etc/init.d/openvpn/restart
Sua rede sem fio segura está pronta!
- Notas:
Para que sua rede sem fio seja realmente segura, é necessário que você configure o firewall do cliente para não permitir tráfego algum na interface real (sem fio), exceto aquele destinado ao endereço IP da interface "eth1" no servidor, porta UDP 1194.
O tráfego na interface "tap0" deverá ser liberado.
Configure também o firewall do servidor para não permitir tráfego na interface "eth1" que não seja destinado ao uso do VPN, o roteamento entre as interfaces "br0" e "eth1" deverá ser proibido.
Suponha alguém consiga invadir sua rede sem fio e capturar seus dados, não há motivos para se preocupar, os mesmos estão encapsulados na VPN, onde a criptografia é de alto nível.
Caso seu Access Point tenha a opção de isolar os clientes sem fio (impedir a comunicação entre eles), habilite-a, isto evitará que sua infra-estrutura seja utilizada como "playground" pelos invasores,
O máximo que poderá acontecer no caso de uma invasão é exatamente *nada*, (isso mesmo), a isolação é realmente segura por causa do modelo de conexão utilizado para com a rede cabeada/Access Point, e por causa da VPN utilizada.
Todo o procedimento acima deverá ser executado como "root".