Captive portal e Wpad/Dat no Pfsense 2.3.4
-
Antes de mais nada, peço desculpas por postar algo tão comentado por aqui!
Sobre o Captive portal, a pergunta é bem simples:
É possível cadastrar usuários que tem privilégios sob o servidor?
São 3 os administradores da escola, e eles precisam ter acesso sem restrição a internet, com fazer?
–-------------- WPAD ----------------
Sou novo no Pfsense, peço desculpas!
Estou com a versão 2.3.4, rodando squid, squidguard…
Estou com dificuldade em trabalhar somente com o modo transparente, devido alguns sites que o meu cliente precisa que sejam bloqueados, serem HTTPS.
Não consegui também, fazer o squidguard trabalhar corretamente com o squid, mesmo baixando a black list e selecionando as regras ACLS, ele não bloqueia nem por reza, passa batido, portanto, deixei somente Squid no servidor.
Precisamente, estou desde hoje as 13:00 até agoa, 00:40 tentando fazer a configuração do WPAD/DAT neste servidor, já li mais de uns 20 tutoriais, sempre um ou outro resulta no erro e o serviço não caminha...
Passei tempos nestes dois:
https://nguvu.org/pfsense/pfSense-2.3-WPAD-PAC-proxy-configuration-guide/
https://forum.pfsense.org/index.php?topic=114686.0
https://www.javcasta.com/pfsense-2-3-wpad-con-nginx/Sem sucesso, quando não é um problema, é outro, principalmente para fazer o server wpad funcionar...
Este servidor em questão, é também o DHCP da rede...
Alguém teria um outro caminho pra me fornecer?
Grato até o momento!
Bom dia a todos!
-
Antes de mais nada, peço desculpas por postar algo tão comentado por aqui!
Sobre o Captive portal, a pergunta é bem simples:
É possível cadastrar usuários que tem privilégios sob o servidor?
São 3 os administradores da escola, e eles precisam ter acesso sem restrição a internet, com fazer?
A liberação do acesso sem restrição pode ser feito com regras no firewall. Tu pode setar um IP estático no pc de cada um dos administradores, criar um Alias com os 3 IPs e depois liberar eles na tua LAN.
Sou novo no Pfsense, peço desculpas!
Estou com a versão 2.3.4, rodando squid, squidguard…
Estou com dificuldade em trabalhar somente com o modo transparente, devido alguns sites que o meu cliente precisa que sejam bloqueados, serem HTTPS.
Você esta tentando no modo transparente com interceptação SSL?
Não consegui também, fazer o squidguard trabalhar corretamente com o squid, mesmo baixando a black list e selecionando as regras ACLS, ele não bloqueia nem por reza, passa batido, portanto, deixei somente Squid no servidor. Precisamente, estou desde hoje as 13:00 até agoa, 00:40 tentando fazer a configuração do WPAD/DAT neste servidor, já li mais de uns 20 tutoriais, sempre um ou outro resulta no erro e o serviço não caminha…
Como estão tuas configurações? Poste algumas printscreens.
-
A liberação do acesso sem restrição pode ser feito com regras no firewall. Tu pode setar um IP estático no pc de cada um dos administradores, criar um Alias com os 3 IPs e depois liberar eles na tua LAN.
Certo, na verdade, essa foi a primeira idéia que dei para ele, porém, ele perguntou do tipo, chegar com outro computador, que não tem o IP ESTÁTICO, não teria o acesso privilegiado…
Você esta tentando no modo transparente com interceptação SSL?
Estava tentando de todas as formas, mas, neste momento, seguindo este tutorial ( http://www.friendsti.com.br/tutorial-configurando-wpad-utilizando-dhcp-do-pfsense/ ) porém, criando os arquivos diretos via shell "ee", obtive exito no bloqueio, desativando claro, o modo transparente…
Uma dúvida, e se um aluno ir lá, e alterar as configurações de proxy, ou mesmo levar um computador novo, ele terá acesso SSL liberado?
Se sim, existe uma forma de resolver?
Como estão tuas configurações? Poste algumas printscreens.
Estou com problemas agora, rodando o squid + squidguard, ele bloqueia tudo, principalmente o site da escola, rsrsrs…
Captive portal, ainda não configurei, mas ele não vem a ser o grande problema, só poderia ter uma forma, de um usuário ter um acesso total, com as configurações automáticas, não?
Alguma alternativa ao uso do captive portal? Vi que quando coloco ele junto a autenticação no squid, ele bloqueia tudo também, fico sem acesso...
Seguem as imagens!
-
Certo, na verdade, essa foi a primeira idéia que dei para ele, porém, ele perguntou do tipo, chegar com outro computador, que não tem o IP ESTÁTICO, não teria o acesso privilegiado…
Como não são muitos usuários com esse acesso privilegiado, ficaria mais facil setar um IP para esse novo computador e adicioná-lo no Alias de liberação. Pode ser feito também com a integração do squid + squidguar com um AD/ldap. Ai tu faz a liberação por usuário.
Uma dúvida, e se um aluno ir lá, e alterar as configurações de proxy, ou mesmo levar um computador novo, ele terá acesso SSL liberado?
Se sim, existe uma forma de resolver?
Terá acesso liberado. O que tu pode fazer é deixar somente a entrada no firewall de liberação para a porta do proxy.
https://forum.pfsense.org/index.php?topic=118346.0
Nesse link acima tem um tutorial bem completo e nas respostas do tópico tem algo relacionado as regras de firewall. Só dar uma lida.
Estou com problemas agora, rodando o squid + squidguard, ele bloqueia tudo, principalmente o site da escola, rsrsrs…
Squidguard > Common ACL > Target Categories, no final tem a opção "default" que por padrão vem em "Deny". Mude para "Allow" e trabalhe do principio de deixar tudo liberado e ir bloqueando conforme tua necessidade. Caso já esteja em "Allow" é alguma configuração errada que tu possui.
Captive portal, ainda não configurei, mas ele não vem a ser o grande problema, só poderia ter uma forma, de um usuário ter um acesso total, com as configurações automáticas, não?
Até poderia, mas acredito que não seja o intuito do captiveportal.
Alguma alternativa ao uso do captive portal? Vi que quando coloco ele junto a autenticação no squid, ele bloqueia tudo também, fico sem acesso…
Acredito que seja algo relacionado a regra "Default" do Target Categories. Dá uma olhada nisso.
-
Como não são muitos usuários com esse acesso privilegiado, ficaria mais facil setar um IP para esse novo computador e adicioná-lo no Alias de liberação. Pode ser feito também com a integração do squid + squidguar com um AD/ldap. Ai tu faz a liberação por usuário.
Qual seria a solução mais fácil? Minha cabeça não aguenta mais pensar e dar soluções diferentes pro cliente, hehe, toda hora a idéia de acesso dele muda… haha
Terá acesso liberado. O que tu pode fazer é deixar somente a entrada no firewall de liberação para a porta do proxy.
https://forum.pfsense.org/index.php?topic=118346.0
Nesse link acima tem um tutorial bem completo e nas respostas do tópico tem algo relacionado as regras de firewall. Só dar uma lida.
Vou dar uma lida sim, vamos ver se não é muito complexo pra mim! rsrs
Squidguard > Common ACL > Target Categories, no final tem a opção "default" que por padrão vem em "Deny". Mude para "Allow" e trabalhe do principio de deixar tudo liberado e ir bloqueando conforme tua necessidade. Caso já esteja em "Allow" é alguma configuração errada que tu possui.
Exatamente isso, alterei aqui, e vou testar.
Até poderia, mas acredito que não seja o intuito do captiveportal.
Acredito que seja algo relacionado a regra "Default" do Target Categories. Dá uma olhada nisso.
Cheguei a ver a configuração, vou continuar mexendo, mas, de antemão, avisar que por senha, logando no captive portal, não será possível…. você comentou do AD/ldap, é complexa a configuração? Foge do que estou rodando por aqui?
Notei que usando o Squid + Squid Guard, a conexão flui devagar, é motivado por alguma configuração errada?
A princípio, muito obrigado pela ajuda até agora!
Edit: Creio que com a configuração automática de Proxy, provida do Wpad, fiquei sem acesso ao captive portal, não aparece a tela de Login…
Este é o meu wpad.dat:
function FindProxyForURL(url, host){ var host_ip; //Exceção por rede de destino host_ip= dnsResolve(host); if (isInNet(host_ip, “127.0.0.1”, “255.255.255.255”)) return “DIRECT”; if (isInNet(host_ip, “10.10.0.0”, “255.255.255.0”)) return “DIRECT”; if (localHostOrDomainIs(host, “.listenx.lan”)) return “DIRECT”; else return “PROXY 10.10.0.1:3128”; }
Alguma coisa que eu possa alterar, para que ele faça somente a utilização do Proxy quando for Https?
Na opção Dns Forwarder, coloquei além de criar o novo host, coloquei o gateway da rede, domínio e dns do servidor…
Para o momento, é só o que falta...
-
Cadê os amigos do fórum? Hehehe
-
Essa é fácil de achar no Google.
Veja as variáveis de teste em um wpad nos exemplos deste site
https://auth0.com/blog/heads-up-https-is-not-enough-when-using-wpad/ -
Essa é fácil de achar no Google.
Veja as variáveis de teste em um wpad nos exemplos deste site
https://auth0.com/blog/heads-up-https-is-not-enough-when-using-wpad/Já devo ter lido quase todos os tópicos do Google, hahahaha
Alguns eu vi, mas eram bem complicados para o meu conhecimento restrito, haha
Vou tentar, posso pedir ajuda qualquer coisa?
Grato
-
// If the protocol or URL matches, send direct. if (url.substring(0, 5)=="https:" || shExpMatch(url, "http://abcdomain.com/folder/*")) return "DIRECT";
Exemplo de código wpad
-
// If the protocol or URL matches, send direct. if (url.substring(0, 5)=="https:" || shExpMatch(url, "http://abcdomain.com/folder/*")) return "DIRECT";
Exemplo de código wpad
Certo, me desculpe tantas perguntas que para seu nível, são simples, mas realmente sou novo nessa história! Rsrs
Eu postei exatamente o meu wpad, quais alterações baseados neste exemplo que você postou, eu devo fazer?
E, em relação a segurança, caso a pessoa retire a configuração de Proxy, existe uma forma de ainda bloquear o Facebook e demais https listados na blacklist?
No aguardo!
-
Helpfast,
Se não conseguiu identificar onde encaixar o código que postei no seu wpad, pode significar que você não está sabendo exatamente o que fazer nem como configurar um script. Sugiro a você buscar um treinamento para melhorar suas habilidades com firewall.
Na parte de cima do fórum tem bastante tutorial, no youtube também e na minha assinatura, um link para treinamento no pfSense.Este é o meu wpad.dat:
function FindProxyForURL(url, host){ var host_ip; //Exceção por rede de destino host_ip= dnsResolve(host); if (isInNet(host_ip, “127.0.0.1”, “255.255.255.255”)) return “DIRECT”; if (isInNet(host_ip, “10.10.0.0”, “255.255.255.0”)) return “DIRECT”; if (localHostOrDomainIs(host, “.listenx.lan”)) return “DIRECT”; else return “PROXY 10.10.0.1:3128”; }
olha o padrão da sintaxe:
// If the protocol or URL matches, send direct. if (url.substring(0, 5)=="https:" || shExpMatch(url, "http://abcdomain.com/folder/*")) return "DIRECT";
se o que quer é usar proxy somente para ssl com proxy marcado, por mais esquisito que isso possa parecer, o seu arquivo ficaria assim:
function FindProxyForURL(url, host){ var host_ip; / /Exceção por rede de destino host_ip= dnsResolve(host); if (isInNet(host_ip, "127.0.0.1", "255.255.255.255")) return "DIRECT"; if (isInNet(host_ip, "10.10.0.0","255.255.255.0")) return "DIRECT"; if (localHostOrDomainIs(host, ".listenx.lan")) return "DIRECT"; if (url.substring(0, 6)=="https:") return "PROXY 10.10.0.1:3128"; else return "DIRECT"; }
-
Helpfast,
Se não conseguiu identificar onde encaixar o código que postei no seu wpad, pode significar que você não está sabendo exatamente o que fazer nem como configurar um script. Sugiro a você buscar um treinamento para melhorar suas habilidades com firewall.
Na parte de cima do fórum tem bastante tutorial, no youtube também e na minha assinatura, um link para treinamento no pfSense.Este é o meu wpad.dat:
function FindProxyForURL(url, host){ var host_ip; //Exceção por rede de destino host_ip= dnsResolve(host); if (isInNet(host_ip, “127.0.0.1”, “255.255.255.255”)) return “DIRECT”; if (isInNet(host_ip, “10.10.0.0”, “255.255.255.0”)) return “DIRECT”; if (localHostOrDomainIs(host, “.listenx.lan”)) return “DIRECT”; else return “PROXY 10.10.0.1:3128”; }
olha o padrão da sintaxe:
// If the protocol or URL matches, send direct. if (url.substring(0, 5)=="https:" || shExpMatch(url, "http://abcdomain.com/folder/*")) return "DIRECT";
se o que quer é usar proxy somente para ssl com proxy marcado, por mais esquisito que isso possa parecer, o seu arquivo ficaria assim:
function FindProxyForURL(url, host){ var host_ip; / /Exceção por rede de destino host_ip= dnsResolve(host); if (isInNet(host_ip, "127.0.0.1", "255.255.255.255")) return "DIRECT"; if (isInNet(host_ip, "10.10.0.0","255.255.255.0")) return "DIRECT"; if (localHostOrDomainIs(host, ".listenx.lan")) return "DIRECT"; if (url.substring(0, 6)=="https:") return "PROXY 10.10.0.1:3128"; else return "DIRECT"; }
Desculpe a falta de conhecimento, e sim, irei procurar tutoriais para ler e aprender, sempre.
A minha intenção, era somente ter o captive portal de volta, usando da forma que está, com wpad.
Li em outro lugar, que fazendo isso, iria funcionar, mas, vejo estar enganado…
Poderia me responder sobre isso?
Un abraço, e obrigado até agora.
-
Tenta o modo transparente com o modo splice all habilitado na interceptação de ssl e veja se o resultado é o que precisa.
dispositivos móveis (celulares e tablets) ignoram a configuração automática e precisam ser configurados um a um para utilização de proxy no wifi.
-
Tenta o modo transparente com o modo splice all habilitado na interceptação de ssl e veja se o resultado é o que precisa.
dispositivos móveis (celulares e tablets) ignoram a configuração automática e precisam ser configurados um a um para utilização de proxy no wifi.
As configurações estão desta forma…
https://image.ibb.co/bJbbt5/squid_ssl_pfsense.png
https://image.ibb.co/cp0KD5/SSL_Interception_pfsense.png
Apaguei as configurações do captive portal e criei novamente, mesmo assim, não passa por ele....
As máquinas recebem normalmente as configurações de proxy, mas, o cliente quer o captive portal...
O que pode estar faltando?
Obrigado até agora!
-
você está precisando aplicar um patch que o pacote tinha mas foi removido.
veja o que precisa ser alterado nesse link
https://redmine.pfsense.org/issues/5594
muito cuidado ao editar arquivos do sistema operacional.
-
você está precisando aplicar um patch que o pacote tinha mas foi removido.
veja o que precisa ser alterado nesse link
https://redmine.pfsense.org/issues/5594
muito cuidado ao editar arquivos do sistema operacional.
Obrigado, irei ver aqui…
De qualquer forma, fazendo um backup, se der algo errado, formato e busco tudo via backup, certo?
Um abraço
-
De qualquer forma, fazendo um backup, se der algo errado, formato e busco tudo via backup, certo?
é só um arquivo. você pode fazer o backup localmente mesmo…
-
De qualquer forma, fazendo um backup, se der algo errado, formato e busco tudo via backup, certo?
é só um arquivo. você pode fazer o backup localmente mesmo…
Tranquilo…
Eu até olhei, tentei entender, mas não adianta, como é algo novo pra mim, não vou arriscar a escrever esse patch...
Marcelo, obrigado pela ajuda, acho que irei retirar o wpad e mandar os bloqueios somente em HTTP mesmo, ai o captive portal funciona... posso até procurar um outro meio de fechar https de outra forma que o captive funcione, mas....
Eu pego as coisas, vou lendo e mexendo e faço dar certo, mas, como foge da minha área de trabalho, é complicado dominar técnicas ou ter o "feeling" da coisa, pra fazer dar certo...
A imagem do patch, que está anexado no tópico, é exatamente o necessário pra rodar aqui?
Consigo os códigos, ou são privados?
Grato!
-
Opa Marcelo, bom dia!
Só vim para avisar, que contratamos um serviço de Hotspot, Tanaza, para o cliente, assim, pularemos o Captive portal.
Existe uma outra maneira, de bloquear uns 5 sites específicos HTTPS, fora ao uso do WPAD?
Obrigado!
-
Opa Marcelo, bom dia!
Só vim para avisar, que contratamos um serviço de Hotspot, Tanaza, para o cliente, assim, pularemos o Captive portal.
Existe uma outra maneira, de bloquear uns 5 sites específicos HTTPS, fora ao uso do WPAD?
Obrigado!
Squid + squidguard e interceptação ssl no modo Splice ALL. Dessa forma tu não precisa setar proxy e nem instalar certificado nas máquinas dos clientes. Aqui no fórum tem vários tópicos sobre o assunto.