Antes de mais nada, nesse post tera palavras que algumas pessoaspossam achar "de baixo calao ou simplesmente palavrao",para essas pessoas antecipadamente peco desculpas, mas a intencaonao e de propagar nenhuma forma de agressividade mas, sim demostrar de forma direta o uso de expressoes regulares no squid.Por muitas vezes temos que criar regras para fazer bloqueio depalavras dentro do proxy, porem essas palavras podem compor outraspalavras.Quando instalamos o squid na forma padrao o aplicativo ja iniciatrabalhando, basicamente tera (sem os comentarios) os seguintesitens no arquivo /etc/squid3/squid.conf.Nessa primeira parte do squid.conf teremos as configuracoes dosapelidos das ACL's (Access Control List), essas regras definemo comportamento do nosso servidor, irei comentar as linhasimportantes.acl manager proto cache_object## Essa acl abaixo informa ao squid queo endereco IP 127.0.0.1/32 (ipv4) e o ::1 (ipv6) tem acesso aoservidor## o item srce o responsavel por definir um endereco ip ou de uma rede paraacesso ao servidor##pode-se criar uma acl, com a opcao srcpara definir por exemplo um computador da ## gerencia ou direcaocom a intencao livre doscontroles de acesso.acl localhost src 127.0.0.1/32 ::1acl to_localhost dst 127.0.0.0/80.0.0.0/32 ::1## essas linhas sao padrao do squid,definindo as portas em que ele controlara.acl SSL_ports port 443acl Safe_ports port 80 # httpacl Safe_ports port 21 # ftpacl Safe_ports port 443 # httpsacl Safe_ports port 70 # gopheracl Safe_ports port 210 # waisacl Safe_ports port 1025-65535 #unregistered portsacl Safe_ports port 280 #http-mgmtacl Safe_ports port 488 #gss-httpacl Safe_ports port 591 #filemakeracl Safe_ports port 777 #multiling httpacl CONNECT method CONNECT## Apos as informacoes das ACL, enecessario informar o que sera feito com elas, e aonde se## encontra as linhas abaixo, ohttp_access definira se o acesso sera liberado (allow) ou negado(deny)## e aqui que devemos ter cuidado, poisquando o squid encontra, o que ele conhece como MISMATCH, ele naovai acessar o restante do arquivo.http_access allow manager localhosthttp_access deny managerhttp_access deny !Safe_portshttp_access deny CONNECT !SSL_portshttp_access allow localhost## Todas as regras que voce for incluirdevera ser antes dessa linha, por padrao o squid fecha toda a## internet, se chegar aqui as regrasanteriores nao tiveram controle. A opcao http_accessdeny all bloqueiatudo, para liberar toda a internet e fazer bloqueios anteriores mudeessa linha para http_accessallow allhttp_access deny allhttp_port 3128coredump_dir /var/spool/squid3refresh_pattern ^ftp: 1440 20% 10080refresh_pattern ^gopher: 1440 0% 1440refresh_pattern -i (/cgi-bin/|\?) 0 0% 0refresh_pattern(Release|Packages(.gz)*)$ 0 20% 2880refresh_pattern . 0 20% 4320Pronto, com o arquivo padrao em usopodemos fazer nossas mudancas, vamos trabalhar com toda a internetbloqueada e vamos fazer liberacoes de determinados sites. Nossamudanca sera bastante simples, criaremos uma ACL, e depois vamosfazer um http_access para fazer nossa liberacao.Por recomendacao devemos colocarnossas ACL's apos essa linhaacl CONNECT method CONNECT## nova aclacl sitesLiberados dstdomain.google.com.br## observe que nessa regra usamos odstdomain para definir queesse site esta liberado (existe um##ponto antes do nome do google.com.br informando que todo odominio sera controlado, neste##caso liberado.Aocolocar uma acl devemos informar ao http_access que essa acl deveraser permitida, mais uma vez por recomendacao devemos colocar essaregra deve estar antes da linha.http_access deny all.http_accessallow sitesLiberadoshttp_accessdeny allnesteformato temos um pequeno problema, se desejamos liberar mais de umsite alem do google.com.br, devemos duplicar a linha, conforme oexemplo abaixo.acl sitesLiberados dstdomain.google.com.bracl sitesLiberados dstdomain.terra.com.bracl sitesLiberados dstdomain.uol.com.bro quepode