REDE ONLINE · 7 fabricantes · 84 artigos · 1.2k comandos
v2.1.0 PT_BR
CircuitoCarioca
Home
↳ Visão geral Datacom Nokia Huawei Mikrotik Cisco Intelbras Parks
↳ Visão geral VLAN QinQ MPLS BGP OSPF
Ferramentas
↳ Visão geral Linux Windows Zabbix Grafana LibreNMS Firewall VPN Hardening
Wiki Comunidade Sobre
entrar cadastrar
autenticação · interface web · billing

daloRADIUS

Interface web de gerência sobre o FreeRADIUS — cadastro de cliente, planos, relatórios, desconexão remota e billing básico. Da instalação à operação segura em produção.

Nesta página

1. Contexto e posicionamento 2. Arquitetura e modelo de dados 3. Pré-requisitos 4. Instalação 5. Arquivo de configuração 6. Segurança — credencial padrão e hardening 7. Funcionalidades principais 8. Operação do dia a dia 9. Customização e extensibilidade 10. Backup e recuperação 11. Performance e boas práticas 12. Comparação com alternativas 13. Troubleshooting 14. Glossário 15. Referências

1. Contexto e posicionamento

O daloRADIUS é uma aplicação web em PHP, open‑source (GPLv2), criada por Liran Tal e mantida pela comunidade. Ela funciona como uma camada de gerência gráfica sobre o FreeRADIUS, utilizando o mesmo banco de dados MySQL/MariaDB — não duplica informações, apenas lê e escreve nas tabelas RADIUS padrão (radcheck, radreply, radacct, etc.) e adiciona algumas tabelas próprias para operadores, billing e logs.

No ecossistema de um ISP brasileiro, o daloRADIUS ocupa a posição de interface do NOC: permite que operadores cadastrem clientes, alterem planos, visualizem sessões ativas e gerem relatórios de uso sem precisar acessar o terminal do servidor ou executar comandos SQL manualmente. Isso reduz o risco de erros operacionais e acelera o atendimento ao cliente.

2. Arquitetura e modelo de dados

O daloRADIUS é estruturado como uma aplicação PHP tradicional (sem framework pesado), com lógica de negócio nas bibliotecas em library/ e interface gerada dinamicamente. Ele se conecta ao banco do FreeRADIUS usando as credenciais definidas no arquivo daloradius.conf.php.

Tabelas próprias adicionadas (além das tabelas RADIUS padrão):

TabelaFunção
operatorsContas de acesso ao daloRADIUS (login, senha com hash, ACL).
billing_historyRegistros de pagamento de faturas.
billing_plansDefinição de planos de cobrança.
userinfoInformações adicionais de cadastro (nome completo, e‑mail, endereço, etc.).
dictionary (próprio)Mapeamento de atributos RADIUS para a interface (ex.: nomes amigáveis).

3. Pré-requisitos

  • FreeRADIUS instalado e funcional com backend MySQL/MariaDB.
  • Apache (ou Nginx com PHP‑FPM) + PHP 7.4+.
  • Extensões PHP: mysqli, gd, mbstring, curl, xml, json.
  • Acesso ao banco radius com permissões de leitura/escrita.

4. Instalação

apt update
apt install apache2 php libapache2-mod-php php-mysqli php-gd \
    php-mbstring php-xml php-curl unzip wget -y

wget https://github.com/lirantal/daloradius/archive/refs/heads/master.zip
unzip master.zip -d /var/www/html/
mv /var/www/html/daloradius-master /var/www/html/daloradius
chown -R www-data:www-data /var/www/html/daloradius

# Importar o schema próprio do daloRADIUS (tabelas de operadores, billing, logs)
mariadb -u radius -p radius < /var/www/html/daloradius/contrib/db/mysql-daloradius.sql

5. Arquivo de configuração

Editar library/daloradius.conf.php com os dados de conexão do banco radius:

$configValues['CONFIG_DB_ENGINE'] = 'mysqli';
$configValues['CONFIG_DB_HOST']   = 'localhost';
$configValues['CONFIG_DB_PORT']   = '3306';
$configValues['CONFIG_DB_USER']   = 'radius';
$configValues['CONFIG_DB_PASS']   = 'senha-forte-aqui';
$configValues['CONFIG_DB_NAME']   = 'radius';

Após editar, reinicie o Apache e acesse: http://SEU_SERVIDOR/daloradius/login.php.

6. Segurança — credencial padrão e hardening

6.1 Credencial padrão — o risco mais subestimado

O login padrão de fábrica é administrator / radius. É público, documentado e a primeira coisa que qualquer atacante tenta. Trocar essa credencial é o primeiro passo pós-instalação, não uma tarefa opcional.

