Requisitos
Squid no tiene requisitos mínimos de hardware, pero la cantidad de RAM puede variar según los usuarios que accedan a Internet a través de su proxy y los objetos almacenados en la caché. Para seguir este tutorial necesitarás un CentOS 7.servidor x con acceso root en él. Si ha iniciado sesión como usuario no root, ejecute sudo-i para cambiar a usuario root. También puede usar el comando sudo antes de todos los comandos administrativos para ejecutarlos como usuario root.
Instalación de Squid
yum-y install squid
Una vez que instale Squid, puede iniciar el programa inmediatamente utilizando el siguiente comando.
systemctl start squid
Para iniciar Squid automáticamente en el momento del arranque, puede ejecutar el siguiente comando.
systemctl enable squid
Cambiar el puerto de Squid
Puede cambiar fácilmente el puerto en el que escucha squid. Edite el archivo de configuración con el siguiente comando.
vi /etc/squid/squid.conf
Desplácese hacia abajo para encontrar las siguientes líneas en el archivo.
# Squid normalmente escucha el puerto 3128
http_port 3128
Ahora cambie el http_port de 3128 a cualquier puerto que desee. Asegúrese de que ningún otro servicio esté utilizando el puerto que usará para Squid. Ahora reinicie el demonio Squid y verá que los cambios están en efecto.
Cambiar el firewall de Squid
firewall-cmd –permanent –zone=public –add-service=http
firewall-cmd –permanent –zone=public –add-service=https
firewall-cmd –permanent –zone=public –add-port=3128/tcp
firewall-cmd –reload
Autenticación de cliente Proxy Squid
Lo más probable es que desee que sus usuarios se autentiquen antes de usar el proxy. Para ello, puede habilitar la autenticación HTTP básica. Es fácil y rápido de configurar.
Primero, necesitará instalar httpd-tools.
# yum -y install httpd-tools
Ahora vamos a crear un archivo que más tarde almacenará el nombre de usuario para la autenticación. Squid se ejecuta con el usuario «squid», por lo que el archivo debe ser propiedad de ese usuario.
# touch /etc/squid/squidpassword# chown squid: /etc/squid/squidpassword
Ahora crearemos un nuevo usuario llamado «proxyclient» y configuraremos su contraseña.
# htpasswd /etc/squid/squidpassword kalaia1986New password:Re-type new password:Adding password for user proxyclient
Ahora para configurar la autenticación, abra el archivo de configuración.
# vim /etc/squid/squid.conf
Después de las ACLs de puertos, agregue las siguientes líneas:
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/squidpasswordauth_param basic children 5auth_param basic realm Squid Basic Authenticationauth_param basic credentialsttl 2 hoursacl ncsa_users proxy_auth REQUIREDhttp_access allow ncsa_users
Guarde el archivo y reinicie squid para que los nuevos cambios puedan surtir efecto:
# systemctl restart squid
Bloquear sitios web en Squid Proxy
Finalmente, crearemos una última ACL que nos ayudará a bloquear sitios web no deseados. Primero, cree el archivo que almacenará los sitios en la lista negra.
# touch /etc/squid/blocked-sites
Puede agregar algunos dominios que desee bloquear. Por ejemplo:
www.facebook.comwww.youtube.com
El punto siguiente le dice a squid que bloquee todas las referencias a esos sitios, incluidos http://www.facebook.com, http://www.youtube.com, etc.
Ahora abra el archivo de configuración de Squid.
# vim /etc/squid/squid.conf
Justo después de las ACLs de puertos, agregue las dos líneas siguientes:
acl blocklist url_regex "/etc/squid/blocked-sites" acl whitelist url_regex "/etc/squid/whitelist-sites" acl whitelist_user proxy_auth "/etc/squid/white-user" http_access allow whitelist whitelist_user http_access deny blocklist
Now save the file and restart squid:
# systemctl restart squid