terça-feira, 30 de setembro de 2014

UTILIZANDO CRIPTOGRAFIA WPA PARA ACESSO À REDE WIRELESS NO LINUX EDUCACIONAL 3.0

Com o advento das redes wireless, muitas facilidades foram trazidas para a conexão de computadores e dispositivos, uma vez que passou a não ser mais necessária a utilização de um meio físico guiado (cabo) entre eles. Porém, essa aparente facilidade de interconexão também pode trazer muitos problemas, principalmente no caso de senhas fracas e que utilizam padrões obsoletos de criptografia, que permitem facilmente que uma pessoa com algum conhecimento possa descobrir a senha de uma rede wireless em poucos minutos ou mesmo segundos, se possuir as ferramentas certas e certa dose de obstinação.

Pensando em agregar maior segurança aos ambientes dos laboratórios, e tendo em vista que muitas escolas utilizam redes wireless com senhas fracas, utilizando criptografia WEP para autenticação no ponto de acesso, é importante estar atento com relação à vulnerabilidade de utilização por pessoas não autorizadas.

A reconfiguração dos laboratórios utilizando um padrão de senhas mais robusto (WPA), amparado por um tipo de criptografia mais forte, pode tornar essas redes mais seguras e também dificultar o acesso externo não autorizado.

Embora o padrão WPA não seja infalível, ainda é o padrão mais seguro e deve ser utilizado em redes onde o fator segurança deve prevalecer.

No Linux Educacional 3.0 o suporte a esse padrão é feito através do arquivo wpa_supplicant, já estando presente na instalação desse SO. Abaixo é descrito o passo a passo para a configuração de redes com segurança WPA nos laboratórios que utilizam o Linux Educacional 3.0.

Primeiramente é importante obter as configurações do IP do roteador, SSID da rede wireless (nome da rede) e ter cadastrado a senha de acesso e configurado o tipo de criptografia (WPA) no o ponto de acesso (roteador). Com essas informações em mãos, faça acesso ao terminal como root e execute o comando abaixo, onde minharede é o SSID da rede wireless e minhapassphrase é a senha de acesso cadastrada no roteador.



Será retornada a configuração abaixo que deverá estar presente no arquivo wpa_supplicant.conf e que deve ser utilizada na autenticação do dispositivo, junto ao ponto de acesso, para a conexão à rede.


Para criar ou atualizar o arquivo wpa_supplicant.conf já com essas configurações, execute o comando abaixo:




Será criado um arquivo chamado wpa_supplicant.conf dentro do diretório /etc com as configurações retornadas pelo comando wpa_passphrase. Esse arquivo será necessário para o processo de autenticação dos dispositivos da rede. Execute o comando abaixo para abrir o arquivo criado:


Note que esse arquivo apresenta duas linhas psk, uma com a senha de acesso real (que está comentada com um #), e a outra que apresenta um “hash” (verificador) que funcionará da mesma forma, mas sem que seja necessário deixar a senha exposta no arquivo. Portanto é aconselhável que se apague alinha abaixo:

#psk =”minhapassphrase”

Em seguida pressione CTRL+X para solicitar que as alterações sejam salvas, teque “S” para confirmar e em seguida pressione <ENTER> para salvar as alterações e retornar ao shell.

Execute o comando abaixo para verificar qual o nome da interface que responde pela conexão wireless no computador. Observe no exemplo que o nome da interface retornado é wlan0.


Com essa informação, será necessário realizar ativação do driver interno do wpa_supplicant que será utilizado para acesso à rede. Aplicando o comando abaixo serão exibidas diversas informações e detalhes sobre a conexão com o ponto de acesso, onde poderemos observar se a conexão foi bem sucedida ou apresentou algum tipo de erro. Devido ao parâmetro –d passado no comando, o wpa_supplicant é executado no modo verbose onde são exibidos detalhes da autenticação e conexão com o ponto de acesso. Após ser exibido o processo de autenticação, para encerrar pressione as teclas CTRL+C.



Esse comando também poderá ser executado sem o parâmetro –d, de forma a exibir somente se a conexão foi ou não bem sucedida, conforme pode ser observado no exemplo abaixo, onde a conexão com a rede TECINFO foi completado com sucesso.


De qualquer forma, para confirmar se houve a conexão com o ponto de acesso execute o comando abaixo:


O retorno desse comando informa se a interface foi conectada ao ponto de acesso, conforme pode ser observado abaixo:


Observe que no exemplo o dispositivo foi conectado a rede de nome TECINFO corretamente. Também são exibidas outras informações sobre o ponto de acesso como potência do sinal, modo de operação, MAC ADDRESS, dentre outras.

Tendo certeza que o dispositivo foi conectado à rede, será necessário agora configurar os parâmetros necessários (IP, máscara, gateway, etc) da interface para que seja possível estabelecer a conexão, e também garantir que a cada inicialização do sistema essas configurações sejam efetuadas. Para isso será necessário configurar o arquivo interfaces com os parâmetros corretos.

Abra o arquivo executando o seguinte comando:


Um exemplo do arquivo configuração está apresentado abaixo, onde temos:


Onde: 

address  = IP do computador
netmask = Máscara da rede
network = Endereço da rede
broadcast = Endereço de Broadcast da rede
gateway = IP do gateway da rede (IP do roteador)


Uma vez que se tenha conseguido conexão com o ponto de acesso deve-se garantir que esses comandos sejam executados a cada boot, inserindo ao final da configuração da interface de rede os comandos que garantirão as configurações corretas da interface. Isso é feito através das linhas que devem inseridas ao final da configuração do arquivo interfaces.

pre-up wpa_supplicant –i wlan0 –c /etc/wpa_supplicant.conf –wB –D wext
post-down killall –q wpa_supplicant

 Ao final do processo, reinicie a interface de rede utilizando o comando:


Dessa forma a cada inicialização do sistema, durante a configuração da interface de rede, serão aplicados os parâmetros necessários para a configuração do wpa_supplicant, e como a senha de configuração não fica exposta, temos um pouco mais de segurança contra acessos indevidos à rede wireless.


FONTES
  • MORIMOTO, Carlos E. Servidores Linux: Guia Prático. Porto Alegre: Sul Editores, 2011.