Como transformar um proxy transparente em não transparente?

13. Re: Como transformar um proxy transparente em não transparente?

Guilherme
GuilhermeBR

(usa CentOS)

Enviado em 01/12/2013 - 15:52h

netstryker escreveu:

Oi GuilhermeBR.

Eu não pretendo fazer o proxy autenticado. Vou querer o proxy apenas como "não transparente" e usar o WPAD como automático (descoberta automática de proxy). Com a ajuda de vocês mais algumas coisas que eu já tinha feito o proxy está funcionando como eu preciso, porém, ainda não consegui fazer o WPAD funcionar como automático, só pelo script "http://192.168.0.1/wpad.dat". Esse IP é gateway da minha rede interna/proxy.


Se o proxy é "não transparente", ele é automaticamente autenticado.

Qdo vc tira o transparent do squid.conf, ele vira autenticado.


Disso:
http_port 3128 transparent

Para isso:
http_port 3128


Para o WPAD funcionar:



HTTPD.CONF:
AddType application/x-ns-proxy-autoconfig .dat

DHCP.CONF:
option wpad "http://192.168.0.254/wpad.dat\n";

BIND:
wpad IN A 192.168.0.254

* O httpd.conf e dhcpd.conf estão no diretório etc. O do bind, é no arquivo de zona.



Adicione essas linhas em seus respectivos arquivos, e reinicie os serviços.


  


14. Re: Como transformar um proxy transparente em não transparente?

Buckminster
Buckminster

(usa Debian)

Enviado em 01/12/2013 - 17:30h

GuilhermeBR,

"Se o proxy é "não transparente", ele é automaticamente autenticado.

Qdo vc tira o transparent do squid.conf, ele vira autenticado."

Você está errado. Existem 3 tipos de proxies: transparente, normal e autenticado.

O proxy normal é aquele no qual o proxy é setado nos navegadores, mas não pede autenticação.
Acredito que é isso que o netstryker está querendo, porém, em vez de setar o proxy nos navegadores ele quer fazer isso através do WPAD.


netstryker, você deu uma lida no link abaixo?
http://www.vivaolinux.com.br/artigo/Wpaddat-com-Proxy-Especifico-por-Rede/


15. Re: Como transformar um proxy transparente em não transparente?

Guilherme
GuilhermeBR

(usa CentOS)

Enviado em 01/12/2013 - 19:39h

Buckminster escreveu:

GuilhermeBR,

"Se o proxy é "não transparente", ele é automaticamente autenticado.

Qdo vc tira o transparent do squid.conf, ele vira autenticado."

Você está errado. Existem 3 tipos de proxies: transparente, normal e autenticado.

O proxy normal é aquele no qual o proxy é setado nos navegadores, mas não pede autenticação.
Acredito que é isso que o netstryker está querendo, porém, em vez de setar o proxy nos navegadores ele quer fazer isso através do WPAD.


netstryker, você deu uma lida no link abaixo?
http://www.vivaolinux.com.br/artigo/Wpaddat-com-Proxy-Especifico-por-Rede/


Nunca ouvi falar, de proxy "normal". Pra mim, sempre existiu transparente e autenticado. Bom de qq forma, não faz sentido um proxy "normal", tendo que setar os navegadores.

No caso do Bruno então, a melhor solução (ao meu ver) seria o proxy transparente, sendo que ele não quer o autenticado. Sendo que com proxy transparente, não precisa de WPAD.




16. Re: Como transformar um proxy transparente em não transparente?

Buckminster
Buckminster

(usa Debian)

Enviado em 01/12/2013 - 19:46h

GuilhermeBR

a função do WPAD é justamente essa, automatizar a busca pelo proxy, daí não precisa setar nos navegadores um por um.

O proxy dessa maneira funciona melhor do que o transparente, pois pode-se bloquear https, por exemplo.


17. Re: Como transformar um proxy transparente em não transparente?

Guilherme
GuilhermeBR

(usa CentOS)

Enviado em 02/12/2013 - 00:14h

Buckminster escreveu:

GuilhermeBR

