Você está na página 1de 30

Servidor de RADIUS

Autoria de Tiago Maia

ndice

Introduo ....................................................................................................................................................................1 Servidor de Radius ........................................................................................................................................................2 Instalao do Ubuntu Server 10.04.2 LTS .................................................................................................................3 Configurao inicial do Ubuntu Server ...................................................................................................................11 Root ....................................................................................................................................................................11 Configurao da rede .........................................................................................................................................11 Actualizar Ubuntu ...................................................................................................................................................12 Instalaes de componentes bsicos .................................................................................................................12 Instalao de freeRADIUS e a Base de Dados .........................................................................................................13 Criar base de dados ............................................................................................................................................13 Configurao freeRADIUS ...................................................................................................................................13 Mudar a autorizao para SQL ...........................................................................................................................15 Adicionar e testar utilizador ...............................................................................................................................16 Instalao do CoovaChilli ........................................................................................................................................17 Configurao do CoovaChilli ...............................................................................................................................17 Testar a configurao .........................................................................................................................................19 Configurao da pgina de Login........................................................................................................................19 Instalao e configurao do Haserl ...................................................................................................................21 WEB interfaces .......................................................................................................................................................23 DaloRADIUS ........................................................................................................................................................23 Webmin ..............................................................................................................................................................26

Introduo

Introduo
Neste documento provm fundamentalmente de um trabalho proposto, montagem e configurao de um servidor de RADIUS. Desta forma, explico nas prximas pginas a instalao e configurao passo por passo. Neste servidor, o objectivo ter a aplicao CoovaChilli operacional a distribuir IPs (servio DHCP) e a pgina de autenticao aos utilizadores que se liguem via Wireless (sem fios) ao servidor. Onde a aplicao freeRADIUS encarrega-se do registo e verificao da autenticao. O freeRADIUS uma implementao de RADIUS modular, de alta performance e rica em opes e funcionalidades. Esta inclui servidor, cliente, bibliotecas de desenvolvimento e muitas outras utilidades. Pode ser instalada em sistemas Linux e Machintosh. Devido a estas caractersticas e tendo em conta o facto de ser uma aplicao open source (cdigo aberto) esta ser a implementao de RADIUS utilizada para o desenvolvimento do trabalho.

Servidor de Radius - Hotspot

Servidor de Radius
O RADIUS um protocolo que visa a autenticao, autorizao e gesto de utilizadores, para acesso rede ou servios 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 autenticao e autorizao e contabilizao (accounting) que so utilizados para estabelecer uma ligao Internet ou utilizar aplicaes de acesso rede. Uma rede ou servio de rede que utilize o protocolo RADIUS necessita de autenticao para permitir a ligao deste utilizador/dispositivo a esta. Aps autenticao determinado quais so os privilgios a que o utilizador autenticado est autorizado, e contabilizado (accounting) e gravado o acesso deste no servidor RADIUS, de modo a haver uma melhor gesto e controle de acessos. O RADIUS tornou-se assim numa ferramenta necessria para controlo e segurana de acessos rede de Internet ou redes internas.

Servidor de Radius - Hotspot

Instalao 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 lngua que pretende e Install Ubuntu Server para inicializar a instalao.

3- Seleccionar a localizao e o layout do teclado seguindo as instrues. 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 primrio. 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

6- Quando se pedir um hostname, escolhe-se algo descritivo para a sua localizao. Este nome usado para identificar o sistema de suporte remoto. Como exemplo defini o hostname de wifiserver.

7- De seguida far a configurao do relgio. Caso esteja automaticamente seleccionada e errada, basta seleccionar a correcta e confirmar.

Servidor de Radius - Hotspot

8- Prximo passo o instalador questiona sobre o particionamento do disco. a. Escolhe-se a primeira opo, usar o particionamento guiado e usar todo o disco para instalao. b. Depois dessa etapa pede para confirmar as alteraes que pede para escrever no disco, segundo as instrues.

