De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Silmar A. Marca
Data de Publicação: 07 de Janeiro de 2005
Segue um mini Tutorial/HOWTO:
A identificação de um proxy, seja transparente ou não depende do envio (pelo próprio proxy) de alguns headers (criados por ele mesmo) de identificação. No caso do squid, para evitar tal identificação basta adicionar as seguintes linhas no squid.conf:
#---/etc/squid/squid.conf (squid versão squid-2.5.7 ou superior) # TAG: header_access ... header_access Via deny all header_access X-Forwarded-For deny all header_access Proxy-Connection deny all header_access Accept-Encoding deny all # TAG: header_replace ...
É feita através do informe do parametro numero 252 do dhcp. É necessário configurar tanto o DHCP, quanto um servidor Web (no meu caso o APACHE). Veja que eu informo na opção 252 o ip onde está o servidor APACHE com o arquivo "wpad.dat". Este arquivo é quem irá informar o proxy e outros. O browser deve ter a opção "Detectar configurações automaticamente" setada.
#---/etc/dhcpd.conf (dhcpd versão 3.x) ... option wpad code 252 = text ; ... subnet 10.0.0.0 netmask 255.0.0.0 { ... option wpad "http://10.0.0.1/wpad.dat\000"; ... } subnet 172.16.0.0 netmask 255.240.0.0 { ... option wpad "http://172.16.0.1/wpad.dat\000"; ... } subnet 192.168.0.0 netmask 255.255.0.0 { ... option wpad "http://192.168.0.1/wpad.dat\000"; ... }
#--/etc/apache/conf/conf.d/proxy.conf (apache versão 2.x)
<VirtualHost *:80> DirectoryIndex wpad.dat ServerAlias proxy.* wpad.* DocumentRoot "/srv/www/default/proxy/" <Location "/"> ForceType application/x-ns-proxy-autoconfig </Location> </VirtualHost> <Directory "/srv/www/default/proxy/"> Order allow,deny Allow from 10. 192.168. 172.16. 127. AllowOverride FileInfo AuthConfig Limit ForceType application/x-ns-proxy-autoconfig # Options +ExecCGI </Directory> # AddHandler cgi-script .cgi AddType application/x-ns-proxy-autoconfig .dat AddType application/x-ns-proxy-autoconfig .pac Alias /wpad.dat "/srv/www/default/proxy/wpad.dat" Alias /wpad.da "/srv/www/default/proxy/wpad.dat" Alias /proxy.pac "/srv/www/default/proxy/wpad.dat"
#---/srv/www/default/proxy/wpad.dat (Browsers Iexplorer, Netscape etc...) function FindProxyForURL(url, host) { var domlocal = ".grupogsn.com.br"; var netlocal = "200.181.255.20"; var msklocal = "255.255.255.255"; var proxyaddr = "PROXY proxy.grupogsn.com.br:3128; DIRECT"; var proxyaddra = "PROXY 10.0.0.1:3128;"; var proxyaddrb = "PROXY 172.16.0.1:3128;"; var proxyaddrc = "PROXY 192.168.0.1:3128;"; if (dnsDomainIs(host, domlocal)) { return "DIRECT"; } else if (isPlainHostName(host)) { return "DIRECT"; } else if (isInNet(host, netlocal, msklocal)) { return "DIRECT"; } else if (isInNet(host, "127.0.0.0", "255.0.0.0")) { return "DIRECT"; } else if (isInNet(host, "10.0.0.0", "255.0.0.0")) { return "DIRECT"; } else if (isInNet(host, "172.16.0.0", "255.240.0.0")) { return "DIRECT"; } else if (isInNet(host, "192.168.0.0", "255.255.0.0")) { return "DIRECT"; } else if (isInNet(myIpAddress(), "10.0.0.0", "255.0.0.0")) { return proxyaddra; } else if (isInNet(myIpAddress(), "172.16.0.0", "255.240.0.0")) { return proxyaddrb; } else if (isInNet(myIpAddress(), "192.168.0.0", "255.255.0.0")) { return proxyaddrc; } else { return proxyaddr; } }
Ocorre no ultimo caso: o cliente não tem a opção "Detectar configuração automaticamente" ou não está via DHCP (e neste caso não recebe a opção 252)
#---/etc/squid/squid.conf (squid versão squid-2.5 ou superior) ... httpd_accel_host virtual httpd_accel_with_proxy on httpd_accel_uses_host_header on ie_refresh on ... #---firewall echo "0" > /proc/sys/net/ipv4/tcp_ecn #Evita problemas de resposta de tamanho zero <<<desvio de paginas que não podem ter proxy transparente>>> # 200.201.174.0/24 #Caixa Federal 0800 561041 # 200.255.42.0/24 #Agencia Nacional de Saude (Diops - www.ans.gov.br) iptables -t nat -A PREROUTING -s 0.0.0.0/0 -d 200.201.174.0/24 -j RETURN iptables -t nat -A PREROUTING -s 0.0.0.0/0 -d 200.255.42.0/24 -j RETURN <<direcionamento para o proxy transparente>> iptables -t nat -A PREROUTING -p tcp -s 10.0.0.0/8 -d 0.0.0.0/0 80 -j DNAT --to-destination 10.0.0.1:3128 iptables -t nat -A PREROUTING -p tcp -s 192.168.0.0/16 -d 0.0.0.0/0 80 -j DNAT --to-destination 192.168.0.1:3128 iptables -t nat -A PREROUTING -p tcp -s 172.16.0.0/12 -d 0.0.0.0/0 80 -j DNAT --to-destination 172.16.0.1:3128
Vale a pena lembrar que as regras sao genéricas e apresentadas para as 3 classes de rede internas mais comum. Adaptar os endereços conforme necessário for...
Cordialmente, Silmar A. Marca GrupoGSN - Desenvolvimento, Implantação e Verificação de Servidores Profissionais baseados em Linux/Novell http://www.grupogsn.com.br/~marca/
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários