Modulo de autenticacao Hostspost pra ser usado com o SGCU
Clecio Rodrigo
Clecio Rodrigo - [email protected]
Este sistema tem como base o SisCaPI - Sistema de Captura de Pagina Inicial
Agradecimentos:
Marcus Roberto Lima Almeida - [email protected]
http://wwmarcus.cjb.net
O uso deste sistema e aberto ninguem pode cobrar nenhum centavo por ele
Gostaria de lembrar que o SGCU (e pago), e que este sistema de autenticacao visa apenas adicionar maiores recursos a ele e ao mesmo tempo servir a comunidade de usuarios do SGCU.
Este sistema foi desenvolvido para facilitar aqui no provedor o controle de clientes, junto ao sistema financeiro do SGCU.
Resolvi desenvolver este pequeno modulo de autenticacao depois de ver alguns exemplos de Captive portal, tentei muito usar o NoCAT porem sem sucesso, NatACL .... foi entao que procurando na internet achei o SisCaPI.
Este sistema visa capturar a pagina do usuario, redireciona-lo para pagina de login, e verificar os seguintes itens junto ao banco de dados do SGCU (www.vigo.com.br):
-> usuario
-> senha
-> ip
-> mac
-> situacao (liberado ou bloqueado)
Apos o login o usuario pode ser redireciona pra uma pagina especifica ou para o site que estava tentando acessar.
O uso do sistema junto com o SGCU, no meu caso aqui agilizou bastante o trabalho e manutencao de clientes junto ao sistema financeiro, pois o cliente e obrigado a efetuar login diariamente.
O sistema efetuar apos o login regras de MAC x IP aumentado assim a seguranca da rede, e garantindo que apenas o cliente tem acesso aos servicos do provedor.
Requisitos:
Apache
php, php-mysql
iptables
bind
sudo
Vamos colocar a mao na massa.
Descompacte o conteudo do arquivo hostspot.zip
# unzip -x hostspot.zip
Acesse o diretorio hostspot
# cd hostspot/
Liste o conteudo do diretorio
# ls
Serao exibidos os seguintes diretorios
#cgi-bin
#config
#login
O diretorio cgi-bin contem o arquivo authstatus.cgi, este arquivo le o arquivo de log e o exibi, copie para a pasta cgi-bin do seu apache
# cp cgi-bin/authstatus.cgi /var/www/cgi-bin/
Agora de permissao de execucao
# chmod +x /var/www/cgi-bin/authstatus.cgi
Acesse o diretorio config
# cd config/
Liste o conteudo deste diretorio
#rc.firewall
#sudoers
#virtualhost
Copie o arquivo rc.firewall
# cp rc.firewall /etc/rc.d/
Agora de permissao de execucao
# chmod +x /etc/rc.d/rc.firewall
Vamos agora criar o arquivo firewall-ips, este arquivo deve conter os IPs dos clientes um por linha. Este arquivo sera lido pelo script de firewall
# touch /etc/rc.d/firewall-ips
No caso para cadastrar os IPs use qualquer editor VI, MCEDIT...
Agora vamos editar o arquivo sudoers
# vim /etc/sudoers
Acrescente o conteudo abaixo a este arquivo, lembrando que o usuario do meu webserver e apache, troque de acordo com o usado por sua distribuicao
## Sistema de autenticacao
apache ALL=(root) NOPASSWD: /sbin/iptables
apache ALL=(root) NOPASSWD: /sbin/arp
apache ALL=(root) NOPASSWD: /bin/echo
apache ALL=(root) NOPASSWD: /bin/rm
Se preferir basta executar o comando abaixo ele ja adiciona o conteudo do arquivo sudoers no final do arquivo /etc/sudoers
# cat sudoers >> /etc/sudoers
Vamos criar o arquivo de log
# mkdir /var/log/weblogin/
Agora criaremos o arquivo de log
# touch /var/log/weblogin/weblogin.log
Vamos dar permissao pro usuario do apache
# chown apache.apache /var/www/weblogin/ -R
Estamos quase terminando, agora vamos copiar o conterio arquivo virtualhost pro arquivo de configuracao do apache
# cat virtualhost >> /etc/httpd/conf/httpd.conf
Vamos copiar agora o diretorio login,
# cp login/ /var/www/ -R
Acesso o diretorio login onde ele foi copiado
# cd /var/www/login/
Edite o arquivo config.php
# vim config.php
Acesse o diretorio Connections
# cd Connections/
Edite o arquivo Conexao.php,
# vim Conexao.php
Pronte seu sistema ja esta configurado basta reiniciar o seu apache e executar o script de firewall