Liberar macs para não passar pelo proxy
-
Pessoal,
Sempre usei linux para firewall e proxy(squid autenticado + iptables)
Hoje minha solução é assim:
Squid autenticado por usuário para proxy(tenho uma lista white e blacklist) onde fica tudo bloqueado e libero somente o que preciso.
Exemplo do meu:
#USER: Jeinne
acl u_jeinne_url_allow url_regex -i "/etc/squid/u_jeinne_allow"
http_access allow u_jeinne u_jeinne_url_allow
acl u_jeinne_url_deny url_regex -i "/etc/squid/u_jeinne_deny"
http_access deny u_jeinne u_jeinne_url_denyDentro do u_jeinne_deny, tenho .* para ficar tudo bloqueado
Tenho um arquivo no_cache onde ficam os sites que não passam pelo cache. Sites dinâmicos.
o caminho do meu /etc/squid/no_cacheTenho uma lista liberados que são sites que não passam pela autenticação. São liberados para todos.
/etc/squid/liberadosTenho sarg para relatório.
caminho do meu: /etc/squid/sar.confCaminho do cache, onde fica o caminho do cache squid para limpeza futuramente?
Exemplo do meu:
cache_dir ufs /var/cachesquid1 5120 16 256No firewall, só fiquei com dúvida para:
1)Liberar os macs das máquinas da diretoria para não passar pelo proxy. Acesso liberado total sem passar pelo proxy
Exemplo do meu:
iptables -t nat -A PREROUTING -p tcp -m mac –mac-source 64:76:ba:b5:6a:28 -d 0.0.0.0.0/0 --dport 80 -j ACCEPT #MBA NCFEssa linha está antes do direcionamento para a porta do proxy e o diretor navega normalmente sem passar pelo proxy
2)Direcionamento para o proxy:
iptables -t nat -A PREROUTING -i $IF_INTERNO -p tcp --dport 80 -j REDIRECT --to-port 3129 #redirecionar www da porta 80 para 3129 proxy
iptables -A INPUT -i $IF_INTERNO --dst $IP_INTERNO/255.255.255.255 -p tcp --dport 3129 -j ACCEPT # acesso interno ao Proxy aceitar os outros na porta 3128Como estou querendo migrar para o pfsense, e estou entrando agora no fórum, alguém pode me auxiliar como faço isso no firewall e onde encontrar essa documentação para configurar o proxy dessa forma?
-
Pessoal,
Sempre usei linux para firewall e proxy(squid autenticado + iptables)
Hoje minha solução é assim:
Squid autenticado por usuário para proxy(tenho uma lista white e blacklist) onde fica tudo bloqueado e libero somente o que preciso.
Exemplo do meu:
#USER: Jeinne
acl u_jeinne_url_allow url_regex -i "/etc/squid/u_jeinne_allow"
http_access allow u_jeinne u_jeinne_url_allow
acl u_jeinne_url_deny url_regex -i "/etc/squid/u_jeinne_deny"
http_access deny u_jeinne u_jeinne_url_denyDentro do u_jeinne_deny, tenho .* para ficar tudo bloqueado
Tenho um arquivo no_cache onde ficam os sites que não passam pelo cache. Sites dinâmicos.
o caminho do meu /etc/squid/no_cacheTenho uma lista liberados que são sites que não passam pela autenticação. São liberados para todos.
/etc/squid/liberadosTenho sarg para relatório.
caminho do meu: /etc/squid/sar.confCaminho do cache, onde fica o caminho do cache squid para limpeza futuramente?
Exemplo do meu:
cache_dir ufs /var/cachesquid1 5120 16 256No firewall, só fiquei com dúvida para:
1)Liberar os macs das máquinas da diretoria para não passar pelo proxy. Acesso liberado total sem passar pelo proxy
Exemplo do meu:
iptables -t nat -A PREROUTING -p tcp -m mac –mac-source 64:76:ba:b5:6a:28 -d 0.0.0.0.0/0 --dport 80 -j ACCEPT #MBA NCFEssa linha está antes do direcionamento para a porta do proxy e o diretor navega normalmente sem passar pelo proxy
2)Direcionamento para o proxy:
iptables -t nat -A PREROUTING -i $IF_INTERNO -p tcp --dport 80 -j REDIRECT --to-port 3129 #redirecionar www da porta 80 para 3129 proxy
iptables -A INPUT -i $IF_INTERNO --dst $IP_INTERNO/255.255.255.255 -p tcp --dport 3129 -j ACCEPT # acesso interno ao Proxy aceitar os outros na porta 3128Como estou querendo migrar para o pfsense, e estou entrando agora no fórum, alguém pode me auxiliar como faço isso no firewall e onde encontrar essa documentação para configurar o proxy dessa forma?
Tranquilo?
Vou tentar te ajudar pelo pouco que eu sei.
Usando o pfsense, voc6e consegue até melhorar os controles por usuários e grupos no squid.
No firewall, acho que você só consegue trabalhar com MAC habilitando o captive portal (trabalha com MAC no ipfw).Eu tenho rodando aqui o seguinte cenário:
- Diversos departamentos, cada um em uma interface diferente
- Firewall bloqueando tudo em todas as interfaces, liberando só as portas/ip's destino que o departamento precisa.
- Wpad para proxy automatico no browser do usuario (http/https)
- dhcpd com lease estatico para todos nas interfaces LAN
- proxy squid+squidguard autenticando no samba4 ubuntu. com isso, eu libero grupos de acesso diferentes via grupo do AD.
- squidguard
Como sua dúvida foi só sobre liberar os MAC's, você poderia usar leases estáticos e liberar o IP da diretoria direto no firewall, sem passar pelo proxy.
-
Muito obrigado pelo retorno.
Instalei hoje e fiz a configuração do squid por grupo com autenticação local
Mas o usuário do grupo só acessa o que está em withelist ma aba acl. Ele não acessa o que está na lista berada para o grupo dele. Segui o tutorial daqui. Pode me ajudar?Link: https://forum.pfsense.org/index.php?PHPSESSID=9opm9qfivng8frgc9ab83ica45&topic=91749.0
Sobre o firewall, como usuária a regra: iptables -t nat -A PREROUTING -p tcp -m mac –mac-source 64:76:ba:b5:6a:28 -d 0.0.0.0.0/0 --dport 80 -j ACCEPT #MBA
No pfsense?
-
Por MAC direto na regra não, vai ter que atrelar o MAC ao IP e usar IP.
-
Então,
O problema é que a rede é DHCP e o diretor não quer que eu coloque IP fixo na máquina dele. Se eu não fizer isso, vou ter problemas quando le pegar um IP novo.
Não tem outra forma de liberar uma máquina para não passar pelo proxy?
-
Atrela o MAC da máquina dele a um IP. Ele sempre vai receber o mesmo endereço.
Só cadastrar ele nas opções do DHCP Server.https://doc.pfsense.org/index.php/DHCP_Server#Static_IP_Mappings
-
Entendi. Então, como ficaria essa regra de prerouting usando o ip ao invés do mac?
-
O Iptables trabalha de forma diferente que o Packet Filter do pfSense.
Voce precisa somente criar um Alias com os IPs, e depois criar uma regra de PASS na interface onde as máquinas estão, por exemplo a LAN.Recomendo você procurar videos de como funciona o firewall no pfSense, pois confunde um pouco para quem vem do Linux.
Da uma olhada neste vídeo, creio que vai te ajudar a entender melhor:
http://www.ivanildogalvao.com.br/seguranca/pfsense-firewall-e-roteamento -
Amigo muito obrigado.
Está funcionando!!!
Só tem um porém, será que tem como configurar uma página como no squid do linux para quando o usuário desmarcar o proxy e não for liberado, aparecer uma tela avisando?
Porque no pfsense só aparece: essa página da erb não está disponível.
-
Como era a forma que fazia no Linux?
-
Uso essa regra para direcionar todfo tráfego pra o proxy. Com isso, se o usuário desmarcar o proxy autenticado no navegador, ele redireciona automaticamente para a página erro "The requested URL could not be retrieved" onde eu peguei nesse arquivo na pasta de erros do squid e alterei.
#CONFIGURA?^??^?O PROXY##############################################
iptables -t nat -A PREROUTING -i $IF_INTERNO -p tcp –dport 80 -j REDIRECT --to- port 3129 #redirecionar www da porta 80 para 3129 proxy
iptables -A INPUT -i $IF_INTERNO --dst $IP_INTERNO/255.255.255.255 -p tcp --dpor t 3129 -j ACCEPT # acesso interno ao Proxy aceitar os outros na porta 3128 -
Certo, isso é feito automaticamente no pfSense quando ativo o proxy transparente, essa regra de redirecionamento é criada.
Essa pagina de erro você pode personalizar da mesma forma, pois é uma html do Squid. -
E no meu caso que uso o proxy autenticado, não era para fazer isso automaticamente?
você usa squid transparente? me passa a regra para eu tentar colocar aqui para eu ver se redireciona no autenticado
-
Proxy transparente não tem nada a ver com proxy autenticado.
A regra é criada pelo pfSense, não tem como eu te passar ela.
Eu só uso proxy ativo (não transparente).
Você ativa o proxy transparente nas configurações do Squid, e a regra vai ser criada, mas ela não aparece pra vocês nas regras de firewall da LAN.
-
Se o proxy é autenticado, feche a porta 80/443 que se ele desmarcar o proxy no browser não vai navegar. Aquela sua regra do iptables estava usando um proxy misto autenticado/transparente, ou seja se o usuario desmarcar o proxy ele continuaria fazendo o proxy transparente.
-
Isso já está feito!!
Ai no caso, quando nega, abre essa tela em branco que falei anteriormente com a mensagem como se não tivesse internet"essa página da erb não está disponível." Preciso que abra uma pagina personalizada como no squid do linux entendeu?
desde já agradeço,
-
Alguem sabe como direcionar para uma página específica do squid quando não estiver com o proxy configurado no navegador?
-
Use WPAD para entregar a configuração automática para os navegadores, assim não precisa configurar manualmente.
-
Tomas.,
O problema não é configurar manualmente ou automaticamente, quero realmente direcionar para uma página se o usuário não estiver com o navegador configurado. Nessa página, irei fazer uma customização onde ensino o usuário a configurar o proxy como faço hoje no linux.
-
Eu entendi o que você quer, só te dei uma opção de não precisar fazer essa pagina. A configuração vai ser entregue automaticamente, é só uma opção. Faça como você achar melhor, eu só acho desnecessário.
-
boa noite,
aproveitando a conversa de voces eu criei um ambiente com PF 2.2.2 + AD(NTLM), usando WPAD para integrar as configurações, porém preciso de alguma forma criar exceção para os servidores nao passar pelo proxy, tenho procurado uma forma sem ser por regra de firewall.
Alguem já conseguiu fazer isso?
eu uso esses comandos no meu WPAD:
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, "192.168.2.0", "255.255.255.0"))
return "DIRECT";
else
return "PROXY 192.168.2.2:3128";
}abraços,
Renan Lima
-
Renan Lima,
veja em: http://findproxyforurl.com/example-pac-file/// If the hostname matches, send direct.
if (dnsDomainIs(host, ".intranet.domain.com") ||
shExpMatch(host, "(*.abcdomain.com|abcdomain.com)"))
return "DIRECT"; -
Alguem sabe como direcionar para uma página específica do squid quando não estiver com o proxy configurado no navegador?
Olá.
Uma pergunta… vc já tinha essa solução funcionando?
Seria uma possíbilidade se o pfsense fosse capaz de rodar 2 instâncias do proxy na mesma LAN (1 transparente e 1 autenticada).
Talvez seja possível usando captiveportal.abs