Autenticação WEB para acesso Wifi

1. Autenticação WEB para acesso Wifi

Claudio Henrique Veloso
xclaudin

(usa Debian)

Enviado em 21/07/2015 - 09:53h

Olá caros amigos roots.

Fui encarregado de montar um servidor PfSense para distribuir Wifi gratuito em uma praça local aqui na cidade.
Assim que as pessoas se conectarem no Wifi, quando abrirem o navegador, vai abrir uma página de cadastro, onde deverão fornecer algumas informações como por exemplo nome, e-mail, etc. Só após efetuarem esse cadastro o acesso Wifi será liberado para navegação.

Estou me questionando se é possível esse procedimento, usando de exemplo aquela rede da Oi Wifi Fon que é uma rede criada automática por todos os pontos que existem clientes da Oi, onde para usar esse Oi Wifi Fon é só você entrar com seu CPF titular que seja cliente da Oi.

Só que na minha situação eu não tenho esse banco de dados de clientes já criado.
Ele será criado e incrementado a cada vez que alguém conectar ao Wifi e efetuar o cadastro, pois só assim conseguirá navegar.

Assim terei um servidor PfSense distribuindo Wifi grátis e com tempo terei um banco de dados de clientes que se cadastraram para usar minha internet Wifi.

Existe algum package do PfSense para esse tipo de autenticação ?
É possível fazer esse cenário funcionar ?

Desde já agradeço a atenção.


  


2. Re: Autenticação WEB para acesso Wifi

Zhu Sha Zang
zhushazang

(usa Gentoo)

Enviado em 21/07/2015 - 10:26h

Prepara o KY por que freeradius é tenso: https://doc.pfsense.org/index.php/Captive_Portal

---
Hail Hydra!


3. Re: Autenticação WEB para acesso Wifi

Claudio Henrique Veloso
xclaudin

(usa Debian)

Enviado em 21/07/2015 - 10:34h


Maravilha cara!

Já ajudou demais!

O Captive portal só autentica usuários já criados certo?

Para autenticar usuários que ainda não estão cadastrados teria que usar um outro servidor de autenticação "Radius" ?


4. Re: Autenticação WEB para acesso Wifi

Claudio Henrique Veloso
xclaudin

(usa Debian)

Enviado em 21/07/2015 - 11:58h


Preciso que só consigam navegar apos terem efetuado um cadastro que aparecerá assim que conectarem e abrirem o navegador.


5. Re: Autenticação WEB para acesso Wifi

Claudio Henrique Veloso
xclaudin

(usa Debian)

Enviado em 21/07/2015 - 15:31h


up


6. Re: Autenticação WEB para acesso Wifi

Zhu Sha Zang
zhushazang

(usa Gentoo)

Enviado em 21/07/2015 - 15:32h

O que você já encontrou no google e não deu certo?

---
Hail Hydra!


7. Re: Autenticação WEB para acesso Wifi

Paulo Dias
di4s

(usa XUbuntu)

Enviado em 21/07/2015 - 16:42h

xclaudin escreveu:

Olá caros amigos roots.

Fui encarregado de montar um servidor PfSense para distribuir Wifi gratuito em uma praça local aqui na cidade.
Assim que as pessoas se conectarem no Wifi, quando abrirem o navegador, vai abrir uma página de cadastro, onde deverão fornecer algumas informações como por exemplo nome, e-mail, etc. Só após efetuarem esse cadastro o acesso Wifi será liberado para navegação.

Estou me questionando se é possível esse procedimento, usando de exemplo aquela rede da Oi Wifi Fon que é uma rede criada automática por todos os pontos que existem clientes da Oi, onde para usar esse Oi Wifi Fon é só você entrar com seu CPF titular que seja cliente da Oi.

Só que na minha situação eu não tenho esse banco de dados de clientes já criado.
Ele será criado e incrementado a cada vez que alguém conectar ao Wifi e efetuar o cadastro, pois só assim conseguirá navegar.

Assim terei um servidor PfSense distribuindo Wifi grátis e com tempo terei um banco de dados de clientes que se cadastraram para usar minha internet Wifi.

Existe algum package do PfSense para esse tipo de autenticação ?
É possível fazer esse cenário funcionar ?

Desde já agradeço a atenção.


Oi, vejamos...

Sim é possível fazer esse cenário. Porém, não acredito que exista alguma solução pronta que atenda 100% do que você precisa.

Acredito que você vai precisar editar e/ou criar alguns arquivos. Para tanto, é necessário ter conhecimento em PHP, SQL e no próprio PFSense. Eu não quero desanimar ( nem ofender ), mas antes de iniciar esse projeto é importante dominar todas as tecnologias envolvidas.

