Home

October 2008

S M T W T F S
   1234
567891011
12131415161718
19202122232425
262728293031 

Advertisement

Powered by LiveJournal.com

Configurando SQUIDGUARD + SQUID

A intenção é mostrar a configuração do SquidGuard, então entende-se que seu squid já esta funcionando só iremos alterar algumas configurações para ele funcionar junto com o SQUIDGUARD.

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/commercialdownload.pl?type=download&file=bigblacklist


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/squidGuard.cgi?clientaddr=%a&clientname=%n&clientident=%i&srcclass=%s&targetgroup=%t&url=%u

}

}


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 !!!

Comments