9- Ir ento iniciar a instalao do sistema base, aps a confirmao das alteraes que iro ser feitas no disco.

Servidor de Radius - Hotspot

10- A instalao do Ubuntu Server inicializa. O tempo de demora da instalao vai depender do hardware que o computador constitui, onde est a ser instalado.

11- Aps concludo a instalao adicionar o nome completo nova conta de utilizador.

Servidor de Radius - Hotspot

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 servios do server:

a. Reintroduzir novamente a password, para a confirmao.

Servidor de Radius - Hotspot

14- Neste passo ir questionar se quer a directoria /home encriptada, mas como no ser um computador pessoal ento no ter essa necessidade, desta forma, aqui escolha No.

15- Caso tenha servidor Proxy adicione o endereo conforme a representao standard. Se no tem ou tem dvidas, deixe em branco, pois mais tarde pode-o reconfigurar.

Servidor de Radius - Hotspot

16- Convm optar por escolher, neste prximo passo, No Automatic Updates. Isto , prevenir que no haja actualizaes automticas, com forma de prevenir tambm uma futura manuteno no sistema. Pois, algumas actualizaes actuais podero vir a ser instaladas e podero no ser compatveis com as aplicaes antigas que esto 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 vrios meios. Quanto ao Mysql, durante a sua configurao automtica vai pedir para definir uma palavra-chave, guarde-a em algum lugar para que no se esquea, pois vai necessitar para completar alguns passos.

Nota: Por exemplo, no Windows, pode aceder ao servidor Ubuntu por SSH, use aplicao Putty e/ou WinSCP.

Servidor de Radius - Hotspot

18- Para finalizar a instalao e configurao do sistema Ubuntu Server, instale o GRUB boot loader to the master boot record escolhendo Yes.

19- E pronto, a instalao do sistema base j est completa. Pressione Continue e remova o disco do leitor de CD/DVD.

10

Servidor de Radius - Hotspot

Configurao inicial do Ubuntu Server


Root Para fazer as instalaes mais fceis e ter permisses e privilgios para pequenas alteraes, 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: #

Configurao da rede A rede est configurada por DHCP, mas podemos reconfigurar para IP esttico. Editando o script interfaces, localizado na directoria /etc/network/.
#nano /etc/network/interfaces

Em princpio 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 esttico, 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 no define por DHCP nem por STATIC, define-a por MANUAL. Pois, a aplicao CoovaChilli vai-se encarregar de configurar automaticamente o DHCP, ir ver mais frente.
auto eth1

11

Servidor de Radius - Hotspot iface eth1 inet manual

Guarde, feche e reinicie a rede para actualizar as configuraes definidas.


#/etc/init.d/networking restart

Para visualizar o IP que a mquina tem ou obteve:


#ifconfig

Ou:
#ip addr

Actualizar Ubuntu
Se no estiver logado como root precisa de digitar sudo antes do comando para poder ter executa-lo com privilgios:
$sudo apt-get update && sudo apt-get upgrade

Instalaes de componentes bsicos Antes de iniciar a instalao e a configurao das aplicaes importantes para o funcionamento do Hotsopt, vai ser necessrio alguns componentes essenciais para essas aplicaes, 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

12

Servidor de Radius - Hotspot

Instalao 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 sero definidos para autenticao no freeRADIUS. Estes dados j tem tabelas definidas por defeito, de meio caminho andado basta s apenas instalar no Mysql. Sesso 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 privilgios 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: Substitua entre pliques mysqlsecret pela sua palavra-chave (senha) do Mysql, aquela que definiu quando

instalou. Configurao freeRADIUS A configurao do freeRADIUS baseia-se na edio de alguns scripts files, com forma de poder aceder ao controlo do programa. Poder consultar ajuda na pgina 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 contm o seguinte contedo 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

13

