Post on 25-Oct-2015
Servidor de RADIUS
Autoria de Tiago Maia
Índice
Introdução .................................................................................................................................................................... 1
Servidor de Radius ........................................................................................................................................................ 2
Instalação do Ubuntu Server 10.04.2 LTS ................................................................................................................. 3
Configuração inicial do Ubuntu Server ................................................................................................................... 11
Root .................................................................................................................................................................... 11
Configuração da rede ......................................................................................................................................... 11
Actualizar Ubuntu ................................................................................................................................................... 12
Instalações de componentes básicos ................................................................................................................. 12
Instalação de freeRADIUS e a Base de Dados ......................................................................................................... 13
Criar base de dados ............................................................................................................................................ 13
Configuração freeRADIUS ................................................................................................................................... 13
Mudar a autorização para SQL ........................................................................................................................... 15
Adicionar e testar utilizador ............................................................................................................................... 16
Instalação do CoovaChilli ........................................................................................................................................ 17
Configuração do CoovaChilli ............................................................................................................................... 17
Testar a configuração ......................................................................................................................................... 19
Configuração da página de Login ........................................................................................................................ 19
Instalação e configuração do Haserl ................................................................................................................... 21
WEB interfaces ....................................................................................................................................................... 23
DaloRADIUS ........................................................................................................................................................ 23
Webmin .............................................................................................................................................................. 26
Introdução
1
Introdução
Neste documento provém fundamentalmente de um trabalho proposto, montagem e configuração de um
servidor de RADIUS. Desta forma, explico nas próximas páginas a instalação e configuração passo por passo.
Neste servidor, o objectivo é ter a aplicação CoovaChilli operacional a distribuir IPs (serviço DHCP) e a página de
autenticação aos utilizadores que se liguem via Wireless (sem fios) ao servidor. Onde a aplicação freeRADIUS
encarrega-se do registo e verificação da autenticação.
O freeRADIUS é uma implementação de RADIUS modular, de alta performance e rica em opções e
funcionalidades. Esta inclui servidor, cliente, bibliotecas de desenvolvimento e muitas outras utilidades. Pode ser
instalada em sistemas Linux e Machintosh. Devido a estas características e tendo em conta o facto de ser uma
aplicação open source (código aberto) esta será a implementação de RADIUS utilizada para o desenvolvimento do
trabalho.
Servidor de Radius - Hotspot
2
Servidor de Radius
O RADIUS é um protocolo que visa a autenticação, autorização e gestão de utilizadores, para acesso à rede ou
serviços de rede (conceito AAA). RADIUS é normalmente usado para gerir e tornar mais seguro o acesso à Internet
ou a redes internas. O Protocolo RADIUS baseia-se num sistema cliente/servidor. O Servidor de RADIUS utiliza o
conceito AAA para gerir o acesso à rede. Este conceito refere-se aos processos de autenticação e autorização e
contabilização (accounting) que são utilizados para estabelecer uma ligação à Internet ou utilizar aplicações de
acesso à rede. Uma rede ou serviço de rede que utilize o protocolo RADIUS necessita de autenticação para
permitir a ligação deste utilizador/dispositivo a esta. Após autenticação é determinado quais são os privilégios a
que o utilizador autenticado está autorizado, e é contabilizado (accounting) e gravado o acesso deste no servidor
RADIUS, de modo a haver uma melhor gestão e controle de acessos. O RADIUS tornou-se assim numa ferramenta
necessária para controlo e segurança de acessos à rede de Internet ou redes internas.
Servidor de Radius - Hotspot
3
Instalação do Ubuntu Server 10.04.2 LTS
1- Seleccionar o leitor de CD/DVD para arranque de boot, e arrancar o cd do Ubuntu em boot.
2- Seleccionar a língua que pretende e “Install Ubuntu Server” para inicializar a instalação.
3- Seleccionar a localização e o layout do teclado seguindo as instruções.
4- Permitir que a “instalador” detecte o hardware do computador, onde vai ser instalado.
5- Visto que o computador tem duas placas de rede, vai perguntar qual delas quer como primário.
a. Eth0 – Rede externa, conectado à internet e aos outros pcs da rede.
b. Eth1 – Rede local, vai disponibilizar internet mas vai estar distinta de toda a rede.
Servidor de Radius - Hotspot
4
6- Quando se pedir um hostname, escolhe-se algo descritivo para a sua localização. Este nome é usado para
identificar o sistema de suporte remoto. Como exemplo defini o hostname de wifiserver.
7- De seguida fará a configuração do relógio. Caso esteja automaticamente seleccionada e errada, basta
seleccionar a correcta e confirmar.
Servidor de Radius - Hotspot
5
8- Próximo passo o “instalador” questiona sobre o particionamento do disco.
a. Escolhe-se a primeira opção, usar o particionamento guiado e usar todo o disco para instalação.
b. Depois dessa etapa pede para confirmar as alterações que pede para escrever no disco, segundo
as instruções.
9- Irá então iniciar a instalação do sistema base, após a confirmação das alterações que irão ser feitas no disco.
Servidor de Radius - Hotspot
6
10- A instalação do Ubuntu Server inicializa. O tempo de demora da instalação vai depender do hardware que o
computador constitui, onde está a ser instalado.
11- Após concluído a instalação adicionar o nome completo à nova conta de utilizador.
Servidor de Radius - Hotspot
7
12- Adicionar agora, nesta etapa, o nome de utilizador que vai ser usar para login.
13- Depois inserir a password que o utilizador vai precisar para o acesso ao sistema operativo e aos serviços
do server:
a. Reintroduzir novamente a password, para a confirmação.
Servidor de Radius - Hotspot
8
14- Neste passo irá questionar se quer a directoria /home encriptada, mas como não será um computador
pessoal então não terá essa necessidade, desta forma, aqui escolha No.
15- Caso tenha servidor Proxy adicione o endereço conforme a representação standard. Se não tem ou tem
dúvidas, deixe em branco, pois mais tarde pode-o reconfigurar.
Servidor de Radius - Hotspot
9
16- Convém optar por escolher, neste próximo passo, No Automatic Updates. Isto é, prevenir que não haja
actualizações automáticas, com forma de prevenir também uma futura manutenção no sistema. Pois,
algumas actualizações actuais poderão vir a ser instaladas e poderão não ser compatíveis com as
aplicações “antigas” que estão instaladas no sistema.
17- Em Software Selection seleccione o pacote de software LAMP Server (Linux Apache Mysql PHP) e o
OpenSSH Server. OpenSSH é um conjunto de programas que usam o protocolo SSH para aceder
remotamente noutro computador ao Server (ou vice-versa) por vários meios. Quanto ao Mysql, durante a
sua configuração automática vai pedir para definir uma palavra-chave, guarde-a em algum lugar para que
não se esqueça, pois vai necessitar para completar alguns passos.
Nota: Por exemplo, no Windows, pode aceder ao servidor Ubuntu por SSH, use aplicação Putty e/ou WinSCP.
Servidor de Radius - Hotspot
10
18- Para finalizar a instalação e configuração do sistema Ubuntu Server, instale o GRUB boot loader to the
master boot record escolhendo Yes.
19- E pronto, a instalação do sistema base já está completa. Pressione Continue e remova o disco do leitor de
CD/DVD.
Servidor de Radius - Hotspot
11
Configuração inicial do Ubuntu Server
Root
Para fazer as instalações mais fáceis e ter permissões e privilégios para pequenas alterações, tem que criar o
superutilizador (root):
$sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
$su root
Password:
Depois, basta fazer logout e entrar como root ou digitar:
$su
Enter password:
#
Configuração da rede
A rede está configurada por DHCP, mas podemos reconfigurar para IP estático. Editando o script interfaces,
localizado na directoria /etc/network/.
#nano /etc/network/interfaces
Em princípio o script está assim definido por defeito:
auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp auto eth1
Se quiser definir como IP estático, edite para esta forma com IPs de exemplo:
# The primary network interface auto eth0 iface eth0 inet static address 192.168.10.1 netmask 255.255.255.0 gateway 192.168.10.254 network 192.168.10.0 broadcast 192.168.10.255 auto eth1
Para a placa eth1 não define por DHCP nem por STATIC, define-a por MANUAL. Pois, a aplicação CoovaChilli vai-se
encarregar de configurar automaticamente o DHCP, irá ver mais à frente.
auto eth1
Servidor de Radius - Hotspot
12
iface eth1 inet manual
Guarde, feche e reinicie a rede para actualizar as configurações definidas.
#/etc/init.d/networking restart
Para visualizar o IP que a máquina tem ou obteve:
#ifconfig
Ou:
#ip addr
Actualizar Ubuntu
Se não estiver “logado” como root precisa de digitar “sudo” antes do comando para poder ter executa-lo com
privilégios:
$sudo apt-get update && sudo apt-get upgrade
Instalações de componentes básicos
Antes de iniciar a instalação e a configuração das aplicações importantes para o funcionamento do Hotsopt, vai
ser necessário alguns componentes essenciais para essas aplicações, pelo terminal o seguinte comando.
$sudo aptitude install apache2 ssl-cert php5-gd php-db php-pear libapache2-mod-php5
mysql-server mysql-client freeradius freeradius-mysql phpmyadmin freeradius-utils
gcc
Depois do Apache2 estar instalado, execute cada comando sucessivamente, “logado” como root:
#a2enmod ssl
# a2ensite default-ssl # service apache2 restart
Servidor de Radius - Hotspot
13
Instalação de freeRADIUS e a Base de Dados
Criar base de dados
A base de dados é o “local” onde vai estar alojado todos os dados dos utilizadores que serão definidos para
autenticação no freeRADIUS. Estes dados já tem tabelas definidas por defeito, de meio caminho andado basta só
apenas instalar no Mysql.
Sessão iniciada como “root”, crie a Base dados pelo terminal:
#mysql –u root –p
Enter password:
mysql> CREATE DATABASE radius;
mysql> quit;
Instalar/inserir as tabelas da base de dados, radius, que foi acabada de criar. Novamente pelo terminal:
# mysql -u root -p radius < /etc/freeradius/sql/mysql/schema.sql
# mysql -u root -p radius < /etc/freeradius/sql/mysql/nas.sql
Adicionar privilégios na base de dados:
# mysql -u root -p Enter password:mysqladminsecret
mysql> GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost' IDENTIFIED BY
'mysqlsecret';
mysql> FLUSH PRIVILEGES;
mysql> quit;
Nota: Substituía entre pliques ‘mysqlsecret’ pela sua palavra-chave (senha) do Mysql, aquela que definiu quando
instalou.
Configuração freeRADIUS
A configuração do freeRADIUS baseia-se na edição de alguns scripts files, com forma de poder aceder ao controlo
do programa. Poderá consultar ajuda na página oficial http://freeradius.org/doc/ ou pelo comando man
freeradius.
Usando um editor pelo terminal, por exemplo Nano ou Vi irá editar o arquivo /etc/freeradius/sql.conf:
# nano -w /etc/freeradius/sql.conf
Edite as linhas que contêm o seguinte conteúdo entre aspas, pelos dados que optou para o Mysql:
server = "localhost" login = "root" password = "mysqlsecret"
Edite agora o arquivo /etc/freeradius/clients.conf editando e definindo a palavra-chave em “secret” para o
Freeradius:
client localhost { ipaddr = 127.0.0.1
Servidor de Radius - Hotspot
14
secret = radiussecret }
Nota: radiussecrect →Pode ser a mesma palavra-chave que tem definido para o Mysql (“mysqlsecret”).
Edite o arquivo /etc/freeradius/users desfazer o comentário, isto é, apagar os cardinais (#) no arquivo para que
programa não ignora as linhas que estavam comentadas:
#nano -w /etc/freeradius/users
Nas seguintes linhas, apague o comentário (o cardinal, “#”):
# "John Doe" Auth-Type := Local, User-Password == "hello" # Reply-Message = "Hello, %u"
De maneira ficar apenas assim:
"John Doe" Auth-Type := Local, User-Password == "hello" Reply-Message = "Hello, %u"
Reinicie o sistema para que afecte as alterações feitas:
#reboot
Inicie a sessão como root, pare a execução do freeRADIUS, de forma poder executar o debug para visualizar se há
algum erro:
#sudo /etc/init.d/freeradius stop
#sudo freeradius -XXX
Após o debug executado, irá surgir com sucesso o seguinte resultado no terminal:
Nota:(Control+C para sair ou cancelar)
Se aqui neste passo, surgiu algum erro. Então, o resultado do debug indicará a origem do erro e dessa forma terá
corrigir consoante o file e a linha de código que indicará.
Seguidamente, teste a autorização de password para o ficheiro, de forma se o freeRADIUS está aceitar
autorizações para prosseguir para o próximo passo:
$sudo radtest "John Doe" hello 127.0.0.1 0 radiussecret
Irá surgir um resultado parecido como o seguinte:
Servidor de Radius - Hotspot
15
Sending Access-Request of id 136 to 127.0.0.1 port 1812 User-Name = "John Doe" User-Password = "hello" NAS-IP-Address = 255.255.255.255 NAS-Port = 0 rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=136, length=37 Reply-Message = "Hello, John Doe"
Explicar a lógica do comando:
radtest → comando útil para testar login do freeRADIUS "John Doe" → utilizador que foi activado no arquivo hello → senha do utilizador localhost → maquina ou IP onde de encontra o servidor de Radius 1812 → porta onde está a escutar radiussecret → palavra secreta do freeRADIUS
Se neste ponto, o retorno dos testes surgiram negativos. Convém fazer uma revisão nos arquivos editados e
verificar o problema, para que nos próximos passos se suceda sem qualquer problema.
Mudar a autorização para SQL
Se os testes anteriores estão a funcionar correctamente, então já pode fazer alteração da autorização do “file”
para “sql”. Isto é, ligar as contas e autorizações dos utilizadores no freeRADIUS à base dados (radius) que criou no
Mysql.
Vá novamente a este arquivo /etc/freeradius/sql.conf:
#nano –w /etc/freeradius/sql.conf
Tire o cardinal (#) na seguinte linha:
#readclients = yes
Ficando da seguinte forma, salve e feche:
readclients = yes
Edite agora o arquivo /etc/freeradius/sites-enabled/default. Este arquivo é mais extenso e convém ter atenção à
sua edição. Em primeiro lugar irá adicionar o cardinal (#), comentar a linha de código onde se encontra a palavra
“files” e depois terá que remover todos cardinais onde encontram as palavras “sql” nas respectivas secções:
authorize { files # sql } accounting { # sql } session { # sql }
Servidor de Radius - Hotspot
16
Ficando da seguinte forma:
authorize { # files sql } accounting { sql } session { sql } Já para finalizar a configuração da autorização, terá que editar o seguinte arquivo /etc/freeradius/radiusd.conf:
#nano /etc/freeradius/radiusd.conf
E tirar o cardinal (#) na seguinte linha:
#$INCLUDE sql.conf
De forma ficar assim:
#$INCLUDE sql.conf
Nota: Esta edição no arquivo /etc/freeradius/radiusd.conf só se aplica à versão 2.X.X do freeRADIUS.
Adicionar e testar utilizador
Agora teste o funcionamento de registo de utilizadores no Mysql para autenticação no freeRADIUS, registando
um utilizador e verificar a conexão:
#mysql –u root -p
Enter password:
mysql>use radius;
mysql>INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('utilizadorteste',
'Password', 'passteste');
mysql>exit;
bye
Agora reinicie o freeRADIUS e teste a conexão:
#/etc/init.d/freeradius restart
#radtest utilizadorteste passteste 127.0.0.1 1812 radiussecret
Se obteve um resultado positivo, como exemplo:
Sending Access-Request of id 94 to 127.0.0.1 port 1812 User-Name = "usertemp" User-Password = "senhatemp" NAS-IP-Address = 127.0.1.1 NAS-Port = 1812 rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=94, length=20
Então, o freeRADIUS e o Mysql já estão configurados! Caso contrário, terá que rever passo por passo até
encontrar o problema.
Servidor de Radius - Hotspot
17
Instalação do CoovaChilli
O CoovaChilli é aplicação que fará a distribuição de IP (o serviço DHCP), e fornece a página de autenticação para o
utilizador, registado no freeRADIUS, entrar com os seus dados.
O CoovaChilli não se encontra nos repositórios do Ubuntu nem do Debian, portanto terá que descarregar da
página oficial: http://coova.org/CoovaChilli
Mas, facilitando as coisas pode descarregar e instalar pelo terminal rapidamente pela seguinte forma:
#cd /tmp && wget 'http://ap.coova.org/chilli/coova-chilli_1.2.5_i386.deb' && dpkg -i
coova-chilli_1.2.5_i386.deb
Em certos casos, terá que instalar as dependências que favorecem o correcto funcionamento do CoovaChilli. Use
estes comandos caso seja pedido para corrigir as dependências:
#cd /tmp
#wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl-dev_0.9.8g-
4ubuntu3.13_i386.deb
#dpkg -i libssl*deb
#aptitude install libssl-dev
#wget http://ftp.es.debian.org/debian/pool/main/o/openssl/libssl0.9.8_0.9.8g-
15+lenny11_i386.deb
#dpkg -i libssl0.9*.deb
Configuração do CoovaChilli
Uma vez, já instalado, é hora de o configurar. Para isso, basta copiar o arquivo defaults que está na directoria
/etc/chilli/ para o nome config e neste edita-lo a sua configuração.
#cp /etc/chilli/defaults /etc/chilli/config
Nota: Pode visualizar ajuda dos manuais do CoovaChilli em http://coova.org/CoovaChilli/ManPages. Ou usar o
comando man chilli.
Edite o arquivo config que acabou de criar, a partir da linha 12 até a 85 – troque pelos valores que deseja atribuir:
HS_WANIF=eth0 # WAN Interface toward the Internet HS_LANIF=eth1 #Subscriber Interface for client devices HS_NETWORK=10.1.0.0 #HotSpot Network (must include HS_UAMLISTEN) HS_NETMASK=255.255.255.0 # HotSpot Network Netmask HS_UAMLISTEN=10.1.0.1 # HotSpot IP Address (on subscriber network) HS_UAMPORT=3990 # HotSpot UAM Port (on subscriber network) HS_UAMUIPORT=4990 #HotSpot UAM "UI" Port (on subscriber network, for embedded portal) #HS_DYNIP= #HS_DYNIP_MASK=255.255.255.0 #HS_STATIP= #HS_STATIP_MASK=255.255.255.0 #HS_DNS_DOMAIN= #OpenDNS Servers HS_DNS1=192.168.2.1
Servidor de Radius - Hotspot
18
HS_DNS2=192.168.3.57 HS_NASID=nas01 HS_RADIUS=localhost HS_RADIUS2=localhost HS_UAMALLOW=10.1.0.0/24,192.168.10.11 HS_RADSECRET=radiussecret # Set to be your RADIUS shared secret HS_UAMSECRET=palavra.secreta.chilli # Set to be your UAM secret HS_UAMALIASNAME=chilli #The server to be used in combination with HS_UAMFORMAT to #create the final chilli 'uamserver' url configuration. HS_UAMSERVER=$HS_UAMLISTEN #Use HS_UAMFORMAT to define the actual captive portal url. #Shell variable replacement takes place when evaluated, so here #HS_UAMSERVER is escaped and later replaced by the pre-defined #HS_UAMSERVER to form the actual "--uamserver" option in chilli. HS_UAMFORMAT=https //:\$ HS_UAMSERVER/cgi-bin/hotspotlogin.cgi #Same principal goes for HS_UAMHOMEPAGE. HS_UAMHOMEPAGE=http //:\$ HS_UAMLISTEN :\$ HS_UAMPORT/www/coova.html #This option will be configured to be the WISPr LoginURL as well #as provide "uamService" to the ChilliController. The UAM Service is #described in: http://www.coova.org/CoovaChilli/UAMService HS_UAMSERVICE=https://10.1.0.1/cgi-bin/hotspotlogin.cgi
Nota: Todo o IP usado na configuração (10.1.0.1) pode troca-lo conforme o IP que deseja ser atribuído à rede local.
Desta forma terá que substituir sempre este IP de exemplo, pelo pretendido.
Crie duas directorias em /etc/chilli/www com nome images e uam, como a seguinte forma:
#cd /etc/chilli/www
#mkdir images uam
Descarregue os seguintes arquivos ficheiros na directoria /etc/chilli/www/uam:
#cd /etc/chilli/www/uam
#wget http://ap.coova.org/uam/
#wget http://ap.coova.org/js/chilli.js
Ainda na mesma directoria onde descarregou os ficheiros, agora edite-os. Começando pelo arquivo index.html:
#nano index.html
Adicione o IP que atribuiu para rede local, substituindo o de exemplo, 10.1.0.1, por volta da linha 85 no arquivo:
<script id='chillijs' src='http://10.1.0.1/uam/chilli.js'></script>
Edite arquivo chilli.js:
#nano ChilliLibrary.js
Servidor de Radius - Hotspot
19
Por volta da linha 81, edite os campos host e port, com os respectivos valores para igualar à forma do exemplo
seguinte, deixando o campo uamService em branco:
if (!chilliController || !chilliController.host) var chilliController = { interval:30 , host:"10.1.0.1" , port:3990 , ident:'00' , ssl:false , uamService: };
Active o arranque automático do CoovaChilli durante o boot do Sistema Operativo:
#nano -w /etc/default/chilli
Trocando o valor 0 pelo 1:
START_CHILLI=1 CONFFILE="/etc/chilli.conf"
Testar a configuração
Execute o debug para verificar se existe algum problema na configuração:
#chilli –f –d
Nota: Caso, no debug, indique que o IP já está em uso. Use o comando netstat –pnl para verificar o PID do
processo que o está usar. Depois disso, basta usar o comando kill -9 para matar esse processo.
Configuração da página de Login
No entanto falta mesmo configurar a página de login onde os utilizadores deverão inserir os dados para estarem
autenticados na rede.
O CoovaChilli já tem essa página por defeito em exemplos, bastando apenas executar o seguinte comando:
#zcat -c /usr/share/doc/coova-chilli/hotspotlogin.cgi.gz > /usr/lib/cgi-bin/hot
spotlogin.cgi
Edite a página de login, configurando a uamsecret para os valores que configurou anteriormente no
/etc/chilli/config:
#nano –w /usr/lib/cgi-bin/hotspotlogin.cgi
$uamsecret = "palavra.secreta.chilli"; $uamsecret = "palavra.secreta.chilli"; Nota: Pode sempre alterar a palavra-chave (uamsecret) que configurou no arquivo config do chilli, mas não se
esqueça que também tem que a alterar nos outros arquivos onde definiu.
Servidor de Radius - Hotspot
20
Neste momento, terá que configurar um VirtualHost para aceitar as conexões ao servidor. Criando um arquivo
com o comando touch na directoria /etc/apache2/sites-available/ e abra-o com o comando nano.
#touch /etc/apache2/sites-available/hotspot
#nano –w /etc/apache2/sites-available/hotspot
E copie todo este conteúdo abaixo e cole-o no arquivo hotspot que acabou de criar e abrir com o comando nano.
NameVirtualHost 10.1.0.1:443 <VirtualHost 10.1.0.1:443> ServerAdmin webmaster@domain.org DocumentRoot "/var/www/hotspot" ServerName "10.1.0.1" <Directory "/var/www/hotspot/"> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> Alias "/dialupadmin/" "/usr/share/freeradius-dialupadmin/htdocs/" <Directory "/usr/share/freeradius-dialupadmin/htdocs/"> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin/"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/hotspot-error.log LogLevel warn CustomLog /var/log/apache2/hotspot-access.log combined ServerSignature On SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem </VirtualHost>
Agora active, com o comando seguinte e posteriormente reinicie o apache2:
#a2ensite hotspot
#/etc/init.d/apache2 restart
Servidor de Radius - Hotspot
21
Copie o conteúdo de /etc/chilli/www/ para a directoria /var/www/ e copie a imagem coova.jpg para a pasta
images dentro da directoria /var/www/hotspot/:
#cp -R /etc/chilli/www/ /var/www/hotspot
#cp /var/www/hotspot/coova.jpg /var/www/hotspot/images/
Posteriormente mude as permissões desta forma, comando após comando:
# chown -R www-data.www-data /var/www/hotspot/
# chown -R www-data.www-data /var/www/hotspot/*
# chown -R www-data.www-data /usr/lib/cgi-bin/hotspotlogin.cgi
# chmod 777 /usr/lib/cgi-bin/hotspotlogin.cgi
Instalação e configuração do Haserl
Haserl é uma pequena aplicação que usa shell ou Lua script para criar scripts .cgi em páginas web. É um
complemento necessário para o funcionamento da autenticação do CoovaChilli. Visto que, é necessário suporte
para visualização da página onde o utilizador fará a autenticação (hotspotlogin.cgi).
Comece por descarregar com o seguinte comando:
#cd /tmp && wget http://downloads.sourceforge.net/project/haserl/haserl-
devel/0.9.27/haserl-0.9.27.tar.gz
Agora, extraia e instale a aplicação, facilmente com os seguintes comandos.
#tar –xzf haserl-0.9.27.tar.gz && cd /tmp/haserl-0.9.27
#./configure
#make
#make install
Configurando o Haserl no CoovaChilli, edite o arquivo /etc/chilli/wwwsh:
#nano /etc/chilli/wwwsh
Comente a seguinte linha de código:
#haserl=$(which haserl 2>/dev/null) haserl="/usr/local/bin/haserl"
E adicione a baixo da mesma linha a seguinte linha de código, como exemplo:
#haserl=$(which haserl 2>/dev/null) haserl="/usr/local/bin/haserl"
Edite agora o arquivo /etc/chilli/up.sh, adicionando as seguintes linhas de código no final do arquivo:
# may not have been populated the first time; run again [ -e "/var/run/chilli.iptables" ] && sh /var/run/chilli.iptables 2>/dev/null # force-add the final rule necessary to fix routing tables iptables -I POSTROUTING -t nat -o $HS_WANIF -j MASQUERADE
Servidor de Radius - Hotspot
22
Para terminar, actualize os scripts para que tomem as funções definidas, com o seguinte comando:
#sudo update-rc.d chilli defaults
Pronto! Reinicie o computador e verifique no Bootlog se os serviços (chilli + freeradius + apache2 ) estão a iniciar
com êxito. Ligue-se ao servidor através de wireless ou pela interface eth1 do servidor e verifique se o CoovaChilli
está a distribuir IP e a fornecer a página de autenticação. Se sim, tem o Hotspot configurado com sucesso!
Nota: É possível personalizar a página web em html, editando o arquivo hotspotlogin.cgi em /usr/lib/cgi-bin/
como também a página de “splash” que redirecciona para a página de autenticação (/etc/chilli/www/coova.html).
Servidor de Radius - Hotspot
23
WEB interfaces
DaloRADIUS
DaloRADIUS é uma ferramenta de gestão de servidor de RADIUS avançada destinado a manuseamento de
Hotspots e implementação geral de ISP. Possui gestão de utilizadores, relatórios gráficos, contabilidade,
facturamento e um motor de pesquisa de localização geográfica do GoogleMaps.
Instalação
Para poder instalar o DaloRADIUS terá que o descarregar da página oficial , ou facilmente pelo terminal:
#cd /tmp
#wget http://downloads.sourceforge.net/project/daloradius/daloradius/daloradius0.9-
9/daloradius-0.9-9.tar.gz
A instalação é nada mais nada menos que extrair o conteúdo e movê-lo para a directoria /var/www:
#tar –xzf daloradius-0.9-9.tar.gz
#mv /tmp/daloradius-0.9-9 /var/www/daloradius
Servidor de Radius - Hotspot
24
Configuração
A configuração do DaloRADIUS é feita a partir da edição do arquivo daloradius.conf.php localizado na directoria
/var/www/daloradius/library/. Conforme os dados que definiu nos serviços, os mesmos são alterados nos
respectivos campos que fazem interface com os serviços que foram instalados anteriormente como o Mysql e o
freeRADIUS:
$configValues['FREERADIUS_VERSION'] = '2;' $configValues['CONFIG_DB_ENGINE'] = 'mysql;' $configValues['CONFIG_DB_HOST'] = 'localhost;' $configValues['CONFIG_DB_PORT'] = '3306;' $configValues['CONFIG_DB_USER'] = 'root;' $configValues['CONFIG_DB_PASS'] = 'radiussecret;'! $configValues['CONFIG_DB_NAME'] = 'radius;' $configValues['CONFIG_PATH_DALO_VARIABLE_DATA'] = '/var/www/daloradius/var;' $configValues['CONFIG_DB_PASSWORD_ENCRYPTION'] = 'cleartext;'
$ configValues['CONFIG_LOG_PAGES'] = 'yes;' $configValues['CONFIG_LOG_ACTIONS'] = 'yes;' $configValues['CONFIG_LOG_QUERIES'] = 'yes;' $configValues['CONFIG_DEBUG_SQL'] = 'yes;' $configValues['CONFIG_DEBUG_SQL_ONPAGE'] = 'yes;' $configValues['CONFIG_LOG_FILE'] = '/var/log/freeradius/radius.log;' $configValues['CONFIG_IFACE_PASSWORD_HIDDEN'] = 'no;' $configValues['CONFIG_IFACE_TABLES_LISTING'] = '25;' $configValues['CONFIG_IFACE_TABLES_LISTING_NUM'] = 'yes;' $configValues['CONFIG_IFACE_AUTO_COMPLETE'] = 'yes;' $configValues['CONFIG_MAINT_TEST_USER_RADIUSSERVER'] = '127.0.0.1;' $configValues['CONFIG_MAINT_TEST_USER_RADIUSPORT'] = '1812;' $configValues['CONFIG_MAINT_TEST_USER_NASPORT'] = '0;' $configValues['CONFIG_MAINT_TEST_USER_RADIUSSECRET'] = 'radiussecret;'!
Pronto!
Basta abrir o navegador, digitar o endereço do servidor na rede http://ip.do.seu.servidor/daloradius/ e iniciar a sessão com os dados de autenticação por defeito, do DaloRADIUS:
Username: administrator
Password: radius
Servidor de Radius - Hotspot
25
Gestão de utilizadores
Adicionar um utilizador. Na secção Management seleccione “New User” ou “New User – Quick Add”:
Basta depois inserir os dados de utilizador (username e password), tem também outras opções conforme queira
adicionar o utilizador.
Para visualizar a actividade do utilizador no servidor enquanto Online, na secção Reports seleccione Online Users.
Servidor de Radius - Hotspot
26
Webmin
Webmin é uma interface que permite administrar o seu Unix/Linux a partir de um navegador Web. É uma
poderosa interface, com ferramentas essenciais onde nele pode fazer toda a gestão de serviços. Tem a
possibilidade de ser aceder ao Webmin remotamente com apenas o uso de um navegador.
Tudo é feito a partir de uma interface simples e fácil de utilizar. Todas as tarefas realizadas com Webmin podem
também ser realizadas por telnet.
Instalação
Pode descarregá-lo através do Website oficial: http://www.webmin.com/index.html
Servidor de Radius - Hotspot
27
Ou por outro lado, seguir facilmente os seguintes comandos, no terminal. Para satisfazer a instalação do Webmin
tem que instalar 1º algumas dependências:
#apt-get install libnet-ssleay-perl libauthen-pam-perl libio-pty-perl libapt-pkg-
perl apt-show-versions
Posteriormente, descarregue e instale:
#cd /tmp && wget http://prdownloads.sourceforge.net/webadmin/webmin_1.550_all.deb
#dpkg -i webmin_1.550_all.deb
Instalação com êxito:
Webmin install complete. You can now login to https://localhost:10000/ as root with your root password, or as any user who can use sudo to run commands as root.
Pronto!
Vá até ao navegador insira o seu endereço de IP juntamente com a porta 10000, entre com os dados de utilizador
ou administrador do seu sistema operativo: https://ip.do.seu.servidor:10000/
SERVIDOR PRONTO E FINALIZADO!
Webgrafia
28
Webgrafia
https://help.ubuntu.com/community/WifiDocs/CoovaChilli
http://wiki.freeradius.org/RADIUS-Clients
http://coova.org/search/node/index.php/CoovaChilli
http://coova.org/CoovaChilli/Documentation
http://www.vivaolinux.com.br/artigo/Hotspot-rapido-com-Coovachilli/
https://help.ubuntu.com/community/CategoryNetworking/daloRADIUS
http://linux.xvx.cz/2010/03/debian-wi-fi-hotspot-using-coovachilli-freeradius-mysql-and-daloradius/
http://www.multiplicity.dk/2006/10/chillispot-howto/
http://www.pdfwindows.com/pdf/freeradius-ubuntu-pdf/