Com o squid é possivel fazer um controle preciso do que os usuários podem acessar e tambem monitorar e levantar histórico do que foi acessado.
O site oficial http://www.squid-cache.org/.
Apos instalação, é preciso configurar o controle de acesso e criar os usuários:
a) Editar o script de configuração do Squid, ajustando a parte de autenticação:
# vi /etc/squid/squid.conf
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/usuarios
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
b) definir qual a ACL (Access Control List), que vai ser responsável pelo controle de autenticação:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 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 port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
acl bloqueado url_regex -i “/etc/squid/bloqueado”
acl download url_regex -i “/etc/squid/download”
acl usuarios proxy_auth REQUIRED
c) habilitar o uso da ACL criada, fazendo assim com que todos que passem pelo Squid:
http_access deny bloqueado
http_access deny download
http_access allow usuarios
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all
icp_access allow all
d) Criar os usuario e senhas:
htpasswd -c /etc/squid/usuarios linus
passwd linus
New password:
Re-type new password:
Adding password for user linus
Nota-se que este comando cria o arquivo /etc/squid/passwd mediante ao parametro “-c”.
Para criar outros usuários retire a opção “-c”.
e) Reiniciar o serviço:
$ sudo service squid restart