Cómo crear un proxy HTTP usando Squid en CentOS 7/8

Cómo crear un proxy HTTP usando Squid en CentOS 7/8

Los proxies web han existido desde hace bastante tiempo y han sido utilizados por millones de usuarios en todo el mundo. Tienen una amplia gama de propósitos, el más popular es el anonimato en línea, pero hay otras formas en que puede aprovechar los representantes web. Aquí hay algunas ideas:

  • Anonimato en línea
  • Mejorar la seguridad en línea
  • Mejorar los tiempos de carga
  • Bloquear el tráfico malicioso
  • Registre su actividad en línea
  • Para eludir las restricciones regionales
  • En algunos casos puede reducir el uso de ancho de banda

Cómo funciona el servidor proxy

El servidor proxy es una computadora que se utiliza como intermediario entre el cliente y otros servidores de los cuales el cliente puede solicitar recursos. Un ejemplo simple de esto es cuando un cliente realiza solicitudes en línea (por ejemplo, desea abrir una página web), se conecta primero al servidor proxy.

El servidor proxy luego verifica su caché de disco local y si los datos se pueden encontrar allí, devolverá los datos al cliente, si no almacenan en caché, hará la solicitud en nombre del cliente utilizando la dirección IP proxy (diferente de la clientes) y luego devolver los datos al cliente. El servidor proxy intentará almacenar en caché los nuevos datos y los usará para futuras solicitudes realizadas en el mismo servidor.

¿Qué es el proxy de calamar?

Calamar es un proxy web que utilizó mi amplia gama de organizaciones. A menudo se usa como un proxy de almacenamiento en caché y mejorando los tiempos de respuesta y la reducción del uso del ancho de banda.

Para el propósito de este artículo, instalaré Calamar en un vicepresidente de Linode CentOS 7 y úselo como servidor proxy HTTP.

Cómo instalar Squid en CentOS 7/8

Antes de comenzar, debes saber que Calamar, no tiene ningún requisito mínimo, pero la cantidad de uso de RAM puede variar según los clientes que navegan por Internet a través del servidor proxy.

Calamar se incluye en el repositorio base y, por lo tanto, la instalación es simple y directa. Antes de instalarlo, sin embargo, asegúrese de que sus paquetes estén actualizados ejecutándose.

# actualización de yum -y 

Proceda instalando calamares, iniciar y habilitarlo en el inicio del sistema utilizando los siguientes comandos.

# yum -y instalación calamar # systemctl start squid # systemctl habilitar calamar 

En este punto, su proxy web de calamar ya debería estar en ejecución y puede verificar el estado del servicio con.

