Os testes foram feitos em um CentOS 4.5 e Fedora 5, mas funciona em qualquer sistema baseado em Red Hat, somente baixe os pacotes respectivos para sua distribuição.
Introdução
SquidGuard é um plugin para Squid que facilita ao administrador a manutenção e aplicação de regras de controle sobre o acesso dos usuários, além de implementar alguns controle não existentes no próprio squid. Possui um arquivo de configuração à parte do squid. Uma das vantagens de se usar o squidguard é pelo fato dele usar um banco de dados para acessar as blacklists, o que o torna muito mais rápido que o bloqueio usando as blacklists do squid que acessam diretamente um arquivo.
Configurando Squid para trabalhar junto com o SquidGuard
Para que o squid trabalhe junto com o SquidGuard temos que dizer a ele qual o arquivo de configuração do squidguard.
Insira a linha abaixo no seu squid.conf:
redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
EXPLICAÇÃO: Essa linha fará com que o squidguard inicie junto com o squid e a opção “-c” seta o arquivo de configuração /etc/squid/squidGuard.conf
Baixando Blacklists com mais de 2.000.000 sites
Baixe o arquivo compactado em : http://urlblacklist.com/cgi-bin/commerci
Extraindo o arquivo :
tar -zxvf bigblacklist.tar.gz
Agora mova o as blacklists para a pasta que costuma utilizar para deixar suas blacklists e whitelists. Eu costumo usar a pasta /var para isso mas sinta-se a vontade para usar a de sua preferência.
Uma observação importante, é a de você dar uma filtrada nas blacklists, pois são mais de 2.000.000 sites e algumas das blacklists baixadas você nunca irá usar, e porque quanto maior o número de blacklists maior será o tempo que o squidguard levará para atualizar suas blacklists quando for inserido novo site em uma delas. Então apague as blacklists não necessárias. No meu caso deixei apenas as blacklists abaixo:
drugs, hacking, onlinegames, proxy, spyware, warez
gambling, instantmessaging, phishing, ringtones, violence, weapons
games, mixed_adult, porn, sexuality, virusinfected
Setando Permissões nas BlackLists
Para que o squid possa manipular as blacklists é necessário que o usuário e o grupo das blacklists seja o squid:
# chown -R squid.squid /var/squidguard/blacklists
EXPLICAÇÃO:
chown :é um dos comandos usado para mudar dono, grupo de arquivos no linux
-R (Recursivo): é a opção que indica ao comando para aplicar o comando chown nos arquivos e Sub pastas da pasta PAI
squid.squid :é o dono.grupo
/var/squidguard/blacklists :é a pasta onde estão minhas blacklists
Configurando o squidGuard.conf
Exemplo de um squidGuard.conf:
########################## PATH LOGS E BLCKLISTS ################
dbhome /var/squidGuard/blacklists
logdir /var/log/squidGuard
######################### INICIO BLACKLISTS #####################
dest instantmessaging {
log instantmessaging
domainlist instantmessaging/domains
urllist instantmessaging/urls
}
dest onlinegames {
log onlinegames
domainlist onlinegames/domains
urllist onlinegames/urls
}
dest spyware {
log spyware
domainlist spyware/domains
# urllist spyware/urls
}
dest phishing {
log phishing
domainlist phishing/domains
urllist phishing/urls
}
dest drugs {
log drugs
domainlist drugs/domains
urllist drugs/urls
}
dest gambling{
log gambling
domainlist gambling/domains
urllist gambling/urls
}
##################### DECLARÇÃO DAS REDES #################
src localhost {
ip 127.0.0.1
}
src rede_adm {
ip 192.168.4.0/24
}
src laboratorio {
ip 192.168.0.0/16
}
src hospedagem {
ip 192.168.10.0/24
}
######################## INICIO ACL'S ############################
acl {
localhost {
pass all
}
}
acl {
rede_adm {
pass all
}
}
acl {
laboratorio {
pass !porn !drugs !hacking instantmessaging !onlinegames !spyware !phishing !violence !warez !gambling all
}
}
acl {
hospedagem {
pass !drugs !hacking instantmessaging proxy onlinegames !spyware !phishing !violence !warez !gambling all
}
}
################# ACL REDIRECIONAMENTO #################
acl { default {
pass none
redirect http://sv-07.ipaimec.net/cgi-bin/squidGu
}
}
EXPLICAÇÃO ARQUIVO SquidGuard.conf:
No incio no arquivo são inseridos os caminhos onde estão as blacklists e onde ficaram os arquivos de log. Ex:
dbhome /var/squidGuard/blacklists
logdir /var/log/squidGuard
dbhome - Diretório do banco de dados do squidGuard
logdir - Diretório de log do squid e squidGuard
Depois vem a declaração das blacklists que serão usadas. Ex:
dest instantmessaging {
log instantmessaging
domainlist instantmessaging/domains
urllist instantmessaging/urls
}
dest é oonde é definido nome da blacklist, no caso instantmessaging.
log é o nome dos arquivos de log
domainlist é o local onde está o arquivo com o os domínios da blacklists em questão
urlist é o local onde estão as url´s de sua blacklist
O próximo passo é a declaração das redes:
src localhost {
ip 127.0.0.1
}
src rede_adm {
ip 192.168.4.0/24
}
src: é o nome da rede a ser declarada, nos casos localhost e rede_adm
ip: É o ip da rede ou maquina que queira configurar.
Agora é a declaração das ACL´S:
acl {
rede_adm {
pass all
}
}
acl {
laboratorio {
pass !porn !drugs !hacking instantmessaging !onlinegames !spyware !phishing !violence !warez !gambling all
}
}
Toda acl inicia com: acl { seguida do nome da rede que foi declarada e você queira manipular no caso : rede_adm { depois vem a definições:
pass all : indica que tudo que vier da rede_adm será liberado. Ou seja, a rede_adm terá acesso liberado.
pass !porn !drugs !hacking: indica que tudo que vier da laboratorio e for diferente porn, diferente de drugs e diferente de hacking será liberado. Ou seja, quem estiver na rede do laboratorio não poderá acessar sites que estejam nas blacklists sitadas.
E toda acl termina com } #:O)
Para Finalizar temos a acl de redirecionamento...
acl { default {
pass none
redirect http://sv-07.ipaimec.net
}
Onde é criada a acl default, com o parâmetro pass none, seguido do redirect
Que indica que tudo que for negado ou seja sites que tenha sido bloqueado é redirecionado para uma url. Pode ela estar dentro do seu server ou uma url externa.
Alem das opções sitadas os squidguard possui outras opções, como:
time workhours - Controle de horário de acesso
rew dmz - Rede dmz
PESQUISE MAIS : www.squidguard.org
Criado o arquivo squidguard.conf agora precisamos reiniciar o squid para que o mesmo inicie junto o SquidGuard.
# /etc/init.d/squid restart
Verifique se o SquidGuard iniciou corretamente:
#ps -aux | grep squidGuard
squid 25326 0.2 0.3 7640 3148 ? Ss 04:15 2:11 (squidGuard) -c /etc/squid/squidGuard.conf
squid 25327 0.0 0.3 7504 3116 ? Ss 04:15 0:04 (squidGuard) -c /etc/squid/squidGuard.conf
squid 25328 0.0 0.2 7508 3080 ? Ss 04:15 0:00 (squidGuard) -c /etc/squid/squidGuard.conf
squid 25329 0.0 0.2 7512 3020 ? Ss 04:15 0:00 (squidGuard) -c /etc/squid/squidGuard.conf
squid 25330 0.0 0.2 6976 2532 ? Ss 04:15 0:00 (squidGuard) -c /etc/squid/squidGuard.conf
Se obter a resposta acima, seu squidguard está OK :O)
Agora quando você precisar inserir uma nova url um dominio na suas black lists o processo é o seguinte:
Com editor de sua preferência edite o arquivo da blacklist que queira inserir essa nova url.
EX:
# vim /var/squidguard/porn/domain/domains
Insira a pagina que queira bloquear, salve e saia.
Agora atualize o banco de dados do SquidGuard com o comando:
# squidguard -C all
Dependendo da quantidade de sites e de blacklists esse procedimento pode demorar.
Pronto seu squid está rodando junto com o squidguard...
Abraços... e USE LINUX !!!
Um comentário:
YOU should be using OUR Blacklists!
We are the worlds leading publisher of Squid 'Native ACL' formatted blacklists, that allow for web filtering directly with Squid proxy. Of course we also offer alternative formats for the most widely used third party plugins, such as DansGuardian and Squidguard. And while our blacklists are subscription based, they are as a result of our efforts, of a much higher degree of quality than the free alternatives.
We hope to serve you,
--
Signed,
Benjamin E. Nichols
http://www.squidblacklist.org
Postar um comentário