a função do WPAD é justamente essa, automatizar a busca pelo proxy, daí não precisa setar nos navegadores um por um.

O proxy dessa maneira funciona melhor do que o transparente, pois pode-se bloquear https, por exemplo.


Eu uso wpad, na minha rede. Mas eu uso, pq o meu proxy é autenticado. Quando eu usava proxy transparente, não era necessário wpad.

E creio eu, que bloqueio de https, só é possível com proxy autenticado.




18. Re: Como transformar um proxy transparente em não transparente?

Andrey Capella Feijó
netstryker

(usa Debian)

Enviado em 02/12/2013 - 02:14h

Prezados amigos do VOL, quando falei proxy "normal" eu quis dizer "não transparente". Eu apenas usei a palavra "normal" para designá-lo como "não transparente". Foi uma definição pessoal equivocada e se causou confusão me desculpem.

Eu não posso ter um proxy "não transparente" com o WPAD configurado para que não seja necessário configurar manualmente o proxy nos navegadores com IP/gateway do proxy + porta do squid e nem pelo script "wpad.dat"!? O meu script está funcionando perfeitamente, porém, eu preciso do WPAD como automático (auto detectando as configurações de proxy da rede) mas sem a função de autenticação. Isso não é possível!?

Se não for possível terei que abrir mão do WPAD como automático.

Eu tenho uma empresa de sistemas e TI no Rio de Janeiro e estou implementando esse proxy na minha própria empresa. Hoje durante o dia vou tentar todas as sugestões relacionadas ao WPAD.

GuilhermeBR, já dei uma olhada rápida no link que você postou sobre o WPAD e vou ler com mais calma ao longo do dia.

O Buckminster está certo, eu quero um proxy "não transparente" com o WPAD automatizando a busca pelo proxy na rede mas sem a autenticação. O proxy antes estava como transparente, mas descobri um engraçadinho usando o UltraSurf, fiquei muito "P da vida" e resolvi mudar para "não transparente" por ser mais seguro, me permitindo um controle maior sobre a rede e ainda bloqueando o HTTPS. De fato, o meu proxy "não transparente" está funcionando 100% de acordo com o que eu quero e preciso, isso inclui o não funcionamento do UltraSurf e Tor. Tudo o que preciso agora é do WPAD funcionando.

Buckminster, hoje testarei as sugestões dos seus posts 6 e 11, além de implementar as políticas padrão como você sugeriu.

Vou testando e mantendo-os informados, quando tudo estiver resolvido não me esquecerei de marcar o meu post como "RESOLVIDO".

Obrigado pela ajuda de vocês até o momento.




19. Re: Como transformar um proxy transparente em não transparente?

Estefanio Brunhara
stefaniobrunhara

(usa CentOS)

Enviado em 02/12/2013 - 08:37h

Não precisa abrir mão do wpad, vai funcionar!


20. Re: Como transformar um proxy transparente em não transparente?

Guilherme
GuilhermeBR

(usa CentOS)

Enviado em 02/12/2013 - 08:39h

netstryker escreveu:

Prezados amigos do VOL, quando falei proxy "normal" eu quis dizer "não transparente". Eu apenas usei a palavra "normal" para designá-lo como "não transparente". Foi uma definição pessoal equivocada e se causou confusão me desculpem.

Eu não posso ter um proxy "não transparente" com o WPAD configurado para que não seja necessário configurar manualmente o proxy nos navegadores com IP/gateway do proxy + porta do squid e nem pelo script "wpad.dat"!? O meu script está funcionando perfeitamente, porém, eu preciso do WPAD como automático (auto detectando as configurações de proxy da rede) mas sem a função de autenticação. Isso não é possível!?

Se não for possível terei que abrir mão do WPAD como automático.

Eu tenho uma empresa de sistemas e TI no Rio de Janeiro e estou implementando esse proxy na minha própria empresa. Hoje durante o dia vou tentar todas as sugestões relacionadas ao WPAD.

GuilhermeBR, já dei uma olhada rápida no link que você postou sobre o WPAD e vou ler com mais calma ao longo do dia.

