View
87
Download
0
Category
Preview:
Citation preview
Hotspot
utilizando softwares
livres.
1
Mauricio Botelho Penteado Ribeiro da Cruz RA:63893
Luiz Rodrigo Cardoso da Cunha RA:62410
Marcelo Henrique Petruz RA:64935
Daniel Bodowsky RA:63565
Willian Sanfelice RA:64935
Murilo Giusti RA:63653
2
COOVACHILLI -Hotspot
Requisitos:
• UBUNTU 11.04 i386
• Freeradius
• Mysql
• Apache2
• DaloRadius
• PHP
• Coovachilli
• SSH
Configuração das Interfaces
• auto eth0
iface eth0 inet dhcp
• auto eth1
iface eth1 inet static
address 192.168.13.130
netmask 255.255.255.0
• auto eth2
iface eth2 inet static
address 192.168.56.2
netmask 255.255.255.0
Ativando o Root
#sudo passwd root
Instalações de pacotes necessários
#apt-get update
3
#apt-get install apache2 apache2-doc apache2-utils ssl-cert libapache2-mod-php5 php5 php5-
common php5-mysql mysql-server mysql-client libmysqlclient15-dev freeradius freeradius-
mysql freeradius-utils freeradius-mysql php-pear php-db phpmyadmin mc php5-gd php-db
Durante a instalação dos pacotes digite as senhas desejadas.
Altere o arquivo /etc/apache2/mods-avaliable/dir.conf
Para :
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3
index.pl index.xhtml
Feche o arquivo e salve.
Ative os módulos do apache2.
#a2enmod ssl && a2enmod rewrite && a2enmod suexec && a2enmod include && a2enmod
php5
Crie um link simbólico para testarmos.
# ln -s /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/000-default-ssl
Gerar certificado.
Criar o diretório.
#mkdir /etc/apache2/ssl
Criar o certificado.
#make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
Altere o arquivo /etc/apache2/sites-available/default-ssl
De: SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
Para: SSLCertificateFile /etc/apache2/ssl/apache.pem
4
Remova a Linha : SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
Restarte o APACHE
#/etc/init.d/apache2 restart
Testar o apache.
Digite no navegador de uma maquina que esta na mesma rede.
http://192.168.13.130
https://192.168.13.130
Se tudo der certo irá aparecer “It Works”
Mysql e Freeradius
Edite o arquivo /etc/freeradius/users
Descomente as linhas:
#"John Doe" Cleartext-Password := "hello"
#Reply-Message = "Hello, %{User-Name}"
Salve o arquivo e reinicie o freeradius.
# /etc/init.d/freeradius restart
Teste o freeradius.
# radtest "John Doe" hello localhost 1812 testing123
Se aparecer esta mensagem prossiga.
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=94, length=20
Criar o Banco de Dados
Entre no Mysql
#mysql –p
Entre com a senha Mysql (segredo)
5
mysql> create database radius;
mysql> GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'segredo';
mysql> FLUSH PRIVILEGES;
mysql> quit
Agora edite o arquivo /etc/free radius/sql.conf
server = "localhost"
login = "radius"
password = "segredo"
Descomentamos a linha:
readclients = yes
Salve o arquivo.
Altere o arquivo /etc/freeradius/clientes.conf
Troque o que estiver em frente de “secret”
secret=”segredo”
Edite o arquivo /etc/freeradius/sites-enabled/default , descomentando as linhas que tiver sql.
authorize {
#files
sql
}
accounting {
sql
}
6
session {
sql
}
Salve.
No arquivo /etc/freeradius/radiusd.conf descomente a linha.
$INCLUDE sql.conf
Importe as tabelas do freeradius já criadas pelo programador.
# mysql -u root -p radius < /etc/freeradius/sql/mysql/schema.sql
Enter password: "segredo"
# mysql -u root -p radius < /etc/freeradius/sql/mysql/nas.sql
Enter password: "segredo"
Cadastrar usuário:
mysql> use radius;
mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('diego', 'Password',
'teste');
mysql> quit
Reinicie o Mysql e Freeradius.
# /etc/init.d/mysql restart && /etc/init.d/freeradius restart
Teste o usuário.
# radtest teste teste localhost 1812 "segredo"
Se aparecer:
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=94, length=20
Esta tudo ok.
7
Instalando o Coovachilli
Crie o diretório para fazer o download do Coovachilli
#mkdir /etc/downchilli
Baixe o pacote
# wget http://ap.coova.org/chilli/coova-chilli_1.0.13-1_i386.deb
Instale
#dpkg -i coova-chilli_1.0.13-1_i386.deb
Agora copie os arquivos a seus respectivos lugares.
# cd /etc/chilli/
# cp defaults config
# mkdir /var/www/auth
# cp www/* /var/www/auth/
# mkdir /var/www/auth/images
# cp www/coova.jpg /var/www/auth/images/
# mkdir /var/www/auth/uam
# cd /var/www/auth/uam
# wget http://ap.coova.org/uam/
# wget http://ap.coova.org/js/chilli.js
Entre e edite o arquivo /var/www/auth/uam/index.html.
Para: <script id='chillijs' src='http://192.168.10.1/js/chilli.js'></script>
OBS: Coloque o ip diferente da eth1
Edite "/etc/chilli/www/ChilliLibrary.js" e alteramos a linha:
Para: var chilliController = { interval:30 , host:"192.168.10.1" , port:3990 , ident:'00' ,
ssl:false , uamService: '' };
8
Executa
# cat /etc/chilli/www/ChilliLibrary.js > /var/www/auth/ChilliLibrary.js
Edite /etc/default/chilli
Altere START_CHILLI=0 para START_CHILLI=1
Altere o arquivo /etc/chilli/config Para:
HS_LANIF=eth1
HS_NETWORK=192.168.10.0
HS_NETMASK=255.255.255.0
HS_UAMLISTEN=192.168.10.1
HS_UAMPORT=3990
HS_STATIP=192.168.10.0/24
HS_STATIP_MASK=255.255.255.0
#HS_DNS_DOMAIN=
HS_DNS1=8.8.8.8
HS_DNS2=177.53.80.4
HS_NASID=nas01
HS_UAMSECRET=segredo
HS_RADIUS=127.0.0.1
HS_RADIUS2=127.0.0.1
HS_RADSECRET=segredo
HS_UAMALLOW=192.168.10.0/24
9
HS_UAMSERVER=192.168.10.1
HS_UAMFORMAT=https://\$HS_UAMSERVER/cgi-bin/hotspotlogin.cgi
HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/www/coova.html
HS_UAMSERVICE=https://192.168.10.1/cgi-bin/hotspotlogin.cgi
Salve.
Execute
# zcat -c /usr/share/doc/coova-chilli/hotspotlogin.cgi.gz > /usr/lib/cgi-bin/hotspotlogin.cgi
Edite a pagina de Login “/usr/lib/cgi-bin/hotspotlogin.cgi “
Altere para
$uamsecret = "segredo";
$uamsecret = "segredo";
Criando o VirtualHost
# vim /etc/apache2/sites-available/hotspot
Após criar o arquivo, Inclua as linhas:
NameVirtualHost 192.168.10.1:443
<VirtualHost 192.168.10.1:443>
ServerAdmin alunos@alunos.uniararas.br
DocumentRoot "/var/www/auth/"
ServerName "192.168.10.1"
<Directory "/var/www/auth/">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
10
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
11
CustomLog /var/log/apache2/hotspot-access.log combined
ServerSignature On
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
</VirtualHost>
Agora ative o VirtualHost:
# a2ensite hotspot
Reinicie o Apache
# /etc/init.d/apache2 restart
Mude as permissões
# chown -R www-data.www-data /var/www/auth/
# chown -R www-data.www-data /var/www/auth/*
# chown -R www-data.www-data /usr/lib/cgi-bin/hotspotlogin.cgi
# chmod 777 /usr/lib/cgi-bin/hotspotlogin.cgi
Com os passos acima concluídos vamos adicionar duas regras ao firewall do Coovachilli,
editando o arquivo /etc/chilli/up.sh.
Adicione estas linhas antes do ultimo parênteses:
[ -e "/var/run/chilli.iptables" ] && sh /var/run/chilli.iptables 2>/dev/null
iptables -I POSTROUTING -t nat -o $HS_WANIF -j MASQUERADE
Salve.
DaloRadius
12
O DaloRadius é uma interface WEB interage com o Mysql e Freeradius.
Crie o diretório para fazer o Download.
#mkdir /etc/downldalo
Agora faremos o download
#wget'http://downloads.sourceforge.net/project/daloradius/daloradius/daloradius0.98/dalora
dius-0.9-8.tar.gz'
Agora descompacte os arquivos.
#tar -xzvf daloradius-0.9-8.tar.gz
Copie o arquivo para o diretório /var/www
#cp daloradius-0.9-8 /var/www/ -R
Altere as permissões dos diretórios.
#chown www-data:www-data /var/www/daloradius-0.9-8 -R
#chmod 644 /var/www/daloradius-0.9-8/library/daloradius.conf.php
Execute
mysql -u root -p radius < /var/www/daloradius-0.9-8/contrib/db/mysql-daloradius.sql
digite a senha do Mysql.
Edite o arquivo /var/www/daloradius-0.9-8/library/daloradius.conf.php para:
'FREERADIUS_VERSION' = '2';
'CONFIG_DB_ENGINE' = 'mysql';
'CONFIG_DB_HOST' = '127.0.0.1'
'CONFIG_DB_USER' = 'radius'
'CONFIG_DB_PASS' = 'radpassword' 'CONFIG_DB_NAME' = 'radius'
Entre no Mysql
#mysql -u root -p
13
Execute o comando.
>GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'%' IDENTIFIED BY
'radpassword'; >FLUSH PRIVILEGES;
Com o DaloRadius instalado e configurado, a adição de usuária é mais rápida e eficiente.
Para acessa-lo :
http://192.168.56.2/daloradius
Usuario:Administrator
Senha:radius
Recommended