Squid es un proxy web HTTP de almacenamiento en caché y reenvío. Calamar tiene muchas funciones y se usa en una variedad de situaciones, como acelerar el servidor web mediante el almacenamiento en caché de solicitudes repetidas, el almacenamiento en caché de búsquedas web y dns, el filtrado de tráfico, el bloqueo de sitios web, etc. Está escrito en C++ y se distribuye bajo GPL de GNU licencia.
Calamar se considera el software de control de contenido más confiable y ha sido utilizado por muchas organizaciones desde las últimas 2 décadas.
En este artículo, estamos instalando el servidor proxy Squid en Rocky Linux 8 o AlmaLinux 8. Aunque, ya hay demasiados artículos similares disponibles en la web. Pero escribimos este artículo para incluir los pasos menores (pero importantes), que los demás escritores suelen pasar por alto.
Este artículo hace hincapié en la instalación y configuración inicial del servidor proxy Squid en Rocky Linux 8 o AlmaLinux 8. Por lo tanto, si está dispuesto a configurar algunos ajustes avanzados en el proxy Squid, le recomendamos encarecidamente que compre Squid Proxy Server 3.1:Guía para principiantes de Packt Publishing .
Especificación del entorno:
Hemos aprovisionado una máquina virtual Rocky Linux 8 o AlmaLinux 8 con las siguientes especificaciones.
- CPU – 3,4 Ghz (1 núcleo)
- Memoria – 1GB
- Almacenamiento – 20GB
- Sistema operativo – Rocky Linux 8, AlmaLinux 8
- Nombre de host – squid-proxy-01.ejemplo.com
- Dirección IP – 192.168.116.214/24
Instalación de Squid Web Proxy en Rocky Linux 8 o AlmaLinux 8:
Conéctese con squid-proxy-01.example.com usando ssh como raíz usuario.
El paquete de software Squid está disponible en repositorios yum estándar, por lo tanto, estamos instalando el proxy Squid usando yum comando.
[[email protected] ~]# yum install -y squid
...
Installed:
squid.x86_64 7:3.5.20-12.el7_6.1
Dependency Installed:
libecap.x86_64 0:1.0.0-1.el7
perl.x86_64 4:5.16.3-294.el7_6
perl-Carp.noarch 0:1.26-244.el7
perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7
perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7
perl-DBI.x86_64 0:1.627-4.el7
perl-Data-Dumper.x86_64 0:2.145-3.el7
perl-Digest.noarch 0:1.17-245.el7
perl-Digest-MD5.x86_64 0:2.52-3.el7
perl-Encode.x86_64 0:2.51-7.el7
perl-Exporter.noarch 0:5.68-3.el7
perl-File-Path.noarch 0:2.09-2.el7
perl-File-Temp.noarch 0:0.23.01-3.el7
perl-Filter.x86_64 0:1.49-3.el7
perl-Getopt-Long.noarch 0:2.40-3.el7
perl-HTTP-Tiny.noarch 0:0.033-3.el7
perl-IO-Compress.noarch 0:2.061-2.el7
perl-Net-Daemon.noarch 0:0.48-5.el7
perl-PathTools.x86_64 0:3.40-5.el7
perl-PlRPC.noarch 0:0.2020-14.el7
perl-Pod-Escapes.noarch 1:1.04-294.el7_6
perl-Pod-Perldoc.noarch 0:3.20-4.el7
perl-Pod-Simple.noarch 1:3.28-4.el7
perl-Pod-Usage.noarch 0:1.63-3.el7
perl-Scalar-List-Utils.x86_64 0:1.27-248.el7
perl-Socket.x86_64 0:2.010-4.el7
perl-Storable.x86_64 0:2.45-3.el7
perl-Text-ParseWords.noarch 0:3.29-4.el7
perl-Time-HiRes.x86_64 4:1.9725-3.el7
perl-Time-Local.noarch 0:1.2300-2.el7
perl-constant.noarch 0:1.27-2.el7
perl-libs.x86_64 4:5.16.3-294.el7_6
perl-macros.x86_64 4:5.16.3-294.el7_6
perl-parent.noarch 1:0.225-244.el7
perl-podlators.noarch 0:2.5.1-3.el7
perl-threads.x86_64 0:1.87-4.el7
perl-threads-shared.x86_64 0:1.43-6.el7
squid-migration-script.x86_64 7:3.5.20-12.el7_6.1
Complete!
Habilite e inicie el servicio de proxy Squid.
[[email protected] ~]# systemctl enable --now squid.service
Created symlink from /etc/systemd/system/multi-user.target.wants/squid.service to /usr/lib/systemd/system/squid.service.
Permitir el servicio de proxy Squid en el cortafuegos Rocky Linux 8 o AlmaLinux 8.
[[email protected] ~]# firewall-cmd --permanent --add-service=squid
success
[[email protected] ~]# firewall-cmd --reload
success
Configure Squid Web Proxy en Rocky Linux 8 o AlmaLinux 8:
El archivo de configuración global para el proxy web de Squid es /etc/squid/squid.conf . Podemos personalizarlo según nuestros requisitos.
[[email protected] ~]# vi /etc/squid/squid.conf
Agregue las siguientes directivas allí.
dns_v4_first on
Reinicie el servicio proxy Squid para cargar los cambios.
[[email protected] ~]# systemctl restart squid
Configurar el navegador del cliente para usar Squid Proxy:
Inicie el navegador del cliente y agregue nuestro proxy Squid en su configuración.
Para hacer esto, abra Internet Explorer y ve a Opciones de Internet .
Ve a Conexiones Pestaña y haz clic en Configuración de LAN .
Introduzca la dirección IP y el puerto del proxy Squid en el cuadro de diálogo anterior.
Haga clic en Aceptar para salir de las opciones de Internet .
Explore https://ahmermansoor.blogspot.com en Internet Explorer .
El sitio web anterior ha sido servido a través de nuestro servidor proxy Squid.
Configurar autenticación de cliente Squid:
Podemos usar la autenticación básica HTTP para configurar la autenticación basada en el usuario para el servidor proxy Squid.
Instalar herramientas httpd paquete usando yum comando.
[[email protected] ~]# yum install -y httpd-tools
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.ges.net.pk
* extras: mirrors.ges.net.pk
* updates: mirrors.ges.net.pk
Resolving Dependencies
--> Running transaction check
---> Package httpd-tools.x86_64 0:2.4.6-90.el7.centos will be installed
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-tools-2.4.6-90.el7.centos.x86_64
--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-tools-2.4.6-90.el7.centos.x86_64
--> Running transaction check
---> Package apr.x86_64 0:1.4.8-5.el7 will be installed
---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
httpd-tools x86_64 2.4.6-90.el7.centos base 91 k
Installing for dependencies:
apr x86_64 1.4.8-5.el7 base 103 k
apr-util x86_64 1.5.2-6.el7 base 92 k
Transaction Summary
================================================================================
Install 1 Package (+2 Dependent packages)
Total download size: 286 k
Installed size: 584 k
Downloading packages:
(1/3): httpd-tools-2.4.6-90.el7.centos.x86_64.rpm | 91 kB 00:00
(2/3): apr-util-1.5.2-6.el7.x86_64.rpm | 92 kB 00:01
(3/3): apr-1.4.8-5.el7.x86_64.rpm | 103 kB 00:02
--------------------------------------------------------------------------------
Total 96 kB/s | 286 kB 00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : apr-1.4.8-5.el7.x86_64 1/3
Installing : apr-util-1.5.2-6.el7.x86_64 2/3
Installing : httpd-tools-2.4.6-90.el7.centos.x86_64 3/3
Verifying : apr-1.4.8-5.el7.x86_64 1/3
Verifying : httpd-tools-2.4.6-90.el7.centos.x86_64 2/3
Verifying : apr-util-1.5.2-6.el7.x86_64 3/3
Installed:
httpd-tools.x86_64 0:2.4.6-90.el7.centos
Dependency Installed:
apr.x86_64 0:1.4.8-5.el7 apr-util.x86_64 0:1.5.2-6.el7
Complete!
Cree el archivo de contraseñas y agregue squiduser usuario en el mismo.
[[email protected] ~]# htpasswd -c /etc/squid/passwd squiduser
New password:
Re-type new password:
Adding password for user squiduser
Cambiar propietario de la contraseña archivo.
[[email protected] ~]# chown squid.squid /etc/squid/passwd
Ahora, edite el archivo de configuración de Squid y agregue la configuración de autenticación del cliente.
[[email protected] ~]# vi /etc/squid/squid.conf
Agregue las siguientes directivas después de las ACL de los puertos.
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users
Reinicie el servicio proxy Squid para que los cambios surtan efecto.
[[email protected] ~]# systemctl restart squid
Abra la URL https://ahmermansoor.blogspot.com en el navegador del cliente.
Esta vez, solicita la autenticación.
Tutorial sobre el uso del comando Timeout en Linux
Creación de una lista negra personalizada para bloquear sitios web a través de Squid Proxy:
Cree un archivo de lista negra para bloquear sitios web.
[[email protected] ~]# vi /etc/squid/blacklist
y agregue las siguientes URL allí.
.yahoo.com
.facebook.com
Edite el archivo de configuración del proxy Squid para agregar la configuración de la lista negra.
[[email protected] ~]# vi /etc/squid/squid.conf
agregue las siguientes directivas después de las ACL de los puertos.
acl bad_urls dstdomain "/etc/squid/blacklist"
http_access deny bad_urls
Reinicie el servicio proxy Squid para cargar los cambios.
[[email protected] ~]# systemctl restart squid
Buscar URL http://www.yahoo.com en el navegador del cliente.
Puede ver que http://www.yahoo.com ha sido bloqueado por nuestro servidor proxy Squid.
Hemos instalado con éxito el servidor proxy Squid en Rocky Linux 8 o AlmaLinux 8