Você está na página 1de 30

Servidor de RADIUS

Servidor de RADIUS Autoria de Tiago Maia
Servidor de RADIUS Autoria de Tiago Maia
Servidor de RADIUS Autoria de Tiago Maia
Servidor de RADIUS Autoria de Tiago Maia
Servidor de RADIUS Autoria de Tiago Maia

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

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

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.

tornou-se assim numa ferramenta necessária para controlo e segurança de acessos à rede de Internet ou

Servidor de Radius - Hotspot

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
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.

e aos outros pcs da rede. b. Eth1 – Rede local, vai disponibilizar internet mas vai

Servidor de Radius - Hotspot

Servidor de Radius - Hotspot 6- Quando se pedir um hostname, escolhe-se algo descritivo para a
6- Quando se pedir um hostname, escolhe-se algo descritivo para a sua localização. Este nome
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.
do relógio. Caso esteja automaticamente seleccionada e errada, basta seleccionar a correcta e confirmar. 4

Servidor de Radius - Hotspot

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.

que pede para escrever no disco, segundo as instruções. 9- Irá então iniciar a instalação do

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.

então iniciar a instalação do sistema base, após a confirmação das alterações que irão ser feitas

Servidor de Radius - Hotspot

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.

que o computador constitui, onde está a ser instalado. 11- Após concluído a instalação adicionar o
que o computador constitui, onde está a ser instalado. 11- Após concluído a instalação adicionar o

11- Após concluído a instalação adicionar o nome completo à nova conta de utilizador.

onde está a ser instalado. 11- Após concluído a instalação adicionar o nome completo à nova

Servidor de Radius - Hotspot

12- Adicionar agora, nesta etapa, o nome de utilizador que vai ser usar para login.

etapa, o nome de utilizador que vai ser usar para login . 13- Depois inserir a

13- Depois inserir a password que o utilizador vai precisar para o acesso ao sistema operativo e aos serviços do server:

o acesso ao sistema operativo e aos serviços do server: a. Reintroduzir novamente a password ,

a. Reintroduzir novamente a password, para a confirmação.

o acesso ao sistema operativo e aos serviços do server: a. Reintroduzir novamente a password ,

Servidor de Radius - Hotspot

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.

não terá essa necessidade, desta forma, aqui escolha No . 15- Caso tenha servidor Proxy adicione

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.

a representação standard . Se não tem ou tem dúvidas, deixe em branco, pois mais tarde
a representação standard . Se não tem ou tem dúvidas, deixe em branco, pois mais tarde

Servidor de Radius - Hotspot

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.

“antigas” que estão i nstaladas no sistema. 17- Em Software Selection seleccione o pacote de software

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.

esqueça, pois vai necessitar para completar alguns passos. Nota: Por exemplo, no Windows, pode aceder ao

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

Servidor de Radius - Hotspot

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.

boot loader to the master boot record escolhendo Yes . 19- E pronto, a instalação do

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

E pronto, a instalação do sistema base já está completa. Pressione Continue e remova o disco

Servidor de Radius - Hotspot

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

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 logadocomo 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

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 “secretpara o

Freeradius:

client localhost { ipaddr = 127.0.0.1

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 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"

# Reply-Message = "Hello, %u"

Auth-Type := Local, User-Password == "hello"

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:

irá surgir com sucesso o seguinte resultado no terminal: Nota :(Control+C para sair ou cancelar) Se

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

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

#

}

accounting {

sql

#

sql

}

session {

#

sql

}

Servidor de Radius - Hotspot

Ficando da seguinte forma:

authorize { # files sql } accounting { sql } session { sql }
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

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

do Ubuntu nem do Debian, portanto terá que descarregar da página oficial: http://coova.org/CoovaChilli Mas,

página oficial: http://coova.org/CoovaChilli

Mas, facilitando as coisas pode descarregar e instalar pelo terminal rapidamente pela seguinte forma:

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:

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

HS_UAMUIPORT=4990

# HotSpot UAM Port (on subscriber network) #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

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

HS_UAMSECRET=palavra.secreta.chilli

HS_UAMALIASNAME=chilli

# Set to be your RADIUS shared secret

# Set to be your UAM secret

#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

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

algum problema na configuração: #chilli – f – d Nota: Caso, no debug , indique que

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

/etc/chilli/config:

login,

configurando

a

uamsecret

para

os

valores

que

configurou

anteriormente

no

#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

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

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

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!

Se sim, tem o Hotspot configurado com sucesso! Nota: É possível personalizar a página web em
Se sim, tem o Hotspot configurado com sucesso! Nota: É possível personalizar a página web em

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

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.

de pesquisa de localização geográfica do GoogleMaps. Instalação Para poder instalar o DaloRADIUS terá que o

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

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:

a sessão com os dados de autenticação por defeito, do DaloRADIUS : Username: administrator Password: radius
a sessão com os dados de autenticação por defeito, do DaloRADIUS : Username: administrator Password: radius

Username: administrator Password: radius

a sessão com os dados de autenticação por defeito, do DaloRADIUS : Username: administrator Password: radius

Servidor de Radius - Hotspot

Gestão de utilizadores Adicionar um utilizador. Na secção Management seleccione “New User” ou “New User Quick Add”:

“ New User ” ou “ New User – Quick Add ”: Basta depois inserir os

Basta depois inserir os dados de utilizador (username e password), tem também outras opções conforme queira adicionar o utilizador.

outras opções conforme queira adicionar o utilizador. Para visualizar a actividade do utilizador no servidor

Para visualizar a actividade do utilizador no servidor enquanto Online, na secção Reports seleccione Online Users.

visualizar a actividade do utilizador no servidor enquanto Online , na secção Reports seleccione Online Users

Servidor de Radius - Hotspot

Servidor de Radius - Hotspot Webmin Webmin é uma interface que permite administrar o seu Unix/Linux

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.

com Webmin podem também ser realizadas por telnet. Instalação Pode descarregá-lo através do Website

Instalação Pode descarregá-lo através do Website oficial: http://www.webmin.com/index.html

Servidor de Radius - Hotspot

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/

utilizador ou administrador do seu sistema operativo: https://ip.do.seu.servidor:10000/ SERVIDOR PRONTO E FINALIZADO! 27

SERVIDOR PRONTO E FINALIZADO!