Wytor Venancio Náthilla Tavares Pedro Santana Junior Paulo Inácio FreeRadius Um dos melhores serviços de Autenticação, Autorização e Registro. 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 ótima opção já que é bastante completo e disponibiliza variadíssimas funcionalidades. Hoje vamos começar por apresentar a arquitetura AAA e também conhecer melhor o protocolo Radius. Arquitetura AAA A arquitetura 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 (registro) 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 registro, tal como o nome sugere, é o processo de registrar 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 efetuar a autenticação, autorização e registro (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. Atualmente 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; Atualmente 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 projeto). 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 projeto é feito através de VLANs/SSID. etc FreeRADIUS O desenvolvimento do projeto 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. Atualmente o FreeRADIUS suporta um sistema de proxying, load-balance e failover . 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 o Local o LDAP o Bases de dados MySQL/PostgreSQL/Oracle Métodos de autenticação o PAP o CHAP o MS-CHAP o MS-CHAPv2 o Kerberos o EAP EAP-MD5 Cisco LEAP EAP-MSCHAP-v2 EAP-GTC EAP-SIM EAP-TLS Métodos de Accounting o local (ficheiros com informação detalhada) o suporte para SQL (Oracle, MySQL, PostgreSQL, Sybase, IODBC, etc) Requisitos Para proceder à elaboração deste tutorial recorremos a uma máquina virtual com CentOS 6.5. Disco: 15 GB RAM: 2 GB