Squidguard+squid+captive portal+freeradius2+lightsquid
-
Bom pessoal estou testando essas 5 soluções como um todo em uma implementação aqui na empresa e venho lhes falar sobre resultados positivos e negativos de tais processos.Estou trabalhando na área de T.I faz 1 ano,mas estou em um ritmo de aprendizado rápido e estudo frequentemente,se eu estiver passando informações erradas aqui por favor me corrijam.
O captive portal está funcionando muito bem com o freeradius2 e o controle de banda/tráfego/tempo de conexão/tempo de login máximo está funcionando perfeitamente com as 2 ferramentas,pois testei tais elementos.
O resultado é muito satisfatório,pois temos uma página aonde os usuários podem se autenticar,podemos controlar a banda por usuário(até mesmo em torrents o controle funciona)/tempo de uso ,etc… não vou mencionar todas as funcionalidades de tais pacotes,mas venho detalhar minha experiência sobre eles com vocês. :)
Página do captive portal: (vou adicionar algumas imagens e logo)
Código da página:
content="text/html; charset=iso-8859-1" /> <title>Página de Login</title> ## Login Digite seu usuário e senha para acessar a internet . Usuário: class="form-login" title="Username" value="" size="30" maxlength="2048" /> Senha: title="Password" value="" size="30" maxlength="2048" type="password" /> type="checkbox" /> Lembrar senha [style="margin-left: 30px;">Esqueceu a senha?](#) [![](images/login-btn.png)height="42" width="103" />](#)
Página de aceitação de uso:
content="text/html; charset=iso-8859-1"> <title>Termos de Uso</title> # Termos de Uso ### style="font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 12px; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: rgb(255, 255, 255);"><font<br>color="#ff0000">Leia com atenção nossos Termos de Aceitação antes de continuar.</font<br> <center> <span<br>style="color: rgb(70, 69, 69); font-family: tahoma; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: rgb(255, 255, 255); display: inline ! important; float: none;"><font<br>face="Arial">- Acessar a Internet somente por necessidade de serviço ou por determinação expressa de superior hierárquico, realizando as tarefas e operações em estrita observância aos procedimentos aqui citados. - Manter a necessária cautela quando da exibição de dados em tela, impressora ou na gravação em meios eletrônicos, a fim de evitar que deles venham a tomar ciência pessoas não autorizadas; - Não revelar minha senha de acesso a Internet e de minha caixa postal (e-mail) a ninguém e tomar o máximo de cuidado para que ela permaneça somente de meu conhecimento. - Responder, em todas as instâncias, pelas conseqüências das ações ou omissões de minha parte que possam pôr em risco ou comprometer a exclusividade de conhecimento de minha senha ou das transações a que tenha acesso. - Não é permitida a navegação em sites pornográficos, defensores do uso drogas,filmes,desenhos,animações,redes sociais,sites de Pedofilia ou sites de cunho racista e similares; - Respeitar as normas de segurança e restrições de sistema impostas pelos sistemas de segurança implantados na instituição; - Cumprir e fazer cumprir os dispositivos da Política Corporativa de Segurança da Informação, de suas diretrizes, bem como deste Termo de Responsabilidade. -Proibido violar a privacidade de outros usuários.</font<br></span<br> </center> <form method="post" action="$PORTAL_ACTION$"> <font<br>face="Arial">type="hidden"></font<br> </form>
Pontos negativos:
-Captive portal atualmente apenas funciona com proxy transparente.
-O usuário consegue burlar o captive colocando no navegador o ip do pfsense e porta 3128 (solução redirecionar porta 3128 para 8000).Dúvidas:
Essas dúvidas complementam um tutorial bem detalhado que vou fazer sobre tais pacotes.
-Como posso editar essa página ou qualquer outra página para direcionar os elementos nas div para $PORTAL_ACTION$ e $PORTAL_REDIRURL$?
-Como posso criar uma página de termos que ao clicar em aceitar direciona para a página de login ?
-Posso adicionar o index.html dessas páginas diretamente no file manager juntamente com as imagens ?
-Como posso gerar relatórios de acesso pelo lightsquid apartir de uma base de usuários do freeradius2 ?Essas perguntas são essenciais para mim poder concluir o tutorial.
Obrigado a todos que colaborarem com tais questões.
-
Você já testou o arquivo modificado que postei no outro topico?
-
Vina18, boa tarde
Me responda uma coisa, o freeradius vc instalou no pfsense mesmo ou em outro servidor, é um pacote do pfsense?
abs
Souza Linux
-
Vina18, boa tarde
Me responda uma coisa, o freeradius vc instalou no pfsense mesmo ou em outro servidor, é um pacote do pfsense?
abs
Souza Linux
O freeradius2 é um pacote do pfsense,que por sinal é bem completo :)
@marcello vou testar 2ªfeira e fazer outros testes.Posto os resultados aqui.
-
Vina,
Eu acredito que você consiga isso integrando a janela do captive portal com a autenticação do squid.
Exemplo teórico:
Dentro do html do login, uma chamada para uma pagina que passe pela autenticação ntlm do squid.A alguns anos atras eu já tentei isso, mas acabei tocando o squid com dansguardian em modo sanduíche.
-
Segui os procedimentos que você descreveu e com sucesso a porta 3128 é bloqueada até o login ser realizado com sucesso.O usuário não consegui navegar até ser autenticado.
Será que com uma modificação no captive portal faria ele funcionar em modo não transparente ?
No meu ponto de vista o captive portal não funciona em modo não transparente,pois o mesmo não foi feito para direcionar a navegação para "ip_pfsense:8000" (página do portal do captive) até que seja feito o login e em seguida para a porta 3128.Isso explica o fato de que os usuários conseguem "burlar" a autenticação ao setar as configurações do proxy no navegador.
Obrigado marcello pela ajuda.
Vou testar mais algumas modificações,pois ainda não consegui redirecionar a página de termos para uma página do captive modificada. -
Vina com o arquivo modificado você conseguiu bloquear o squid.
O próximo passo é configurar o browser para não exigir proxy para uma determinada url e colocar esta mesma url como pagina padrão.
Desta forma, toda vez que o usuário abrir o browser, a pagina sera acessada e o captive portal acionado.
-
@Gratz 3000 posts marcello :o
Marcello tal procedimento descrito acima funcionou,pois eu configurei no navegador para não usar proxy para x url e adicione o ip do pfsense.
Ex: sem proxy para:localhost, 127.0.0.1, uol.com.br(página principal), 192.168.1.1(ip pfsense)
Tal procedimento tem de ser "automatizado" via GPO.
Não teria marcelo como fazer isso pelo script do wpad ou alguma outra forma ?
-
Funciona sim, falei da configuração manual do proxy porque você não esta usando wpad ainda.
O wpad faz isso com "o pé nas costas".
-
Ótimo marcello…
Vou subir na vm um windows 2008 aqui e rodar serviço de dhcp,dns e testar.
Grato marcello.
(Da pra fixar esse tópico pro pessoal que não conhece tal solução) .
O próximo problema é o lightsquid,pois não consigo gerar relatórios a partir de nomes de usuários.O cron faz tal procedimento ?
-
Vou coloca este tópico na lista de tutoriais para pacotes.
Devo publicar o patch do captive portal.
-
Boa tarde
Você tem o esquema do wpad pois já tentei fazer funcionar e não obtive êxito.
Abs
Souza Linux
-
Usa este tutorial(postado na lista de tutorias para pacotes)
http://doc.pfsense.org/index.php/WPAD_Autoconfigure_for_Squid
tem um em português também:
http://blogdonerd.com.br/2011/10/descoberta-automatica-de-proxy-wpad-web-proxy-auto-discovery/
-
Dentro do html do login, uma chamada para uma pagina que passe pela autenticação ntlm do squid.
Só uma correção
O teste que fiz a alguns anos usava a autenticação do servidor web e não do squid para identificar o usuário.
Pode ser uma boa tentativa para unificar captive portal e autenticação "transparente"
-
vina18
Bom dia. Gostaria de saber como tá o andamento do projeto do Squidguard+squid+captive portal+freeradius2+lightsquid. Estou acompanhando seu tópico e adoraria saber informações dos resultados.
Abraços
ATT
Breno Alencar
-
vina18
Bom dia. Gostaria de saber como tá o andamento do projeto do Squidguard+squid+captive portal+freeradius2+lightsquid. Estou acompanhando seu tópico e adoraria saber informações dos resultados.
Abraços
ATT
Breno Alencar
Breno como estou bem ocupado com algumas virtualizações de servidores aqui no trampo ta bem corrido para "mecher" no pfsense :P mas o seguinte status posso lhe passar.
-Captive portal+Freeradius2 -
-Restrição de horário para uso da internet -Ok testado
-Restrição de banda (limita a banda para todos os protocolos) adeus torrent maldito -Ok testado
-Restrição de banda máxima por dia -OK testado
-Captive portal testado com todas as portas bloqueadas apenas a porta (80,3128,8080,8000 liberadas) a porta 443 está com restrição apenas alguns sites liberados,protocolo ICMP liberado apenas na interface LAN.
-O Captive portal está funcionando em modo não transparente graças ao arquivo que o MARCELLOC me passou e eu substitui nas configurações do captive portal.O usuário precisa setar o proxy para navegar e ter a página principal como o ip_pfsense:8000 para acessar a página de login.-Lightsquid-
-Ainda apenas estou conseguindo tirar relatórios apartir do IP dos usuários.
-Vou tentar e testar se é possível "puxar" as informações do status do captive portal ou do squid para fazer tal log apartir da base de dados dos usuários.-Customização do captive portal-
-O captive portal deixa muito a desejar nessa questão de customização do portal,pois o mesmo precisa fazer upload das imagens pelo interface web do captive e até hoje não descobri em que pasta elas são armazenadas. (vou pesquisar mais)
-Estou tendo problemas com códigos css/php na página.
-Os campos de login e senhas deram certos porém preciso criar um redirecionamento para a página de aceitação de termos antes de tal login.
-Vou precisar de um tempo para terminar tal customização,mas ela está indo muito bem até agora. :)Grato!
-
Vina,
Você seguiu algum tutorial para configurar o freeradius?
Queria sincronizar o freeradius com o Ad, para fazer os usuarios do Captive Portal logarem no AD, será possivel?
Parabens pelo projeto!
-
Vina,
Estou ancioso para testar o freeradius no pfsense. Se vc tiver alguma material disponivel sobre o assunto e tiver como compartilhar com os demais ficariamos imensamente agradecidos. Todo o material é bem vindo. Se precisar de pessoal para teste estou à sua disposição.
Abraços
ATT
Breno Alencar
-
E ai pessoal, alguma ideia de como "pegar" os usuários autenticados pelo Captive Portal e mostrar esses no Lightsquid?
Será que da pra inserir no
<form>do captive portal algum parametro pra gravar o usuario no ntlm pro Lightsquid conseguir ler?</form>
-
Vina,
Você seguiu algum tutorial para configurar o freeradius?
Queria sincronizar o freeradius com o Ad, para fazer os usuarios do Captive Portal logarem no AD, será possivel?
Parabens pelo projeto!
É bem tranquilo tal procedimento thiago :)
Da uma olhada :
http://www.youtube.com/watch?v=B6Hjxd1Af-s
Infelizmente temos pouco conteúdo sobre o freeradius2 o que eu aprendi foi errando e acertando o famoso Virtualbox + testes :D
Após realizar tal procedimento vá na aba LDAP e configure segundo as informações do seu servidor previamente configurado com o AD.
No squid vá na aba auth settings e selecione RADIUS e complete com as informações segunda suas configurações do freeradius2.Boa sorte.