Daloradius


🔎 O que é o daloRADIUS?

O daloRADIUS é uma interface web baseada em PHP para gerenciamento de servidores FreeRADIUS. Ele oferece uma maneira gráfica e mais acessível de gerenciar autenticações de rede, contas de usuários, perfis, grupos e estatísticas.

  • Ele funciona como front-end do FreeRADIUS, que é um servidor de autenticação, autorização e contabilização (AAA) para redes.

  • Normalmente é usado em conjunto com bancos de dados MySQL/MariaDB.


🎯 Para que serve o daloRADIUS?

O daloRADIUS serve principalmente para:

  • Criar, editar e excluir usuários e grupos.

  • Definir limites de tempo, velocidade de banda, número de conexões simultâneas.

  • Integrar com captive portals (ex: para Wi-Fi de hotéis ou cafés).

  • Gerar relatórios de uso, sessões, logs de autenticação e erros.

  • Monitorar contabilidade (accounting) de uso da rede.

  • Oferecer administração multiusuário com diferentes permissões.


✅ Vantagens do uso do daloRADIUS

VantagemDescrição
🖥️ Interface WebFacilita o uso por administradores sem experiência em linha de comando.
📊 Estatísticas e gráficosOferece relatórios visuais de conexões e uso de rede.
👥 Gerenciamento de usuáriosCriação de contas, limites de acesso e perfis personalizados.
🧩 IntegraçãoFunciona bem com captive portals (ex: CoovaChilli, pfSense, MikroTik).
🔐 Suporte a métodos de autenticaçãoInclui PAP, CHAP, MSCHAPv2, EAP, entre outros.
🗂️ Banco de dadosPermite backend MySQL para fácil consulta e integração.

⚠️ Riscos de segurança comuns no daloRADIUS

Como qualquer aplicação web, o daloRADIUS precisa ser corretamente configurado para evitar riscos. Alguns dos problemas mais comuns incluem:

1. Credenciais padrão ou fracas

  • O painel web pode ser comprometido se o admin esquecer de alterar administrator:radius ou usar senhas fracas.

2. Conexões não criptografadas (HTTP ao invés de HTTPS)

  • Se acessado via HTTP, senhas e dados de usuários podem ser interceptados (MITM).

3. Exposição à internet

  • Deixar o daloRADIUS acessível publicamente sem firewall/VPN aumenta risco de ataques.

4. SQL Injection

  • Se não atualizado, versões antigas podem ser vulneráveis a injeções SQL.

5. Falta de isolamento do banco de dados

  • Banco de dados usado pelo daloRADIUS pode ser acessível por usuários não autorizados.

6. Permissões excessivas no MySQL

  • O usuário do banco usado pelo daloRADIUS pode ter privilégios desnecessários (como DROP DATABASE).

7. Logs sensíveis

  • Informações de autenticação podem ser armazenadas em logs sem proteção adequada.

🔐 Boas práticas de segurança para o daloRADIUS

  • Use HTTPS (SSL/TLS) no servidor web.

  • Altere as credenciais padrão imediatamente.

  • Restrinja o acesso ao painel web por IP ou VPN.

  • Atualize o daloRADIUS e o FreeRADIUS regularmente.

  • Use firewall para limitar conexões externas à porta do daloRADIUS (geralmente 80/443).

  • Faça backups regulares do banco de dados e configurações.

  • Revise permissões do banco de dados e do sistema de arquivos.


Vamos montar um ambiente com FreeRADIUS + daloRADIUS em um servidor Linux. Abaixo está um guia passo a passo para instalar e configurar tudo em uma máquina com Ubuntu Server 20.04+ (funciona em outras distros com ajustes).


🏗️ Objetivo:

  • Instalar o FreeRADIUS

  • Configurar o MySQL/MariaDB como backend

  • Instalar e configurar o daloRADIUS

  • Ter uma interface web para gerenciar usuários e autenticações


✅ Pré-requisitos

Você precisa de:

  • Uma máquina com Ubuntu Server

  • Acesso com sudo/root

  • Servidor web (Apache) e PHP

  • Conexão com a internet


🚀 Passo a Passo

🔹 1. Atualize o sistema

sudo apt update && sudo apt upgrade -y

🔹 2. Instale FreeRADIUS + MariaDB + Apache + PHP

sudo apt install freeradius freeradius-mysql mariadb-server apache2 php php-mysql php-cli php-gd php-curl php-pear php-db php-mbstring unzip git -y

🔹 3. Configure o banco de dados

Acesse o MySQL:

sudo mysql -u root

Crie banco e usuário:

CREATE DATABASE radius;
GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'senhaforte';
FLUSH PRIVILEGES;
EXIT;

🔹 4. Popule o banco com o schema do FreeRADIUS

sudo mysql -u root radius < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql

🔹 5. Configure o FreeRADIUS para usar SQL

Edite o arquivo:

sudo nano /etc/freeradius/3.0/mods-available/sql

Altere:

driver = "rlm_sql_mysql"
dialect = "mysql"
server = "localhost"
port = 3306
login = "radius"
password = "senhaforte"
radius_db = "radius"

Ative o módulo:

sudo ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/

Reinicie o serviço:

sudo systemctl restart freeradius

🔹 6. Baixe e instale o daloRADIUS

cd /var/www/html
sudo git clone https://github.com/lirantal/daloradius.git
sudo mv daloradius /var/www/html/daloradius
cd /var/www/html/daloradius
sudo mysql -u root radius < contrib/db/fr2-mysql-daloradius-and-freeradius.sql
sudo mysql -u root radius < contrib/db/mysql-daloradius.sql

🔹 7. Configurar o Apache

Dê permissões:

sudo chown -R www-data:www-data /var/www/html/daloradius

Crie um virtualhost se quiser, ou acesse via http://ip_do_servidor/daloradius.


🔹 8. Configure o arquivo de conexão ao banco

Edite:

sudo nano /var/www/html/daloradius/library/daloradius.conf.php

Altere:

$configValues['CONFIG_DB_USER'] = 'radius';
$configValues['CONFIG_DB_PASS'] = 'senhaforte';
$configValues['CONFIG_DB_NAME'] = 'radius';

🔹 9. Acesse o daloRADIUS

Navegue até:
🔗 http://IP_DO_SERVIDOR/daloradius

Login padrão:

  • Usuário: administrator

  • Senha: radius


🛡️ Dicas de segurança

  • Altere a senha do admin no primeiro login.

  • Configure HTTPS com Let’s Encrypt ou um certificado próprio.

  • Restrinja o acesso ao painel por IP ou com autenticação básica do Apache.

  • Faça backups do banco de dados regularmente.