Un servidor proxy tiene muchos casos de uso. podría ir desde el acceso personal a Internet para restringir los sistemas/servidores de la organización para acceder al mundo externo o para limitar el acceso externo a Internet para un conjunto de servidores en la nube.
La mejor manera de configurar un servidor proxy es utilizando el proxy Squid. Es un servidor proxy ampliamente utilizado.
En este artículo, hemos cubierto lo siguiente.
- Instalar el servidor proxy
- Configurar el servidor proxy
- Configurar la autenticación básica del proxy.
- Más
Nota: Este tutorial está probado en CentOS 7. Para la configuración de Ubuntu, revisa este tutorial – Squid Proxy Setup On Ubuntu
Instalar servidor proxy: Squid Proxy
Paso1: Actualizar el servidor
sudo yum update -y
Paso 2: Configurar el repo de EPEL.
sudo yum -y install epel-releasesudo yum -y updatesudo yum clean all
Paso 3: Instalar squid
sudo yum -y install squid
Paso 4: Iniciar y habilitar el servidor squid.
sudo systemctl start squidsudo systemctl enable squid
Paso 5: Comprobar el estado del servidor squid.
sudo systemctl status squid
Configurar servidor proxy: Squid Proxy
Todas las configuraciones para el servidor squid están presentes en el archivo /etc/squid/squid.conf
.
Configurar las fuentes del proxy para acceder a Internet
En primer lugar, hay que configurar las fuentes desde las que el proxy squid debe aceptar conexiones. Por ejemplo, puede que necesites acceder a este servidor proxy sólo desde tu red doméstica o desde rangos CIDR específicos.
Puedes añadir un rango de IPs de origen con una ACL utilizando el siguiente formato.
acl localnet src 110.220.330.0/24
Abre el archivo /etc/squid/squid.conf
y añade el origen add como se muestra a continuación. Cambie la IP a la red/fuente IP deseada en base a sus necesidades. En el siguiente ejemplo, hemos añadido una única IP de origen.
Reinicie el servidor proxy después de realizar los cambios de ACL.
sudo systemctl restart squid
Prueba de la conectividad del servidor proxy
Prueba si el servidor proxy funciona utilizando una simple petición curl. Utiliza el siguiente formato de curl. Por defecto squid proxy corre en el puerto 3128.
curl -x http://<squid-proxy-server-IP>:3128 -L http://google.com
Configurar la autenticación del proxy
Además de las ACL de acceso, puede añadir autenticación básica a su servidor proxy para mayor seguridad. Siga los pasos indicados a continuación para configurar una autenticación básica para el servidor proxy squid.
Paso 1: Instalar httpd-tools
sudo yum -y install httpd-tools
Paso 2: Crear un archivo passwd y hacer que squid sea el propietario del archivo.
sudo touch /etc/squid/passwd && sudo chown squid /etc/squid/passwd
Paso 3: Añadir pxuser al archivo de contraseñas utilizando la utilidad htpasswd. Le pedirá una contraseña personalizada. Introduzca una contraseña fuerte que necesita. Este nombre de usuario y contraseña se utilizará para todas las conexiones a través de este proxy.
sudo htpasswd /etc/squid/passwd pxuser
Paso 4: Abrir el archivo de configuración de squid.
sudo vi /etc/squid/squid.conf
Agrega lo siguiente al archivo de configuración y guárdalo.
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwdauth_param basic children 5auth_param basic realm Squid Basic Authenticationauth_param basic credentialsttl 2 hoursacl auth_users proxy_auth REQUIREDhttp_access allow auth_users
Paso 5: Ahora, reinicia el servidor squid para que los cambios de configuración tengan lugar.
sudo systemctl restart squid
Paso 6: Ahora si pruebas la conexión proxy usando curl, obtendrás el «mensaje de autenticación requerida» como se muestra a continuación.
Ahora, prueba la conectividad con el usuario y contraseña del proxy que configuramos en el paso 3. Un ejemplo de sintaxis se muestra a continuación.
curl -x http://35.196.101.43:3128 --proxy-user pxuser:12345 -I http://google.com
Con el nombre de usuario y la contraseña, su solicitud de proxy debería pasar.
Bloqueo de sitios web
Otro gran uso del servidor proxy es restringir el acceso a sitios web. Siga los siguientes pasos para crear una lista de bloqueo.
Paso 1: Abra un archivo de lista de bloqueo.
sudo vi /etc/squid/blocked_sites
Añada los sitios web a bloquear en el archivo. Por ejemplo,
facebook.comtwitter.cominstagram.com
Paso 2: Abrir el archivo de configuración de squid.
sudo vi /etc/squid/squid.conf
Añadir lo siguiente a la lista ACL.
acl blocked_sites dstdomain "/etc/squid/blocked_sites"http_access deny blocked_sites
Paso 3: Reiniciar el servidor squid.
sudo systemctl restart squid
Ahora si intentas acceder al sitio bloqueado a través del proxy, te saldrá un mensaje de prohibido como se muestra a continuación.
iv