Índice - Artigos

Configurando uma rede wireless segura

Criado 12/jun/2007 às 16h36 por Manoel Lobo

3

Introdução

Todos nós sabemos que o atual modelo de redes sem fio (conhecido como Wi-Fi) não é seguro, mesmo utilizando criptografia WEP/WPA, desabilitando o broadcast do SSID no Access Point, ou fazendo controle de acesso por endereços MAC, você realmente não está imune à invasões ou captura de dados sigilosos na sua rede.

Este artigo demonstra como implementar uma camada de segurança realmente eficaz na sua rede sem fio.

Vamos supor que você tenha toda uma rede montada, sua estrutura é composta por cabos, switches, vários computadores (incluindo um servidor com Linux, que é o ponto mais importante deste artigo) e pelo menos um Access Point.

Um Access Point nada mais é do que um switch sem fio e uma ponte entre as duas redes (sem fio e cabeada), ele está ligado diretamente ao backbone da rede por meio de um dos switches presentes. Iremos isolar o Access Point desconectando-o do switch e conectando-o em uma placa de rede adicional instalada no servidor.


Configurando as interfaces do servidor


Instale o pacote "bridge-utils":

$ apt-get install bridge-utils

Edite o arquivo "/etc/network/interfaces", substitua a interface "eth0" pela "br0" (bridge), configure também a interface "eth1".

Exemplo do novo "/etc/network/interfaces":

# Loopback
auto lo
iface lo inet loopback

# Rede local com interface bridge
auto br0
iface br0 inet static
address 192.168.0.254
netmask 255.255.255.0
gateway 1.2.3.4
bridge_ports eth0

# Interface para o Access Point
auto eth1
iface eth1 inet static
address 10.0.0.254
netmask 255.255.255.0

Reinicie a rede:

$ /etc/init.d/network stop
$ /etc/init.d/network start

Configurando o servidor VPN


Não pretendo me aprofundar muito no OpenVPN com este artigo, iremos utilizar chaves estáticas, o que é mais simples de implementar, porém, a melhor maneira de explorar os recursos do programa, é utilizando certificados (é muito mais seguro), maiores detalhes em 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".
RelacionadosWireless

3 comentáriosPor Manoel Lobo. Revisado 12/jun/2007 às 16h36

Comentários

Versao
Criado 29/abr/2011 às 11h05 por Julio Cesar (anônimo)
Bom dia!

Qual versão do Linux você esta utilizando neste servidor para configurar a wireless.
comentario
Criado 28/abr/2011 às 03h09 por ande rl (anônimo)
ta achei legal mas e como faço pra aumentar o sinal do wireles,tenho uma antena de 12 dbis ominidirecional e meu irmao tem uma de recepçao a 70 metros e mesmo assim o sinal chega a 2 ou 3 pontos.me ajudem por favor.
Muito Bom, Porem Muito Complicado!
Criado 15/nov/2010 às 10h58 por John de Souza (anônimo)
Achei legal e tudo mais, só que sou um usuario meio leigo na parte de redes, por exemplo nao entendo esta frase do artigo: "Edite o arquivo "/etc/network/interfaces", substitua a interface "eth0" pela "br0" (bridge), configure também a interface "eth1". onde encontro isso meu Roteador é um D-link DI-524. Más tenho certeza que o pessoal que sempre lhe da com redes conseguiria executar aeh este passo a passo sem nehum problema, então valew até mais...