Instalación

Como siempre es necesario actualizar el sistema e instalar el paquete software.

$ sudo apt-get update
$ sudo apt-get install squid3

Squid3 se instala y su servicio se arranca automáticamente, antes de cambiar la configuración lo paramos.

$ sudo service squid3 stop

O en Debian 8.

$ sudo systemctl stop squid3

Configuración de la autenticación

La configuración de Squid3 reside en /etc/squid3/squid.conf donde configuraremos la seguridad básica utilizando htpasswd, un programa que primero instalaremos.

$ sudo apt-get install apache2-utils

Utilizaremos el programa mencionado para generar un fichero con un usuario y una contraseña, pero primero escalaremos al direcctorio adecuado.

$ cd /etc/squid3

Y generaremos el usuario y la contraseña.

$ sudo htpasswd -bc squid_passwords usuario_proxy clave_proxy

Ahora editaremos el fichero /etc/squid3/squid.conf no sin antes hacer una copia de seguridad con sudo cp squid.conf squid.conf.original`. Una vez hecho esto añadiremos el siguiente texto –línea 343– a squid.conf.

auth_param basic realm Acceso privado.
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/squid_passwords
auth_param basic credentialsttl 4 hours
auth_param basic children 5

Y añadimos una lista de acceso en la línea 840.

acl ncsaauth proxy_auth REQUIRED
http_access allow ncsaauth

Para enmascarar las cabeceras editaremos el mismo fichero en la línea 3500

request_header_access Allow allow all
request_header_access Authorization allow all
request_header_access WWW-Authenticate allow all
request_header_access Proxy-Authorization allow all
request_header_access Proxy-Authenticate allow all
request_header_access Cache-Control allow all
request_header_access Content-Encoding allow all
request_header_access Content-Length allow all
request_header_access Content-Type allow all
request_header_access Date allow all
request_header_access Expires allow all
request_header_access Host allow all
request_header_access If-Modified-Since allow all
request_header_access Last-Modified allow all
request_header_access Location allow all
request_header_access Pragma allow all
request_header_access Accept allow all
request_header_access Accept-Charset allow all
request_header_access Accept-Encoding allow all
request_header_access Accept-Language allow all
request_header_access Content-Language allow all
request_header_access Mime-Version allow all
request_header_access Retry-After allow all
request_header_access Title allow all
request_header_access Connection allow all
request_header_access Cookie allow all
request_header_access Proxy-Connection allow all
request_header_access All deny all

Extra, cambio de User-Agent

Unas pocas líneas bajo la anterior sección encontraremos la sección # TAG: request_header_replace que editaremos para pretender ser un usuario de Windows lo lo que se quiera.

request_header_replace User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like Gecko

Último toque para conseguir un mayor anonimato

La sección a editar esta vez, que se encuentra en la línea 5550 aproximadamente # TAG: forwarded_for on|off|transparent|truncate|delete donde se añadira

#referencia_personal anonimato extra
forwarded_for off

Guardamos la configuración y ya casi estamos.

Arranque del servicio

Ejecutamos el siquiente comando y hemos terminado.

$ sudo service squid3 start
[ ok ] Starting Squid HTTP Proxy 3.x: squid3.

Configuración del proxy en el cliente Firefox

En la barra de navegación introducimos los siguiente about:config y buscamos las opcines network.automatic-ntlm-auth.allow-proxies y network.negotiate-auth.allow-proxies que pondremos a false.