Servidor de Radius - Hotspot 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 comentrio, isto , apagar os cardinais (#) no arquivo para que programa no ignora as linhas que estavam comentadas:
#nano -w /etc/freeradius/users

Nas seguintes linhas, apague o comentrio (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 alteraes feitas:


#reboot

Inicie a sesso como root, pare a execuo do freeRADIUS, de forma poder executar o debug para visualizar se h algum erro:
#sudo /etc/init.d/freeradius stop #sudo freeradius -XXX

Aps 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. Ento, o resultado do debug indicar a origem do erro e dessa forma ter corrigir consoante o file e a linha de cdigo que indicar.

Seguidamente, teste a autorizao de password para o ficheiro, de forma se o freeRADIUS est aceitar autorizaes para prosseguir para o prximo passo:
$sudo radtest "John Doe" hello 127.0.0.1 0 radiussecret

Ir surgir um resultado parecido como o seguinte: 14

Servidor de Radius - Hotspot 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 lgica 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. Convm fazer uma reviso nos arquivos editados e verificar o problema, para que nos prximos passos se suceda sem qualquer problema. Mudar a autorizao para SQL Se os testes anteriores esto a funcionar correctamente, ento j pode fazer alterao da autorizao do file para sql. Isto , ligar as contas e autorizaes 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 convm ter ateno sua edio. Em primeiro lugar ir adicionar o cardinal (#), comentar a linha de cdigo onde se encontra a palavra files e depois ter que remover todos cardinais onde encontram as palavras sql nas respectivas seces:
authorize { files # sql } accounting { # sql } session { # sql }

15

Servidor de Radius - Hotspot

Ficando da seguinte forma:


authorize { # files sql } accounting { sql } session { sql }

J para finalizar a configurao da autorizao, 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 edio no arquivo /etc/freeradius/radiusd.conf s se aplica verso 2.X.X do freeRADIUS.

Adicionar e testar utilizador Agora teste o funcionamento de registo de utilizadores no Mysql para autenticao no freeRADIUS, registando um utilizador e verificar a conexo:
#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 conexo:


#/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

Ento, o freeRADIUS e o Mysql j esto configurados! Caso contrrio, ter que rever passo por passo at encontrar o problema. 16

Servidor de Radius - Hotspot

Instalao do CoovaChilli
O CoovaChilli aplicao que far a distribuio de IP (o servio DHCP), e fornece a pgina de autenticao para o utilizador, registado no freeRADIUS, entrar com os seus dados. O CoovaChilli no se encontra nos repositrios do Ubuntu nem do Debian, portanto ter que descarregar da pgina 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 dependncias que favorecem o correcto funcionamento do CoovaChilli. Use estes comandos caso seja pedido para corrigir as dependncias:
#cd /tmp #wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl-dev_0.9.8g4ubuntu3.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.8g15+lenny11_i386.deb #dpkg -i libssl0.9*.deb

Configurao 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 configurao.
#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

17

Servidor de Radius - Hotspot 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 configurao (10.1.0.1) pode troca-lo conforme o IP que deseja ser atribudo 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. Comeando 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

18

Servidor de Radius - Hotspot

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 automtico 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 configurao Execute o debug para verificar se existe algum problema na configurao:
#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. Configurao da pgina de Login No entanto falta mesmo configurar a pgina de login onde os utilizadores devero inserir os dados para estarem autenticados na rede.

O CoovaChilli j tem essa pgina 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 pgina 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 no se

esquea que tambm tem que a alterar nos outros arquivos onde definiu. 19

Servidor de Radius - Hotspot

Neste momento, ter que configurar um VirtualHost para aceitar as conexes 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 contedo 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

20

Servidor de Radius - Hotspot

Copie o contedo 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 permisses desta forma, comando aps comando:


# # # # chown chown chown chmod -R www-data.www-data /var/www/hotspot/ -R www-data.www-data /var/www/hotspot/* -R www-data.www-data /usr/lib/cgi-bin/hotspotlogin.cgi 777 /usr/lib/cgi-bin/hotspotlogin.cgi

Instalao e configurao do Haserl Haserl uma pequena aplicao que usa shell ou Lua script para criar scripts .cgi em pginas web. um complemento necessrio para o funcionamento da autenticao do CoovaChilli. Visto que, necessrio suporte para visualizao da pgina onde o utilizador far a autenticao (hotspotlogin.cgi).

Comece por descarregar com o seguinte comando:


#cd /tmp && wget http://downloads.sourceforge.net/project/haserl/haserldevel/0.9.27/haserl-0.9.27.tar.gz

Agora, extraia e instale a aplicao, 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 cdigo:


#haserl=$(which haserl 2>/dev/null) haserl="/usr/local/bin/haserl"

E adicione a baixo da mesma linha a seguinte linha de cdigo, 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 cdigo 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

21

Servidor de Radius - Hotspot

Para terminar, actualize os scripts para que tomem as funes definidas, com o seguinte comando:
#sudo update-rc.d chilli defaults

Pronto! Reinicie o computador e verifique no Bootlog se os servios (chilli + freeradius + apache2 ) esto a iniciar com xito. Ligue-se ao servidor atravs de wireless ou pela interface eth1 do servidor e verifique se o CoovaChilli est a distribuir IP e a fornecer a pgina de autenticao. Se sim, tem o Hotspot configurado com sucesso!

Nota: possvel personalizar a pgina web em html, editando o arquivo hotspotlogin.cgi em /usr/lib/cgi-bin/ como tambm a pgina de splash que redirecciona para a pgina de autenticao (/etc/chilli/www/coova.html).

22

Servidor de Radius - Hotspot

WEB interfaces
DaloRADIUS DaloRADIUS uma ferramenta de gesto de servidor de RADIUS avanada destinado a manuseamento de Hotspots e implementao geral de ISP. Possui gesto de utilizadores, relatrios grficos, contabilidade, facturamento e um motor de pesquisa de localizao geogrfica do GoogleMaps.

Instalao Para poder instalar o DaloRADIUS ter que o descarregar da pgina oficial , ou facilmente pelo terminal:
#cd /tmp #wget http://downloads.sourceforge.net/project/daloradius/daloradius/daloradius0.99/daloradius-0.9-9.tar.gz

A instalao nada mais nada menos que extrair o contedo 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

23

Servidor de Radius - Hotspot

Configurao A configurao do DaloRADIUS feita a partir da edio do arquivo daloradius.conf.php localizado na directoria /var/www/daloradius/library/. Conforme os dados que definiu nos servios, os mesmos so alterados nos respectivos campos que fazem interface com os servios 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 endereo do servidor na rede http://ip.do.seu.servidor/daloradius/ e iniciar a sesso com os dados de autenticao por defeito, do DaloRADIUS:

Username: administrator Password: radius

24

Servidor de Radius - Hotspot

Gesto de utilizadores Adicionar um utilizador. Na seco Management seleccione New User ou New User Quick Add:

Basta depois inserir os dados de utilizador (username e password), tem tambm outras opes conforme queira adicionar o utilizador.

Para visualizar a actividade do utilizador no servidor enquanto Online, na seco Reports seleccione Online Users.

25

Servidor de Radius - Hotspot

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 gesto de servios. 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 fcil de utilizar. Todas as tarefas realizadas com Webmin podem tambm ser realizadas por telnet.

Instalao Pode descarreg-lo atravs do Website oficial: http://www.webmin.com/index.html

26

Servidor de Radius - Hotspot

Ou por outro lado, seguir facilmente os seguintes comandos, no terminal. Para satisfazer a instalao do Webmin tem que instalar 1 algumas dependncias:
#apt-get install libnet-ssleay-perl libauthen-pam-perl libio-pty-perl libapt-pkgperl 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

Instalao 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 endereo 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!

27

Webgrafia

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/

28