Aprenda a instalar e configurar o FreeRadius (Parte I)
Um dos melhores serviços de Autenticação, Autorização e Registo.
Um servidor de autenticação permite autenticar utilizadores, máquinas, serviços, etc. Numa rede de dados é muito comum existirem servidores de autenticação de forma a que, por exemplo, só os utilizadores autorizados possam aceder aos mais diversos serviços da rede.
No segmento dos servidores de autenticação, o FreeRadius destaca-se como sendo uma óptima opção já que é bastante completo e disponibiliza variadíssimas funcionalidades. Hoje vamos começar por apresentar a arquitectura AAA e também conhecer melhor o protocolo Radius.
Antes de ensinarmos a instalar e configurar o servidor de autenticação FreeRadius, é importante que se conheça a arquitectura AAA (Authentication, Authorization e Accounting).
Arquitectura AAA
A arquitectura AAA é uma importante tecnologia no auxílio da segurança das redes de telecomunicações. É uma estrutura de segurança independente e centralizada, mas que pode ser configurada em conjunto, de modo consistente e modular. Desta forma é possível controlar os acessos, definir políticas e fazer um logging (registo) dos utilizadores enquanto estes estão ligados.
Autenticação (Authentication)
O processo de autenticação é um processo que consiste em verificar a identidade de um utilizador, ou seja, se o utilizador é quem diz ser. Este processo é fundamental no aspecto da segurança e pode ser de uma forma simples, bastando para isso implementar um mecanismo de suporte à autenticação (ex. um formulário para que solicite um nome de utilizador e palavra-chave) ou então algo mais complexo, recorrendo a informações complementares de “smart-cards” ou certificados digitais.
Autorização (Authorization)
Depois da autenticação de um utilizador, é necessário verificar quais os tipos de serviços/propriedades que se podem conceder (autorizar a este). A autorização pode ser feita a vários níveis, como por exemplo, por horários, por perfil, por acesso, por serviço, etc. De acordo com o tipo de perfil do utilizador é possível definir o tipo de privilégios/restrições.
Registo (Accounting)
O registo, tal como o nome sugere, é o processo de registar a sessão do utilizador. Este serviço é importante, na medida em que é possível fazer a verificação dos tempos de utilização, natureza do serviço e o momento em que o serviço se inicia e termina, para fins de auditoria e contabilização.
Protocolo RADIUS
O RADIUS (Remote Authentication Dial In User Service – Serviço de Autenticação Remota de Utilizadores por Acesso Telefónico), é um protocolo normalmente usado em ISPs e em empresas que façam controlo de acesso à rede. Este protocolo pode ser usado em vários tipos de tecnologia como por exemplo, a tecnologia DSL , wireless e VPN, permitindo efectuar a autenticação, autorização e registo (AAA) do cliente que acede aos serviços. Inicialmente o RADIUS foi criado para ser utilizado em serviços de acesso por telefone, pela sua simplicidade, eficiência e facilidade de implementação. Actualmente suporta VPNs (Virtual Private Network), norma 802.1x que é a usada na autenticação de clientes em ambientes de rede.
As principais características do RADIUS são:
- Protocolo aberto, assim qualquer fabricante/utilizador pode utilizá-lo sem custos;
- É independente do sistema operativo;
- É considerado um protocolo seguro;
- É escalável e expansível, sendo capaz de acompanhar a evolução/necessidades futuras;
- Ser simples de implementar, tanto no lado do servidor RADIUS como no cliente;
Actualmente o serviço RADIUS é o mais utilizado a nível de autenticação de utilizadores e praticamente todos os servidores de acesso remoto suportam este protocolo. O RADIUS recorre à utilização do protocolo UDP e normalmente utiliza os portos 1812 ou 1645 para autenticação e 1813 ou 1646 para accounting. O servidor RADIUS é responsável por:
- Receber os pedidos de ligação dos clientes RADIUS (ex. Pontos de acessos).
- Autenticar os clientes remotos (utilizadores móveis, no âmbito deste projecto).
- Ceder informação de clientes RADIUS (AP) para que este permita ou negue o acesso aos clientes remotos.
- Autorizar os clientes de modo a que estes possam aceder a determinados recursos, que no caso do âmbito do projecto é feito através de VLANs/SSID.
- etc
FreeRADIUS
O desenvolvimento do projecto FreeRADIUS iniciou-se em Agosto 1999 por Alan DeKok e por Miquel Smoorenburg. Este servidor ganhou muita popularidade devido à integração de módulos para o suporte de LDAP, SQL entre outros. Foi também adicionado o suporte para EAP pelos meados de 2001, assim como PEAP e EAP-TTLS em 2003, o suporte EAP é deveras importante, pois é este que é utilizado pelos APs Cisco. Actualmente o FreeRADIUS suporta um sistema de proxying, load-balance e fail-over .
Para quem não sabe, o FreeRadius é um dos servidores de autenticação mais usados pelas Universidades e Politécnicos portugueses, para autenticação, autorização e gestão de utilizadores na rede eduroam.
Principais funcionalidades
- Métodos de autorização
- Local
- LDAP
- Bases de dados MySQL/PostgreSQL/Oracle
- Métodos de autenticação
- PAP
- CHAP
- MS-CHAP
- MS-CHAPv2
- Kerberos
- EAP
- EAP-MD5
- Cisco LEAP
- EAP-MSCHAP-v2
- EAP-GTC
- EAP-SIM
- EAP-TLS
- Métodos de Accounting
- local (ficheiros com informação detalhada)
- suporte para SQL (Oracle, MySQL, PostgreSQL, Sybase, IODBC, etc)
Num próximo tutorial vamos então ensinar a instalar e configurar o servidor de autenticação FreeRadius em CentOS. Para acompanharem este tutorial podem começar já por instalar a vossa máquina virtual com CentOS – ver aqui. Até já.
Este artigo tem mais de um ano
Excelente artigo Pedro, já andava ao tempo para meter as mãos nisto, mas não estava fácil.
Obg.
Excelente artigo! Já andava algum tempo à procura de um tutorial de como configurar o FreeRadius.
Cumps
Grande artigo, por acaso estou a configurar um freeradius com autenticação LDAP para uso do protocolo 802.1x. Espero pelo o próximo artigo 😉 Se puderem falem na integração do ldap no radius.Continuação
Desculpem-me mas tenho de deixar uma observação:
“Aprenda a instalar e configurar o FreeRadius (Parte I)”
Embora o artigo seja bastante interessante, não reflecte o seu título.
“Num próximo tutorial vamos então…”
Considero um artigo informativo mas não de todo um tutorial.
Cumprimentos.
Tudo tem um início, e este já introduz alguns conceitos, que serão explorados nos próximo. Vais gostar.
Parabéns pelo artigo, nos últimos 2 anos este site tem se tornado uma referência no meu aprendizado do dia a dia, cada visita ao site se tornou quase que uma obrigação, na procura de novos conhecimentos parabéns a equipe pplware, pela dedicação em transmitir conhecimento de qualidade aos seus leitores.
Para quando está prevista a II Parte?
Boas malta,
Desculpem a minha noobice, mas gostava de saber se era de alguma forma viável ter o FreeRadius a funcionar no RaspBerry Pi.
Pelo que estive a ler o CentOS não é compatível com o Pi. Alguma sugestão?
Já trabalhei com isso e não é pera doce, mas nada que o seja mete piada. Parabéns 😀
Tem algum material ensinando a fazer autenticação de USUARIOS em ACCESS POINT em cima de RADIUS usando login e senha do OPENLDAP ???