O Buckminster está certo, eu quero um proxy "não transparente" com o WPAD automatizando a busca pelo proxy na rede mas sem a autenticação. O proxy antes estava como transparente, mas descobri um engraçadinho usando o UltraSurf, fiquei muito "P da vida" e resolvi mudar para "não transparente" por ser mais seguro, me permitindo um controle maior sobre a rede e ainda bloqueando o HTTPS. De fato, o meu proxy "não transparente" está funcionando 100% de acordo com o que eu quero e preciso, isso inclui o não funcionamento do UltraSurf e Tor. Tudo o que preciso agora é do WPAD funcionando.

Buckminster, hoje testarei as sugestões dos seus posts 6 e 11, além de implementar as políticas padrão como você sugeriu.

Vou testando e mantendo-os informados, quando tudo estiver resolvido não me esquecerei de marcar o meu post como "RESOLVIDO".

Obrigado pela ajuda de vocês até o momento.



WPAD é tranquilo configurar, eu uso aqui. Basta adicionar aquelas linhas, do meu post anterior. Basicamente, vc tem que configurar o DHCP e o BIND, para que ache o seu WPAD.

Sua LAN tem AD? Uma alternativa ao WPAD, é o Active Directory.




21. Re: Como transformar um proxy transparente em não transparente?

Andrey Capella Feijó
netstryker

(usa Debian)

Enviado em 02/12/2013 - 21:11h

Buckminster escreveu:

netstryker escreveu:

Com relação a política padrão seguirei a sua sugestão.

Com relação ao que você falou sobre o "snat":
============================
E veja o que diz o Manuel:
"masquerade :: Este alvo só é válido na tabela nat na chain postrouting. Ele só deve ser utilizado com IP atribuído dinamicamente (dialup): se você tem um endereço IP estático, você deve usar o alvo snat."
============================

Obs.: Muito bom o post "Manual do IPtables - Comentários e sugestões de regras". Vou estudá-lo.

Como ficaria a regra com o "snat" e qual ou quais regras eu deveria substituir por ela!?



Não precisa colocar como snat nesse caso. Coloque elas como sugeri anteriormente.

# EX: Abrindo a porta do Squid para a rede interna
iptables -A INPUT -p tcp -i $ifproxy --dport 3128 -j ACCEPT

iptables -A INPUT -p tcp -s $iflan --dport 110 -j ACCEPT
iptables -A INPUT -p tcp -s $iflan --dport 25 -j ACCEPT
iptables -A INPUT -p tcp -s $iflan --dport 587 -j ACCEPT
# iptables -A INPUT -p tcp -s $iflan --dport 53 -j ACCEPT << primeiro teste com essas duas regras comentadas, caso não funcionar, descomente elas e teste de novo.
# iptables -A INPUT -p udp -s $iflan --source-port 53 -j ACCEPT

Ou faça assim:

iptables -A INPUT -s $iflan -p tcp -m multiport --dport 25,110,465,587,993,995 -j ACCEPT
iptables -A INPUT -d $iflan -p tcp -m multiport --dport 25,110,465,587,993,995 -j ACCEPT

As duas regras acima liberam o tráfego na ida e na volta. Porém, caso você queira liberar somente na ida (-s) ou somente na volta (-d) também pode fazer. Depende do que você quer. Às vezes precisa liberar nos dois sentidos, às vezes não.

Veja bem, o Iptable lê as regras de cima para baixo no script. Caso uma regra seja conflitante com outra mais abaixo, valerá a que está antes.
O importante é que tudo esteja funcionando a contento.
Tanto as configurações do Iptables quanto do Squid são coisas bem pessoais, vamos assim dizer, pois dependem do que se quer e dependem da rede de cada um.

E sobre autenticação no Squid vale o comentário 10 do GuilhermeBR.


Prezado Buckminster,

Na sexta-feira, quando eu disse que tudo já estava funcionando como eu preciso, mesmo antes de você postar as suas sugestões o meu script estava exatamente assim:

=========================
# Interface do proxy
ifproxy="eth1"

# Interface da internet
ifinternet="eth2"

# Rede interna
iflan="192.168.0.0/24"