6.2 Hardening adicional

  • HTTPS obrigatório — configurar certificado TLS (Let's Encrypt) no Apache/Nginx. Nunca exponha a interface de operadores em HTTP.
  • Isolamento do painel — restrinja o acesso ao diretório /daloradius/ por IP (allowlist) ou exija VPN para acesso ao painel de operadores. O portal de autoatendimento (se usado) pode ser público.
  • 2FA (TOTP) — ative autenticação de dois fatores para contas de operadores (disponível nas versões recentes).
  • Headers de segurança — configure X-Frame-Options, Content-Security-Policy e Strict-Transport-Security no servidor web.
  • PHP hardening — desabilite funções perigosas (exec, shell_exec, system) no php.ini do pool do Apache, a menos que estritamente necessário.
  • Logs de auditoria — o daloRADIUS mantém logs próprios de ações dos operadores. Monitore‑os para detectar acessos suspeitos.

7. Funcionalidades principais

  • Gestão de usuários — cadastro, edição, associação a planos/grupos.
  • Test User Connectivity — testa credenciais diretamente pela interface.
  • Disconnect User — envia PoD (Packet of Disconnect) ao NAS com um clique.
  • Relatórios gráficos — uso por cliente, top consumidores, sessões ativas.
  • Engine de billing básico — planos, faturas, histórico de pagamentos.
  • Multi‑operador com ACL — permissões granulares por conta.
  • 2FA (TOTP) — camada extra de segurança para login.
  • Mapa de hotspots — integração com geolocalização (Google Maps).
  • Logs centralizados — ações na interface, logs do RADIUS e do sistema.

8. Operação do dia a dia

Fluxo típico do NOC: cliente reporta instabilidade → operador busca o usuário no daloRADIUS → verifica sessão ativa, dados de accounting (bytes, IP, uptime) → se necessário, usa "Disconnect User" para forçar reconexão limpa → analisa gráfico de tráfego para identificar padrões anômalos (ex.: consumo 24/7 no limite do plano pode indicar equipamento comprometido ou mal configurado).

9. Customização e extensibilidade

O daloRADIUS permite adaptações comuns em ISPs:

  • Logo e identidade visual — substituir o logo padrão na pasta de temas.
  • Campos personalizados — adicionar atributos RADIUS customizados ao cadastro de usuários.
  • Relatórios customizados — criar consultas SQL próprias e expô‑las na interface.
  • Portal de autoatendimento — permite que o próprio cliente veja seu consumo e faturas, reduzindo chamados ao NOC.

10. Backup e recuperação

Além do backup do banco radius (que contém as tabelas do FreeRADIUS e do daloRADIUS), é importante incluir:

  • O diretório /var/www/html/daloradius/ (arquivos de configuração, customizações de temas e logos).
  • O arquivo library/daloradius.conf.php (credenciais do banco e configurações da interface).
  • As tabelas próprias do daloRADIUS (operators, billing_history, etc.).

Siga a regra 3‑2‑1‑1‑0 e teste a restauração periodicamente. Consulte as páginas de restic ou Borg para scripts de backup automatizado.

11. Performance e boas práticas

  • Índices no banco — certifique‑se de que as tabelas radacct e billing_history tenham índices em username, acctstarttime e acctstoptime.
  • Cache de consultas — o daloRADIUS pode usar cache interno para reduzir consultas repetitivas ao banco. Verifique as opções em daloradius.conf.php.
  • Limitar relatórios pesados — consultas de relatórios gráficos (ex.: top consumidores do último ano) podem ser pesadas em bases grandes. Agende‑as para horários de menor uso ou use replicação MySQL para isolá‑las.
  • Separação de servidores — em ISPs maiores, considere rodar o Apache/PHP do daloRADIUS em um servidor separado do FreeRADIUS, conectando‑se ao mesmo banco.

12. Comparação com alternativas

Existem outras interfaces web para gerenciamento de RADIUS, mas nenhuma com a mesma adoção no mercado brasileiro de ISPs:

FerramentaCaracterísticasStatus
daloRADIUSInterface completa, billing básico, ativa, comunidade grande, TOTP, logs.Ativo (mantido pela comunidade)
phpRADminMais leve, só gerencia tabelas RADIUS, sem billing.Descontinuado / pouca atividade
Easy‑RADIUSComercial, suporte oficial, mais recursos de billing.Comercial, pago

13. Troubleshooting

Tela em branco / erro 500

Extensão PHP faltando — verifique o log do Apache (/var/log/apache2/error.log) para identificar qual módulo está ausente.

"Disconnect User" não funciona

Porta 3799/UDP (CoA/PoD) precisa estar liberada entre o servidor e o NAS. Verifique também a configuração do NAS (Mikrotik) para aceitar esses pacotes.

Relatórios não batem com o real

O accounting precisa estar ativo no FreeRADIUS e no NAS (interim-update). O daloRADIUS apenas exibe os dados que estão em radacct.

14. Glossário

PoD Packet of Disconnect — comando RADIUS para encerrar uma sessão ativa.
CoA Change of Authorization — altera atributos de uma sessão sem derrubá-la.
ACL Access Control List — controle de permissões por operador.
TOTP Time‑based One‑Time Password — senha temporária para autenticação de dois fatores.
Interim‑Update Pacote periódico de accounting enviado pelo NAS durante a sessão.
Billing Engine Módulo de cobrança que gera faturas e registra pagamentos.
Self‑Service Portal Portal de autoatendimento onde o cliente final consulta seus dados de uso e faturas.

15. Referências

  • Repositório oficial daloRADIUS (GitHub) — documentação de instalação, changelog.
  • RFC 5176 — Dynamic Authorization Extensions to RADIUS (CoA/PoD).
  • RFC 2865/2866 — RADIUS Authentication e Accounting.
  • Páginas relacionadas: FreeRADIUS, Conceitos de AAA, LGPD.

Conteúdo técnico independente. Nenhum trecho é cópia literal de fonte de terceiro.