Instalação FreeRadius 3
Por: Maykon Facincani • 12/4/2016 • Artigo • 1.915 Palavras (8 Páginas) • 705 Visualizações
AUTENTICAÇÃO 802.1X COM FREERADIUS 3.0 E POSTGRESQL
Maykon Henrique Facincani
maykon@iturama.uftm.edu.br
Técnico de Tecnologia da Informação
Universidade Federal do Triângulo Mineiro
Campus Iturama
Copyleft© 2015
- INTRODUÇÃO
Este documento tem como finalidade definir o processo de configuração de um servidor de autenticação RADIUS (Remote Authentication Dial-In User Service ou Serviço de Autenticação Remota Dial-In de Usuários) utilizando o FreeRadius, que é um software livre que utiliza o protocolo RADIUS, associado ao banco de dados em PostgreSQL, sendo todo o procedimento realizado no Debian 7.
- RADIUS
RADIUS é um protocolo de autenticação, autorização e gerenciamento de contas de usuário, é utilizado para administrar o acesso remoto e mobilidade IP.
- PROTOCOLO RADIUS
A autenticação gerenciada por esse protocolo se faz mediante um nome de usuário e senha, essas informações são então processadas em um NAS (Network Access Server ou Servidor de Acesso à Rede) através de PPP (Point-to-Point Protocol ou Protocolo Ponto-a-Ponto) sendo validada pelo servidor RADIUS através do protocolo correspondeste valendo-se de diversos métodos de autenticação, como PAP (Password Authentication Protocol ou Protocolo de Autenticação de Senha), CHAP (Challenge-Handshake Authentication Protocol ou Protocolo de Autenticação de Cumprimento de Desafio) ou EAP (Extensible Authentication Protocol ou Protocolo de Autenticação Extensível) e permitindo o acesso ao sistema.
- FREERADIUS
Projeto iniciado em 1999 por Alan DeKok y Miquel van Smoorenburg, sendo uma alternativa livre a outros servidores RADIUS, se tornando um dos mais completos e versáteis graças aos módulos que o integram, podendo operar tanto em sistemas pequenos, com recursos limitados, ou outros atendendo milhares de usuários.
- INSTALAÇÃO
Durante a realização deste documento a versão mais atual do FreeRadius era a 3.0.10, caso o link disponibilizado neste documento esteja quebrado, acesse o site http://www.freeradius.org para encontrar a versão mais atual para download.
$ cd /usr/local/src
$ wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-3.0.10.tar.gz
$ tar -zxvf freeradius-server-3.0.10.tar.gz
$ cd freeradius-server-3.0.10
Instalação das dependências para construção do .deb, conforme as orientações da documentação oficial.
$ apt-get install quilt libcap-dev libjson0 libjson-c2 libjson0-dev libjson-c-dev libreadline-dev libsqlite3-dev libtalloc-dev libwbclient-dev libyubikey-dev libykclient-dev libmemcached-dev libhiredis-dev libcurl4-openssl-dev dpkg-dev
Construção dos instaladores .deb e instalação do FreeRadius.
$ apt-get build-dep freeradius
$ dpkg-buildpackage -b -uc
$ cd ..
$ dpkg -i *freeradius*.deb
Após a conclusão da instalação os instaladores estarão em /etc/freeradius.
- TESTES INICIAIS
O objetivo aqui é testar o funcionamento do serviço com um teste básico, onde configuremos para o servidor aceitar requisições locais e consultar o arquivo users, que é apenas um link simbólico para o arquivo /etc/freeradius/mods-config/files/authorize.
No arquivo /etc/freeradius/radiusd.conf procure a seção log, dentro dela os seguintes parâmetros foram alterados para yes:
- auth: Loga as requisições de autenticação;
Também foi alterado o parâmetro proxy_requests para no, uma vez que nosso sistema não funcionará como proxy para outro servidor RADIUS, e como consta no próprio arquivo ao desativar esse recurso economizaremos um pouco dos recursos do servidor.
No arquivo /etc/freeradius/mods-enabled/eap substitua default_eap_type = md5 por default_eap_type = ttls.
No arquivo /etc/freeradius/users adicionaremos no início do arquivo a seguinte linha, que será o usuário utilizado para o teste.
bob Cleartext-Password:="hello"
Iniciaremos então o radius em modo debug para a verificação de algum erro que possa ter passado despercebido nos arquivos de configuração.
$ service freeradius stop
$ freeradius -X
Com um outro terminal aberto utilizamos o utilitário de testes radtest, instalado junto com o freeradius.
$ radtest bob hello localhost 0 testing123
Devemos ter uma resposta com o seguinte formato:
Sent Access-Request Id 229 from 0.0.0.0:47118 to 127.0.0.1:1812 length 73
User-Name = "bob"
User-Password = "hello"
NAS-IP-Address = 192.168.1.80
NAS-Port = 0
Message-Authenticator = 0x00
Cleartext-Password = "hello"
Received Access-Accept Id 229 from 127.0.0.1:1812 to 0.0.0.0:0 length 20
Analisando a última linha do retorno podemos ver Access-Accept, isso significa que o nosso servidor já está funcionando corretamente, caso o retorno seja Access-Reject, reveja os passos efetuados e tente novamente.
- CONFIGURAÇÃO DO AP
Nesse ponto já podemos definir no AP servidor RADIUS fazendo as consultas das requisições de autenticação no arquivo users.
...