Squid
Autor: Mayla | Publicado: 2010-05-11T15:38:00-07:00

O que é Squid?&nbsp;
O Squid é um servidor proxy que suporta os protocolos HTTP, HTTPS, FTP e outros. Ele reduz a utilização da conexão e melhora os tempos de resposta fazendo cache de requisições frequentes de páginas web numa rede de computadores. Pode ser usado para controle de banda, restrição de sites, usuários, entre outros. Podemos executar o Squid nas principais plataformas do mercado, como  GNU/Linux, Unixes e Windows.&nbsp;

Instalando e configurando o squid&nbsp;

# Aptitude install squid 
Faz uma cópia do squid.conf, para caso o aquivo original seja danificado possa utilizá-lo;

# cp squid.conf copia_squid.conf

Usando o EGREP para pesquisa/edição do squid.conf

# egrep&nbsp; -v&nbsp; "^#|^$" copia_squid.conf &gt;&nbsp; squid.conf

^# -&nbsp; Início com # (comentário);
^$ -&nbsp; Início com $ ( em branco);
&nbsp; &gt; -&nbsp; Coloca o resultado do arquivo em squid.conf (Nesse caso ele irá subescrever o arquivo);
-v -&nbsp; Exibe os que não fazem parte da pesquisa.

Personalizando!

ACL


Esta tag permite a definição de uma lista de  acesso. A lista de acesso pode conter endereços de IP de clientes, uma faixa de  endereços, o endereço de um servidor de URL, endereço de uma máquina local ou  domínios. Qualquer lista de acesso que você definir utilizando esta tag poderá ser utilizada mais tarde para permitir ou negar pedidos ao  servidor de cache.

Para criá-la seguimos esse modelo acl nome_acl tipo

Criarei agora uma acl para bloquear por palavras, que ficará no diretório /etc/squid/nome_arquivo. A palavras que desejo boquear colocarei nesse arquivo.

acl bloq_palavras url_regex "/etc/squid/bloq_string"

Agora criarei outra acl para o boqueio de domínios. Do mesmo jeito da acl anterior, colocarei os nomes de sites em um arquivo.


acl bloq_sites dstdomain "/etc/squid/site_bloq"

Por fim uma acl que trata ip. Nesse caso poderei bloquear o acesso total dessa máquina ou então liberá-la.

acl&nbsp; ip&nbsp; src 192.168.2.12

Percebe-se que para cada necessidade, será usada um tipo de acl.
src - trata ip
url_regex - trata expressão, string ...
dst_domain - trata domínios.

Existe vários outros, mas utilizarei apenas esses.

Agora darei o tratamento, http_acess deny (negar) ou http_acess allow (liberar). Lembrando que o squid começa a leitura de cima para baixo, caso exista excessões deverá ser inserido no início. 

### Aqui estou definitivamente bloqueando o acesso a acl bloq_palavras, criada anteriormente ###
http_acess deny bloq_palavras
### Vou liberar o ip&nbsp; para o acesso, nesse caso esse ip será liberado para acesso livre a partir daqui, ou seja depois que passar pela verificação acima a maquina será liberada para acesso sem restrições ###
http_acess allow ip
### Agora irei bloquer por dominíos (Lembrando que como liberei o ip antes, nessa máquina não será bloqueada o acesso a esses sites, por ter sido colocada&nbsp; antes dessa regra) ###
http_acess deny bloq_sites 


Por fim a criação dos arquivos bloq_string e site_bloq.

Vamos utilizar o Vim
# vim bloq_string
Digita as palavras a serem bloqueadas, uma abaixo da outra. Tecla Esc, depois :wq para salvar e sair. Faz o mesmo com o arquivo site_bloq. Lembrando que tudo será salvo em /etc/squid.