sudo: Jack of all trades, master of some

Controlar la cantidad de IPs por usuarios autenticados con Squid

Comentarios desactivados en Controlar la cantidad de IPs por usuarios autenticados con Squid

Generalmente el ancho de banda con el que contamos en nuestras redes empresariales no es muy grande, es por esto que generalmente se usa un proxy para controlar el tráfico hacia redes externas y hacer que el poco ancho de banda se use racionalmente.
Una de las medidas que aplico (hay varias) es permitir que cada usuario use una sola dirección IP cuando esté autenticado, se puede dar el caso que el dueño de la cuenta permita que otros usuarios no autorizados naveguen simultáneamente lo que conlleva a un uso extensivo del tan preciado ancho de banda.
El proxy que utilizo, como muchos, es Squid 2.7.STABLE9, a continuación les muestro cómo aplicar esta medida.


1. Crear una ACL de tipo authenticate_ip_ttl y asignarle como valor el tiempo de vida deseado.

authenticate_ip_ttl 2 hours

2. Crear una ACL de tipo max_user_ip y asignarle como valor -s 1.

acl maxip max_user_ip -s 1


3. Antes de permitir cualquier acceso restringir la cantidad de IPs por usuarios.

http_access deny maxip

Si algún usuario se autentica en un host ya no se podrá autenticar en otro host con el mismo nombre de usuario hasta que el ttl de la autenticación IP termine, en este caso, 2 horas. Es importante que el valor de authenticate_ip_ttl se adapte a las características de la red. Si es una red en la que los usuario cambian rápidamente de host entonces un valor pequeño sería ideal, mientras que en una red en la que los usuarios generalmente navegan desde un solo IP un valor alto sería lo recomendable.

Es posible aplicar esta medida de control solo a ciertos usuarios, para esto es necesario crear una acl de tipo proxy_auth y especificarla en la directiva http_access deny.

acl usuarios_restringidos proxy_auth "/etc/squid/usuarios_restringidos"
http_access deny usuarios_restringidos maxip