# LIMPANDO AS REGRAS CRIADAS ANTERIORMENTE
# Limpando a tabela filter
iptables -F

# Limpando a tabela NAT
iptables -t nat -F

# Limpando a tabela mangle
iptables -t mangle -F

# Ativando o NAT do iptables
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
modprobe ip_nat_ftp

# Bloqueando resposta do servidor ao PING
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

# Ativando proteção contra IP spoofing
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP

# Autorizando pacotes da interface de loopback e rede local
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $ifproxy -j ACCEPT

# Aceitando a passagem de pacotes de conexões já estabelecidas
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Abrindo a porta 22 para conexão remota interna e externa via SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# Abrindo as portas 20 e 21 para conexão externa via FTP
iptables -A INPUT -i $ifinternet -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -i $ifinternet -p tcp --dport 21 -j ACCEPT

# Abrindo a porta 10000 para conexão remota interna via Webmin
iptables -A INPUT -i $ifproxy -p tcp --dport 10000 -j ACCEPT

# Abrindo a porta do Squid para a rede interna
iptables -A INPUT -i $ifproxy -p tcp --dport 3128 -j ACCEPT

# Bloqueando tentativas de conexão provenientes da Internet
iptables -A INPUT -p tcp --syn -j DROP

Liberando portas de e-mail POP e SMTP
iptables -A INPUT -s $iflan -p tcp -m multiport --dport 25,110,465,587,993,995 -j ACCEPT
iptables -A INPUT -s $iflan -p udp -m multiport --dport 25,110,587,995 -j ACCEPT
iptables -t nat -A POSTROUTING -s $iflan -p tcp -m multiport --dport 25,110,465,587,993,995 -j MASQUERADE
iptables -t nat -A POSTROUTING -s $iflan -p udp -m multiport --dport 25,110,587,995 -j MASQUERADE
iptables -t nat -A POSTROUTING -s $iflan -p tcp --dport 53 -j MASQUERADE
iptables -t nat -A POSTROUTING -s $iflan -p udp --dport 53 -j MASQUERADE

# EX: Liberando portas de DNS
iptables -A INPUT -s $iflan -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -s $iflan -p udp --source-port 53 -j ACCEPT
iptables -A FORWARD -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -p udp --dport 53 -j ACCEPT

# Liberando portas para o Skype e Teamviewer (rede local)
iptables -A FORWARD -p tcp -m multiport --dport 1616,5938 -j ACCEPT
=========================

Com o script assim o meu proxy "não transparente" estava funcionando como eu preciso, liberando o Skype e o Teamviewer. O GMail estava funcionando normalmente no Outlook para enviar e receber, cheguei até a enviar e receber mensagens de teste. Pensei que estava tudo resolvido.

Antes de ir embora, fiz backup do script que funcionou e alterei os parâmetros para que o proxy ficasse como transparente temporariamente até hoje.

Hoje, quando eu novamente mudei o script de firewall do proxy transparente para esse que funcionou perfeitamente na sexta-feira os problemas dos e-mails no Outlook voltaram. Novamente só o Skype e Teamviewer funcionam.

Passei o dia inteiro tentando de tudo, todas as sugestões dadas por vocês até agora, estudei o conteúdo de todos os links que vocês postaram e simplesmente como um passe de mágica e sem nenhuma explicação plausível os e-mails pararam de enviar e receber no Outlook.

Eu não me esqueci de mudar o proxy para "não transparente" dentro do "squid.conf" e não fiz nenhuma alteração sequer no script que havia funcionado na sexta-feira.

Não sei mais o que fazer.


22. Re: Como transformar um proxy transparente em não transparente?

Buckminster
Buckminster

(usa Debian)

Enviado em 02/12/2013 - 23:32h

Crie uma ACL assim:

acl office_liberados dstdomain "/etc/squid ou squid3/liberados.txt" << aqui vai o caminho para o arquivo, adapte para o teu squid.conf.

Dentro do arquivo liberados.txt coloque os seguintes domínios, um por linha, assim:

