Este es tu tutorial simple para crear un proxy server con autentificacion de usuario y contraseña utilizando Squid.
ACLARACION
Este tutorial es basado en fuentes de internet y permite el monitoreo, restricción de Sitios web por medio de Squid Proxy Server en sistemas basados en Debian y Ubuntu, aunque para CentOS es el mismo procedimiento.
PREPARACION
Para poder hacer uso de un proxy server con autentificacion en sistemas basados con Debian/Ubuntu, debemos tener instalados, dos paquetes recursivos como lo son:
Squid.- Squid es un servidor proxy para web con caché. Es una de las aplicaciones más populares y de referencia para esta función, es un desarrollo en software libre publicado bajo licencia GPL (Wikipedia)
Apache2 .- El servidor HTTP Apache es un servidor web HTTP de código abierto. (Wikipedia)
La instalación de estos dos paquetes es muy sencilla:
apt-get update && apt-get install squid apache2 -y
Nota: En sistemas como Debian el paquete Squid pasa a ser nombrado Squid3 así como en algunas versiones de Ubuntu, dependiento de los repositorios del proveedor de VPS.
Una vez instalados los paquetes verificamos que esten funcionando correctamente con los comandos respectivos:
service squid status
service apache2 status
Si tenemos todo funcionando correctamente, pasaremos al siguiente paso que es la configuración de dicho proxy.
Para ello, con nuestro editor abriremos la configuración de nuestro Squid de la siguiente manera:
nano /etc/squid/squid.conf
Una vez abierta la configuración añadiremos las siguientes línea de trabajo cuidando que no estén repetidas con anterioridad en la parte superior de la configuración.
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic credentialsttl 30 minutes
auth_param basic casesensitive off
auth_param basic realm PowerMX Proxy Server
acl ncsa proxy_auth REQUIRED
http_access allow ncsa
http_access deny all
Con ello especificaremos la autentificación de nuestro proxy mediante un usuario y contraseña.
Especificando:
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
Esta línea nos indica la ruta de nuestro autentificador de sistema (/usr/lib/squid/basic_ncsa_auth) y la ruta donde se tomará la contraseña generada para nuestros usuarios (/etc/squid/passwd), La ruta de dicho autentificador en el caso de sistemas ubuntu, la encontramos con el comando:
locate ncsa_auth
La linea (auth_param basic credentialsttl 30 minutes) nos indica el tiempo activa hasta su próxima autetificacion y es opcional.
La linea a continuación (auth_param basic casesensitive off) nos indica si se usará caso sensitivos para la autentificación en caso de usar bases de datos. La cual es recomendado dejar en off.
Esta línea (auth_param basic realm PowerMX Proxy Server) nos indica un mensaje de autentificación posterior en caso de denegarse o fallar la autentificacion.
En la siguiente línea tenemos :
acl ncsa proxy_auth REQUIRED
http_access allow ncsa
Las cuales son nuestra base para la autentificación, la cual estaremos indicando que para accesar a nuestro proxy, debe ser REQUERIDA, una autentificación exitosa a nuestro usuario asignado.
Una vez escrito nuestro configuración en la parte inferior de nuestro archivo squid.conf, pasaremos a guardar y cerrar nuestro archivo y reiniciar Squid.
service squid restart
Si no tenemos errores, procedemos a la siguiente parte, que es la creación de usuarios certificados para nuestro proxy.
Para ello agregamos un usuario:
adduser usuario
Y nos pedirá que tecleemos dos veces la contraseña.
Posteriormente generamos la autentificación para nuestro Squid basados en nuestra base de datos llamada : passwd
htpasswd -c /etc/squid/passwd usuario
Es necesario que escribamos la misma contraseña que previamente espeficamos en la creación de nuestro usuario.
Una vez realizada esta operación, nuestra configuración quedará completa. y basta con accesar a nuestro proxy en el navegador que deseemos con la url y puerto espeficiado en nuestro proxy, quedando de la siguiente manera.
En el caso de Chrome, nos dirigimos a Configuración de Proxy > Configuración de LAN > Servidor Proxy y llenamos los datos con nuestro proxy y puerto.
Posteriormente especificamos los protocolos que queremos usar.
Finalizada la configuración, podremos accesar a las páginas web permitidas en nuestro proxy, una vez que hayamos autentificado nuestro acceso.
CONCLUSION
Este tutorial es recursivo y nos permite bloquear el acceso total a ciertas páginas espeficicandolas previamente, así como el poder desbloquear sitios web que pudiesen estar baneados para nuestra localización actual.
Dudas o comentarios
Grupo de Telegram @PwrMX
0 Comentarios