Squid

Squid es un popular programa de software libre que implementa un servidor proxy y un dominio para caché de páginas web, publicado bajo licencia GPL. Tiene una amplia variedad de utilidades, desde acelerar un servidor web, guardando en caché peticiones repetidas a DNS y otras búsquedas para un grupo de gente que comparte recursos de la red, hasta caché de web, además de añadir seguridad filtrando el tráfico. Está especialmente diseñado para ejecutarse bajo entornos tipo Unix.

Squid ha sido desarrollado durante muchos años y se le considera muy completo y robusto. Aunque orientado a principalmente a HTTP y FTP es compatible con otros protocolos como Internet Gopher. Implementa varias modalidades de cifrado como TLS, SSL, y HTTPS.

Delay pools

Por ejemplo si tengo usuarios que abusan del uso de internet, dado el caso de que bajan una iso y la dejan horas agotando el ancho de banda, lo que podemos hacer con Squid, es que cuando llegen a un tope, por ejemplo 15MB el ancho de banda baje considerablemente

Ejemplo si un usuario baja un archivo ISO, cuando llega a los 15MB la velocidad baja a 16k/s

delay_pools 1
delay_class 1 1
delay_parameters 1 16384/15728640
acl ficheros_iso url_regex \.iso$
delay_access 1 allow ficheros_iso

Se puede hacer tambien

acl restringir url_regex -i “/etc/squid/extensions”

\.ace$
\.af$
\.afx$
\.arj$
\.asf$
\.asx$
\.au$
[...]
\.xla$
\.xls$
\.xlt$
\.xlw$
\.z$
\.zip$

Bloquear MSN apto para 7 y 8

MSN Messenger 7 y MSN 8 tienen a buscar por todo lados como conectarse, entonces esto se vuelve algo medio problematico con Squid y mas cuando tenemos muchos grupos LDAP configurados y queremos que algunos si puedan acceder etc. Mi solución por el momento es :

acl MSN_Method method POST
acl MSN_Agent browser ^Mozilla.compatible;.MSN Messenger
acl MSN_Agent browser ^Mozilla/4\.0.*MSIE.6\.0.MSN
acl MSN_Mime req_mime_type ^application/x-msn-messenger$
acl MSN_Port port 1863
acl MSN_Dom dstdom_regex -i messenger.hotmail.com 207.46.110.40 gateway.messenger.hotmail.com msn.com local-bay.contacts.msn.com messenger.live.com
acl MSN_Url url_regex -i gateway.dll sqmserver.dll ADSAdClient31.dll gateway.dll?
acl MSN_Usr ext_user usuario1 usuario2 usuario3

http_access deny MSN_Agent MSN_Mime MSN_Dom MSN_Url !MSN_Usr
http_reply_access deny MSN_Agent MSN_Mime MSN_Dom MSN_Url !MSN_Usr
http_access deny MSN_Method MSN_Url !MSN_Usr
http_reply_access deny MSN_Method MSN_Url !MSN_Usr
http_access deny CONNECT MSN_Port !MSN_Usr
http_reply_access deny CONNECT MSN_Port !MSN_Usr

El reply acces es para forzar a que si o si se cumpla dicha condición, ya que podemos tener una gran cantidad de ACL's y algunas se pueden superponer, entonces con esto las forzamos.