live.com
lync.com
glbdns.microsoft.com
microsoft.com
microsoftonline.com
microsoftonline-p.net
microsoftonline-p.com
microsoftonlineimages.com
microsoftonlinesupport.net¹
msn.com
msn.co.jp
msn.co.uk
msecnd.net
msocdn.com
office.net
office365.com
officeapps.live.com
outlook.com
Sharepoint.com
Sharepointonline.com
activedirectory.windowsazure.com
phonefactor.net

E depois junto com as ACLs de liberação acrescente essa:
http_access allow office_liberados

E libere no Iptables as portas 80 e 443 para o domínio microsoft.com.

Isso irá liberar o pacote Office para tua rede, inclusive o Outlook que faz parte do Office. Ultimamente o Office tem dado problemas com o Squid devido à "maravilhosa" Microsoft fazer tudo pela internet.
E verifique se o Office está ativado e se não é pirata.

Para maiores informações veja este tópico:
http://www.vivaolinux.com.br/topico/Suporte/Squid3-x-Office-2013-Solicita-autenticacao-mas-nao-vai


23. Re: Como transformar um proxy transparente em não transparente?

Andrey Capella Feijó
netstryker

(usa Debian)

Enviado em 03/12/2013 - 20:35h

Buckminster escreveu:

Crie uma ACL assim:

acl office_liberados dstdomain "/etc/squid ou squid3/liberados.txt" << aqui vai o caminho para o arquivo, adapte para o teu squid.conf.

Dentro do arquivo liberados.txt coloque os seguintes domínios, um por linha, assim:

live.com
lync.com
glbdns.microsoft.com
microsoft.com
microsoftonline.com
microsoftonline-p.net
microsoftonline-p.com
microsoftonlineimages.com
microsoftonlinesupport.net¹
msn.com
msn.co.jp
msn.co.uk
msecnd.net
msocdn.com
office.net
office365.com
officeapps.live.com
outlook.com
Sharepoint.com
Sharepointonline.com
activedirectory.windowsazure.com
phonefactor.net

E depois junto com as ACLs de liberação acrescente essa:
http_access allow office_liberados

E libere no Iptables as portas 80 e 443 para o domínio microsoft.com.

Isso irá liberar o pacote Office para tua rede, inclusive o Outlook que faz parte do Office. Ultimamente o Office tem dado problemas com o Squid devido à "maravilhosa" Microsoft fazer tudo pela internet.
E verifique se o Office está ativado e se não é pirata.

Para maiores informações veja este tópico:
http://www.vivaolinux.com.br/topico/Suporte/Squid3-x-Office-2013-Solicita-autenticacao-mas-nao-vai


Oi Buckminster,

Acredite meu amigo, ainda não coloquei essa sua última sugestão em prática. Fiz uma revisão completa no meu script e depois de algumas alterações estou com tudo funcionando 100% e estável agora. Testei com toda a paciência do mundo regra por regra minuciosamente até deixar somente as regras que preciso em funcionamento.

Mesmo tendo sucesso, só por questão de garantia, implementarei a sua sugestão. Estou estudando o iptables e não tenho o seu nível de conhecimento ainda, um dia eu chego lá. :) Pela razão descrita, te peço a gentileza de postar como ficaria a regra para liberar as portas 80 e 443 para o domínio "microsoft.com". Pode ser!?

Depois de implementar a sua sugestão, postarei como ficou o meu script de firewall e o "squid.conf" em suas versões finais e 100% funcionais. Ainda não definirei o post como RESOLVIDO porque partirei para a solução do WPAD automático.

Mais uma vez agradeço pela ajuda.


24. Re: Como transformar um proxy transparente em não transparente?

Buckminster
Buckminster

(usa Debian)

Enviado em 03/12/2013 - 22:52h

iptables -A FORWARD -p tcp -d microsoft.com -m multiport --dport 80,443 -j ACCEPT
iptables -A FORWARD -p tcp -s microsoft.com -m multiport --dport 80,443 -j ACCEPT

Assim libera na ida e na "frida".

Veja bem, a ordem de colocação das regras tanto no Squid quanto no Iptables é muito importante. A maioria peca nisso.



01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts