Squid es una de las herramientas mas conocidas para hacer de una máquina Linux un completo proxy. Pero puede ser un quebradero de cabeza el ir mirando que cabeceras envia y cuales no dependiendo de la configuración que le demos. Esta configuración está pensada para poder poner las cabeceras opcionales desde el cliente, pero que el servidor proxy Squid no altere las cabeceras el mismo y se delate.
Lo primero es decir que la versión que tenia Squid cuando se realizó esta configuración era la siquiente: Squid 3.1.20
Comprobación de las cabeceras de los proxys
Lo siguiente es mostrar que claramente el servidor devuelve unas cabeceras mínimas enviando un curl. Las cabeceras que envía un navegador Firefox serían algo parecido a esto:
GET / HTTP/1.1
Host: laweb.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Cache-Control: max-age=0
En el caso de que el proxy active las cabeceras Via, X-Forwarder-For,Cache-Control y demás puede que la web de destino se de cuenta de que navegas con proxy.
Si quieres comprobar las cabeceras de tu proxy squid o de un proxy cualquiera puedes usar este script /script-saca-la-ip-real-su-geolocalizacion-y-los-headers en un servidor web. Puede funcionar en un webhosting gratuito también.
La configuración
La configuración de Squid ( /etc/squid3/squid3.conf ) seria la siguiente.
forwarded_for transparent #Dejas las cabeceras de Forwarded a elección del cliente. Si el cliente no las pone Squid no las añade.
via off #Deshabilitada la cabecera Via.
client_persistent_connections off
server_persistent_connections off
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 #https
acl permittedips src 127.0.0.1 #Ip localhost permitida para conexiones al proxy
acl permittedips src 1.1.1.1 #Cualquier otra ip que necesites permitida para conexiones al proxy
http_access allow permittedips
http_port 8888 #Puerto de proxy
cache_store_log /var/log/squid3/store.log
cache_log /var/log/squid3/cache.log
access_log /var/log/squid3/access.log