# SystemCTL Status Squid 
Salida de muestra
 calamar.Servicio: proxy de almacenamiento en calamar cargado: cargado (/usr/lib/systemd/system/calamar.servicio; activado; Vendor Preset: DiABLED) Activo: Activo (en ejecución) Desde Jue 2018-09-20 10:07:23 UTC; Hace 5 minutos PID principal: 2005 (calamar) CGROUP: /SISTEMA.rebanada.servicio ├─2005/usr/sbin/squid -f/etc/calamar/calamar.Conf ├─2007 (Squid -1) -F/Etc/Squid/Squid.Conf └─2008 (logFile-Daemon)/var/log/squid/access.Registro 20 de septiembre 10:07:23 Tecmint Systemd [1]: Comenzar al almacenamiento en caché Proxy ... 20 de septiembre 10:07:23 Tecmint Squid [2005]: Padre de calamar: comenzará 1 niños 20 de septiembre 10:07:23 Tecmint Squid [2005 [2005 ]: Padre de calamar: (Squid-1) Proceso 2007 Comenzó el 20 de septiembre 10:07:23 Tecmint Systemd [1]: Comenzó el caché de calamar proxy. 

Aquí hay algunas ubicaciones de archivos importantes que debe tener en cuenta:

  • Archivo de configuración de calamar: /etc/calamar/calamar.confusión
  • Registro de acceso de calamar: /var/log/squid/access.registro
  • Registro de caché de calamar: /var/log/squid/cache.registro

Un mínimo calamar.confusión El archivo de configuración (sin comentarios en él) se ve así:

ACL Localnet SRC 10.0.0.0/8 # RFC1918 Posible red interna ACL Localnet SRC 172.dieciséis.0.0/12 # RFC1918 Posible red interna ACL Localnet SRC 192.168.0.6/16 # RFC1918 Posible red interna ACL Localnet SRC FC00 ::/7 # RFC 4193 Rango de red privado local ACL ACL Localnet Src Fe80 ::/10 # RFC 4291 Link-Local (directamente conectado) Máquinas ACL SSL_PORTS Port 443 ACL SAFE_PORTPORT 80 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss- http acl safe_ports puerto 591 # filemaker acl safe_ports puerto 777 # multiling http acl método de conexión connect http_access dene !Safe_ports http_access neNYY Connect !Ssl_ports http_access Permitir el administrador de localhost http_access deny gestor http_access permitido localnet http_access permitido localhost http_access deny todos http_port 3128 coredump_dir/var/var/squid refresh_pattern ^ftp: 1440 20% 10080 10080 10080 10080 /| \?) 0 0% 0 refresh_pattern . 0 20% 4320 

Configuración de Squid como un proxy HTTP

Aquí, le mostraremos cómo configurar Squid como un proxy HTTP utilizando solo la dirección IP del cliente para la autenticación.

Agregar ACL de calamar

Si desea permitir que la dirección IP acceda a la web a través de su nuevo servidor proxy, deberá agregar un nuevo LCA (lista de control de acceso) Línea en el archivo de configuración.

# vim/etc/calamar/calamar.confusión 

La línea que debe agregar es:

ACL Localnet src xx.Xx.Xx.Xx 

Dónde Xx.Xx.Xx.Xx es la dirección IP del cliente real que desea agregar. La línea debe agregarse al comienzo del archivo donde se definen las ACL. Es una buena práctica agregar un comentario junto a ACL que describirá quién usa esta dirección IP.

Es importante tener en cuenta que si Squid se encuentra fuera de su red local, debe agregar la dirección IP pública del cliente.

Deberá reiniciar el calamar para que los nuevos cambios puedan entrar en vigencia.

# SystemCTL reiniciar calamares 

Puertos de proxy de calamar abierto

Como puede haber visto en el archivo de configuración, solo se permiten ciertos puertos para conectarse. Puede agregar más editando el archivo de configuración.

ACL SAFE_PORTS PORT XXX 

Dónde Xxx es el puerto real que desea cargar. Una vez más, es una buena idea dejar un comentario al lado que describirá para qué se utilizará el puerto.

Para que los cambios entren en vigencia, deberá reiniciar los calamares una vez más.

# SystemCTL reiniciar calamares 

Autenticación del cliente proxy de calamar

Lo más probable es que desee que sus usuarios se autenticen antes de usar el proxy. Para ese propósito, puede habilitar la autenticación HTTP básica. Es fácil y rápido configurar.

Primero, necesitarás httpd-herramientas instalado.

# Yum -y Instalar Toolas HTTPD 

Ahora creemos un archivo que luego almacenará el nombre de usuario para la autenticación. Squid se ejecuta con el usuario "calamar" Entonces el archivo debe ser propiedad de ese usuario.

# touch/etc/squid/passwd # chown squid:/etc/squid/passwd 

Ahora crearemos un nuevo usuario llamado "Proxyclient" y configurar su contraseña.

# htpasswd/etc/squid/passwd proxyclient Nueva contraseña: rehype nueva contraseña: Agregar contraseña para el usuario proxyclient 

Ahora para configurar la autenticación, abra el archivo de configuración.

# vim/etc/calamar/calamar.confusión 

Después de los puertos, ACL agregue las siguientes líneas:

Auth_param Programa básico/usr/lib64/squid/básico_ncsa_auth/etc/squid/passwd auth_param básico niños 5 auth_param Basic Realm Squid Basic Authentication Auth_param Credencial básico Básico ACL ACL AUTH_USERS Proxy_Auth Requerido HTTP_Access Permitir Auth_Users Permitir Auth_Users 

Guarde el archivo y reinicie el calamar para que los nuevos cambios puedan entrar en vigencia:

# SystemCTL reiniciar calamares 

Bloquear sitios web en proxy de calamares

Finalmente, crearemos una última LCA que nos ayudará a bloquear sitios web no deseados. Primero, cree el archivo que almacenará los sitios con lista negra.

# touch/etc/squid/blacklisted_sites.LCA 

Puede agregar algunos dominios que desea bloquear. Por ejemplo:

.Badsite1.comunicarse .Badsite2.comunicarse 

El punto de procedimiento le dice a Squid que bloquee todas las referencias a esos sitios, incluidos www.Badsite1, subsitio.Badsite1.comunicarse, etc.

Ahora abra el archivo de configuración de Squid.

# vim/etc/calamar/calamar.confusión 

Justo después de los puertos ACLS agregue las siguientes dos líneas:

acl bad_urls dstdomain "/etc/squid/blacklisted_sites.ACL "http_access niega bad_urls 

Ahora guarde el archivo y reinicie el calamar:

# SystemCTL reiniciar calamares 

Una vez que todo esté configurado correctamente, ahora puede configurar su navegador de cliente local o la configuración de red del sistema operativo para usar su proxy HTTP Squid.

Conclusión

En este tutorial, aprendió a instalar, asegurar y configurar un servidor proxy HTTP Squid por su cuenta. Con la información que acaba de recibir, ahora puede agregar un filtrado básico para el tráfico entrante y saliente a través de Squid.

Si desea hacer un esfuerzo adicional, incluso puede configurar Squid para bloquear algunos sitios web durante las horas de trabajo para evitar distracciones. Si tiene alguna pregunta o comentario, publíquelos en la sección de comentarios a continuación.