Vou tentar citar os passos que serão necessários:

1 - Configure o serviço DHCP.

2 - Configure o captive portal e radius.

3 - Crie uma tabela no banco de dados para armazenar os dados dos usuário( Email, telefone, CPF...).

4 - Crie um formulário HTML para receber os dados dos usuário( Email, telefone, CPF.. ).

5 - Cire um arquivo PHP que salve os dados recebidos no banco dados e libere o acesso no radius. Depois disso, esse arquivo deve redirecionar o usuário para url que foi solicitada. Obs.: O form HTML deve apontar para esse arquivo .

6 - Altere no captive portal a pagina de autenticação pelo formulário HTML que você criou.


Dica: no freeradius com mysql a liberação do acesso ocorre pelas tabelas radcheck e usergroup.

Paulo Dias.
Linux Professional Institute - LPIC-1
Novell Certified Linux Administrator - CLA

http://twitter.com/p4ulodi4s
http://www.prminformatica.com.br/


8. Re: Autenticação WEB para acesso Wifi

Claudio Henrique Veloso
xclaudin

(usa Debian)

Enviado em 21/07/2015 - 17:11h


Na verdade ainda estou com dúvida sobre o procedimento, pelo captive portal só consigo liberar acesso para usuários já cadastrados no meu banco de dados, sendo por MAC, IP, ou até mesmo usuário/senha

Só que preciso de um cenário diferente, preciso que o cliente caia numa pagina de cadastro e só seja autenticado depois de cadastrar.

Mas ta muito confuso a forma de fazer isso funcionar,

Usando Radius consigo que o cliente se cadastre e logo em seguida Logue com seu cadastro integrado com pfsense e já validado ?


Não estou conseguindo pensar em uma forma disso acontecer, sempre caio em outra objeção.


9. Re: Autenticação WEB para acesso Wifi

Claudio Henrique Veloso
xclaudin

(usa Debian)

Enviado em 21/07/2015 - 17:15h


Oi, vejamos...

Sim é possível fazer esse cenário. Porém, não acredito que exista alguma solução pronta que atenda 100% do que você precisa.

Acredito que você vai precisar editar e/ou criar alguns arquivos. Para tanto, é necessário ter conhecimento em PHP, SQL e no próprio PFSense. Eu não quero desanimar ( nem ofender ), mas antes de iniciar esse projeto é importante dominar todas as tecnologias envolvidas.

Vou tentar citar os passos que serão necessários:

1 - Configure o serviço DHCP.

2 - Configure o captive portal e radius.

3 - Crie uma tabela no banco de dados para armazenar os dados dos usuário( Email, telefone, CPF...).

4 - Crie um formulário HTML para receber os dados dos usuário( Email, telefone, CPF.. ).

5 - Cire um arquivo PHP que salve os dados recebidos no banco dados e libere o acesso no radius. Depois disso, esse arquivo deve redirecionar o usuário para url que foi solicitada. Obs.: O form HTML deve apontar para esse arquivo .

6 - Altere no captive portal a pagina de autenticação pelo formulário HTML que você criou.


Dica: no freeradius com mysql a liberação do acesso ocorre pelas tabelas radcheck e usergroup.

Paulo Dias.
Linux Professional Institute - LPIC-1
Novell Certified Linux Administrator - CLA

http://twitter.com/p4ulodi4s
http://www.prminformatica.com.br/



Paulo, vou estudar bem esse cenário, agradeço demais pela sua dica!
Possuo conhecimento básico/intermediário dos protocolos citados, mas estou muito disposto a fazer isso funcionar como um desafio,
é um estudo novo e sou muito apto a esse tipo de procedimento!

Agradeço demais pelo seu esclarecimento amigo!

Abraço



10. Re: Autenticação WEB para acesso Wifi

Guilherme Toneloto
guitoneloto

(usa Ubuntu)

Enviado em 11/09/2015 - 17:24h

Rapaz, eu estava com o mesmo problema, criar um "hotspot"...
Depois de muita pesquisa e testar vários softwares já prontos, decidi montar o meu proprio hotspot usando o IPTABLES.

Desenvolvi um programa em JAVA que fica monitorando os clientes já ativos.
Criei uma pagina de login em PHP.
Instalei um servidor DHCP.
Redireciono todos que vem pela porta 80 da minha rede para a porta 80 do meu servidor, onde rodo o apache com a pagina WEB.
O usuário se autentica, o php verifica o cadastro na base de dados e se estiver td ok, adiciona uma regra no iptables para o ip dele direcionando a porta 80 vinda do ip para a porta 9000(meu squid)...
Ainda não acabei tudo.. mais já funciona...









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts