Table of Contents
Cómo configurar el servidor “Squid Proxy” en Ubuntu y Debian
Squid es el servidor proxy web HTTP de almacenamiento en caché y reenvío más popular que utilizaba mi amplia gama de empresas para almacenar páginas web en caché desde un servidor web para mejorar la velocidad del servidor web, reducir los tiempos de respuesta y reducir el uso del ancho de banda de la red.
Lea también. Cómo crear un proxy HTTP usando Squid en CentOS 7
En este artículo, explicaremos cómo instalar un servidor proxy Squid en Ubuntu y Debian. distribuciones y utilícelo como un servidor proxy HTTP.
Cómo instalar Squid en Ubuntu
Antes de comenzar, debe saber que el servidor Squid no tiene ningún requisito, pero la cantidad de uso de RAM puede diferir según los clientes que navegan por Internet a través del servidor proxy.
El paquete Squid. está disponible para instalar desde el repositorio base de Ubuntu, pero antes de eso asegúrese de actualizar sus paquetes ejecutando.
$ sudo apt update freestar.config.enabled_slots.push (LocationName: “tecmint_incontent”, slotId: “tecmint_incontent” );
Una vez que sus paquetes estén actualizados, puede continuar para instalar squid e iniciarlo y habilitarlo al iniciar el sistema usando los siguientes comandos.
$ sudo apt-y install squid $ sudo systemctl start squid $ sudo systemctl enable squid
En este punto, su proxy web Squid ya debería estar ejecutándose y puede verificar el estado del servicio con.
$ sudo systemctl status squid Salida de muestra ● squid.service-LSB: Squid HTTP Proxy versión 3.x. Cargado: cargado (/etc/init.d/squid; generado) Activo: activo (en ejecución). desde Tue 2018-12-04 06:42:43 UTC; 14min ago Docs: man: systemd-sysv-generator (8) Tareas: 4 (límite: 1717) CGroup:/system.slice/squid.service ├─2761/usr/sbin/squid-YC-f/etc/squid/squid.conf ├─2766 (squid-1)-YC-f/etc/squid/squid.conf ├─2768 (logfile-daemon)/var/log/squid/access.log └─2772 (pinger) Dec 04 06 : 42: 43 tecmint systemd [1]: Iniciando LSB: Squid HTTP Proxy versión 3.x … Dec 04 06:42:43 tecmint squid [2708]: * Iniciando Squid HTTP Proxy squid dic 04 06:42:43 tecmint calamar [2708]: … hecho. 04 de diciembre 06:42:43 tecmint systemd [1]: Iniciado LSB: Squid HTTP Proxy versión 3.x. 04 de diciembre 06:42:43 calamar tecmint [2761]: padre de calamar: iniciará 1 críos 04 de diciembre 06:42:43 calamar tecmint [2761]: padre de calamar: (calamar-1) proceso 2766 iniciado
A continuación se muestran las algunas ubicaciones importantes de archivos de Squid que debe conocer:
- Archivo de configuración de Squid: /etc/squid/squid.conf”
- Registro de acceso de Squid : /var/log/squid/access.log×
- Registro de la caché de Squid: /var/log/squid/cache.log”
El archivo de configuración predeterminado contiene algunas directivas de configuración que deben configurarse para afectar el comportamiento del Squid.
Ahora abra este archivo para editarlo con el editor Vi y realice los cambios como se muestra a continuación .
$ sudo vim/etc/squid/squid.conf
Ahora, puede buscar sobre las siguientes líneas y cambiarlas según lo solicitado, en el editor Vi, puede buscar sobre esas líneas presionando ‘ESC’. y tecleando la tecla “/” para escribir las líneas específicas a buscar.
- http_port : Estees el puerto predeterminado para el servidor proxy HTTP, por defecto es 3128. puede cambiarlo a cualquier otro puerto que desee, también puede agregar el “transparente”. etiqueta al final de la línea como http_port 8888 transparente. para hacer que el proxy Squid actúe como un proxy transparente si lo desea.
- http_access deny all : Este La línea no permitirá que nadie acceda al servidor proxy HTTP, es por eso que debe cambiarlo a http_access allow all. para comenzar a usar su servidor proxy Squid.
- visible_hostname : Esta directiva se usa para establecer el nombre de host específico para un servidor Squid. Puede darle cualquier nombre de host a squid.
Después de realizar los cambios anteriores, puede reiniciar el servidor proxy Squid usando el comando.
$ sudo systemctl restart squid
Configurando Squid como un proxy HTTP en Ubuntu
En esta sección de configuración de squid, le explicaremos cómo configurar squid como un proxy HTTP utilizando solo la dirección IP del cliente para la autenticación.
Agregue las ACL de Squid
Si Si desea permitir que solo una dirección IP acceda a Internet a través de su nuevo servidor proxy, deberá definir una nueva acl. ( lista de control de acceso. en el archivo de configuración.
$ sudo vim/etc/squid/squid.conf
La regla acl. que debe agregar es:
acl localnet src XX.XX.XX.XX
Donde XX.XX.XX.XX es la dirección IP de la máquina cliente. Esta acl. debe agregarse al comienzo de la sección de la ACL como se muestra en la siguiente captura de pantalla.
Agregar dirección IP para permitir Web
Siempre es una buena práctica para definir un comentario junto a ACL. que Describiré quién usa esta dirección IP, por ejemplo.
acl localnet src 192.168.0.102 # Dirección IP del jefe
Deberá reiniciar el servicio Squid para que los nuevos cambios surtan efecto.
$ sudo systemctl reiniciar squid Open Ports en Squid Proxy
De forma predeterminada, solo se permiten ciertos puertos en la configuración de squid, si desea agregar más, simplemente defínalos en el archivo de configuración como se muestra.
acl Safe_ports port XXX
Donde XXX es el número de puerto que desea permitir. Nuevamente, es una buena práctica definir un comentario junto a acl. que describa para qué se usará el puerto.
Agregar puertos en Squid Proxy
Para que los cambios surtan efecto, deberá reiniciar squid una vez más.
$ sudo systemctl restart squid Squid Proxy Client Authentication
Para permitir que los usuarios se autentiquen antes de usar el proxy, debe habilitar la autenticación http básica en el archivo de configuración, pero antes debe instalar paquete apache2-utils. usando el siguiente comando.
$ sudo apt install apache2-utils
Ahora cree un archivo llamado “passwd”. que luego almacenará el nombre de usuario para el autenticación. Squid se ejecuta con el usuario “proxy”. por lo que el archivo debe ser propiedad de ese usuario.
$ sudo touch/etc/squid/passwd $ sudo chown proxy:/etc/squid/passwd $ ls-l/etc/squid/passwd
Ahora crearemos un nuevo usuario llamado “tecmint” y configuraremos su contraseña.
$ sudo htpasswd/etc/squid/passwd tecmint. Nueva contraseña : Vuelva a escribir la nueva contraseña: agregando contraseña para el usuario tecmint
Ahora, para habilitar la autenticación http básica, abra el archivo de configuración.
$ sudo vim/etc/squid/squid.conf
Después de los puertos, agregue las ACL siguientes líneas:
auth_param basic program/usr/lib64/squid/basic_ncsa_auth/etc/squid/passwd auth_param basic children 5 auth_param basic realm Squid Autenticación básica auth_param basic credentialsttl 2 horas acl auth_users proxy_auth REQUIRED http_access allow auth_users “https://www.tecmint.com/wp-content/plugins/lazy-load/images/1×1.trans.gif “data-lazy-src =”https://www.tecmint.com/wp-content/uploads/2018/12/Enable-Squid-User-Authentication.png “loading =” lazy “class =” size-full center-block 31167 “alt =” Habilitar la autenticación de usuario de Squid “width =” 863 “height =” 359 “srcset = “https://www.tecmint.com/wp-content/uploads/2018/12/Enable-Squid-User-Authentication.png 863w, https://www.tecmint.com/wp-content/uploads/2018/12/Enable-Squid-User-Authentication-768×319.png 768w “tamaños =” (ancho máximo: 863px) 100vw, 863px “> Habilitar la autenticación de usuario de Squid
Guarde el archivo y reinicie squid para que los nuevos cambios surtan efecto:
$ sudo systemctl restart squid Bloquear sitios web en Squid Proxy
Para bloquear el acceso a sitios web no deseados, primero cree un archivo llamado “ blacklisted_sites. acl. ”que almacenará los sitios de la lista negra en él.
$ sudo touch/etc/squid/blacklisted_sites.acl
Ahora agregue los sitios web a los que desea bloquear el acceso, por ejemplo.
.. badsite1.com .. badsite2.com
El punto. anterior informa a squid que bloquee todas las referencias a esos sitios, incluido www .badsite1. subsite.badsite1.com. etc.
Ahora abra la configuración de Squid ion.
$ sudo vim/etc/squid/squid.conf
Justo después de las ACL anteriores, agregue las siguientes dos líneas:
acl bad_urls dstdomain “/etc/squid/blacklisted_sites.acl” http_access deny bad_urls
Bloquear sitios web en Squid
Ahora guarde el archivo y reinicie squid:
$ sudo systemctl restart squid Bloquear una palabra clave específica con Squid
Para bloquear una lista de palabras clave, primero cree un archivo llamado “ blockkeywords.lst. ”Que almacenará las palabras clave en la lista negra.
$ sudo touch/etc/squid/blockkeywords.lst
Ahora agregue las palabras clave cuyo acceso desea bloquear, por ejemplo.
facebook instagram gmail
Ahora abra el archivo de configuración de Squid y agregue la siguiente regla.
acl blockkeywordlist url_regex “/etc/squid/blockkeywords.lst” http_access deny blockkeywordlist
Ahora guarde el archivo y reinicie squid:
$ sudo systemctl restart squid
Una vez que todo esté configurado correctamente, ahora puede configurar el navegador web de su cliente local o la configuración de red del sistema operativo para usar su proxy HTTP squid recién configurado.
Configurar Cliente para usar Squid Proxy
Ahora para probar que su servidor proxy está funcionando o no, puede abrir Firefox. e ir a Editar-> Preferencias-> Avanzado-> Red-> Configuración. y seleccione “ Configuración manual del proxy. e ingrese la dirección IP de su servidor proxy y el puerto que se utilizará para todas las conexiones de la siguiente manera.