Squid com autenticação integrada ao Captive Portal
-
Segui os procedimentos indicados mas os serviços do squid e squidguard permanecem com status stopped.
Agradeço a ajuda.pfsense: 2.1-RELEASE (amd64)
squid3: 3.1.20 pkg 2.0.6
squidGuard: 1.4_4 pkg v.1.9.5Autenticação na interface LAN (squid e squidguard) integrada com Active Directory funciona corretamente
Autenticação na interface OPT (captive portal) integrada com Radius Windows 2008 R2 funciona corretamenteCaptive Portal + Squid + Squidguard não consegui implementar.
1. Proxy Server > Custom Options
external_acl_type check_filter children-startup=5 ttl=60 %SRC /usr/pbi/squid-amd64/libexec/squid/check_ip.php
acl dgfilter external check_filter
http_access allow dgfilter2. Shell
fetch -o /usr/pbi/squid-amd64/libexec/squid/check_ip.php https://raw.github.com/pfsense/pfsense-packages/master/config/squid3/33/check_ip.php3. Shell
ls -l /usr/pbi/squid-amd64/libexec/squid/check_ip.php
-rwxr-xr-x 1 root wheel 2769 Sep 26 07:12 /usr/pbi/squid-amd64/libexec/squid/check_ip.php4. Shell
/usr/pbi/squid-amd64/libexec/squid/check_ip.php
Não retorna informação5. Status > System Logs > General
Sep 26 07:33:03 squid: Bungled squid.conf line 85: external_acl_type check_filter children-startup=5 ttl=60 %SRC /usr/pbi/squid-amd64/libexec/squid/check_ip.php
Sep 26 07:33:08 php[30152]: /status_services.php: The command '/usr/local/etc/rc.d/squid.sh stop' returned exit code '1', the output was 'FATAL: Bungled squid.conf line 85: external_acl_type check_filter children-startup=5 ttl=60 %SRC /usr/pbi/squid-amd64/libexec/squid/check_ip.php Squid Cache (Version 3.1.22): Terminated abnormally. CPU Usage: 0.006 seconds = 0.006 user + 0.000 sys Maximum Resident Size: 6072 KB Page faults with physical i/o: 0'
Sep 26 07:33:10 squid: Bungled squid.conf line 85: external_acl_type check_filter children-startup=5 ttl=60 %SRC /usr/pbi/squid-amd64/libexec/squid/check_ip.php -
eu falo com vc com:
só neste e-mail:forum@pfsense.org
entra em contato comigo no e-mail calebepereira@hotmail.com para que possamos conversar se for possível um tel eu fico grato.
-
sorry ı have to use english
a small contribution to the external acl type scrirpt
ttl=60 means the code will not check the ip for 60 seconds, and will use the first username for that period even if the user loged out and a new one logged in, a value shorter like ttl=0 or ttl=1 would be more accurate I think
-
Thanks for your contribution on this topic :)
-
one last thing:
when external_acl_type returns ERR, squid blocks the connection, so if you make some users bypass the captiveportal and connect directly to internet, squid external acl directive will not find a username and return an ERR message, this will block the client, so the last part of the check_ip.php should be like this
if ($usuario !="")
$resposta="OK user={$usuario}";
else
$resposta="OK user=bypasseduser";
fwrite (STDOUT, "{$resposta}\n");
unset($cp_db);so in access log you will see "bypasseduser" in the field of username
-
Autenticação do captive portal authentication incluída no squid3-dev.
Não precisa mais configurar "custom options", basta selecionar captive portal na aba authentication -
Consegui fazer um SSO sem usar ntlm ou kerberos no squid. Vou amadurecer mais a idéia por aqui e qualquer dia deste publico para comunidade.
-
Em breve começo os testes com o captive portal da 2.1
Acabei de subir o helper que integra a autenticação do captive portal com o squid.
A alteração na interface para o squid2 já está pronta mas vou deixar para publicar depois
Por enquanto:
No squid3, basta selecionar captive portal na aba authenticationNo squid2, inclua estas configurações no campo custom options
external_acl_type check_filter children=5 ttl=60 %SRC /usr/pbi/squid-amd64/libexec/squid/check_ip.php;acl dgfilter external check_filter;http_access allow dgfilter;
E baixe este arquivo
fetch -o /usr/pbi/squid-amd64/libexec/squid/check_ip.php https://raw.github.com/pfsense/pfsense-packages/master/config/squid3/33/check_ip.php
Ola Marcelloc, eu tenho instalado o squid3 mas não aparece a opção captive na aba Authentication.
-
Ola Marcelloc, eu tenho instalado o squid3 mas não aparece a opção captive na aba Authentication.
Squid3-dev
-
Estou tentando fazer essa autenticação funcionar e to tomando um coro rs.
o Squid insiste em dizer que "unexpect read from check_filter 4 bytes ERR"
Ja conferi o PHP e ele ta certinho. Acha a base normal.
Rodando ele na mao, quando jogo o IP ele retorna o user ou ERR.
Mas o squid insiste em não aceitar o STDOUT.
Alguem pode me dar um help?
-
Na última versão do pacote, não precisa criar as acls na mão.
Como está sua configuração?
-
Fiz tudo automatico direto na ultima versão :)
Por isso ta tudo certinho, mas o problema esta apresentando no LOG.
-
Seu pfsense é 2.0 ou 2.1?
-
2.1 recem instalado e fazendo testes.
-
No log do squid não aparece nenhuma linha de log com usuário?
-
Nada, apenas esses erros falando do helper.
Já tentei baixar o check_ip.php de novo e trocar, tentei tirar o \n do ERR, colocar, fazer um TRIM e nada. Ele acha algum problema.
-
este erro aparece no access.log ou no cache.log?
-
no cache.log
-
Você está usando o proxy configurado no browser ou no modo transparente?
Vou tentar simular isso aqui aqui novamente.
-
Tava configurado no browser.
Coloquei em modo transparente e agora ta OK.
Ainda não entendi.
Marcelo, aquela questão das Libs de baixar pelo fetch esta acontecendo sempre viu!! Muita gente deve estar apanhando disso.
Agora ta funcionando fino!! Parabens pelo trabalho, muito bom!!!