Bem pessoal hoje vou ensinar como instalar e configurar o SquidGuard para trabalhar junto com o Squid.
A utilização do SquidGuard junto ao Squid, seria para uma empresa onde é preciso acessar muitos sites, e se você usar da lógica de bloquear tudo e ir liberando o necessário você Analista de Suporte/Administrador de Redes vai acabar tendo muito mais trabalho, então com o squid Guard, você pode utilizar Blacklist´s e bloquear diversas categoria de sites diferentes.
Vantagens de utilizar o SquidGuard: é free (Livre) e rápido, não deixando sua rede mais lenta.
Comando para instalação do SquidGuard no Centos e derivados:
# yum install squidguard
Caso seu sistema seja Ubuntu server ou Debian, o comando deve ser similar, caso não seja use do
# apt-cache search squidguard -> para encontrar o pacote de instalação.
Bem, dentro do diretório /etc/squid visto que voê já tenha seu squid instalado e configurado, haverá um arquivo chamado squidguard.conf que é o arquivo de configuração do SquidGuard.
Agora precisamos baixar as ou a blacklist´s para usarmos no SquidGuard.
Para baixar podemos usar o comando:
# wget http://squidguard.mesd.k12.or.us/blacklists.tgz
Dentro do diretório que foi feito o download descompacte com o comando:
# tar -zxvf blacklists.tgz
A pasta que foi descompactada, você vai precisar mover para o diretório criado pelo SquidGuard na instalação, em /var/lib/squidguard
# mv blacklists /var/lib/squidguard
Agora entre dentro do diretório squidguard.
# cd /var/lib/squidguard
Liste o que há dentro deste diretório.
# ls
Como você pode ver existem várias pastas, divididas em assuntos diferentes, dentro de cada pasta contém dois arquivos um denominado "domains" e "urls".
Dentro de domains contém os dominios de sites, e urls contem url´s isoladas para bloqueio.
Funciona da seguinte forma, você pode querer deixar o site da www.globo.com liberado, porém o link de noticias referente a novela por exemplo você querer bloquear, então dentro de "urls" você vai colocar a Urls (link) completo que leva até as notícias da novela, basicamente é isso.
Agora vamos para o arquivo de configuração, com seu editor de costume edite o arquivo squidguard.conf
# vim /etc/squid/squidguard.conf
Dentro do arquivo você vai ver algumas linhas comentadas e outras descomentadas, algumas configurações pré ajustadas, eu costumo comentar tudo ou criar um arquivo em branco e trabalhar a partir dali.
Inicio do arquivo:
# /etc/squid/squidGuard.conf
dbhome /var/lib/squidguard
logdir /var/log/squid
A linha "dbhome" mostra onde vão ficar as blacklists, e a segunda linha "logdir" onde serão armazenados
on logs.
Criando a acls:
dest warez{
domainlist blacklists/warez/domains
urllist blacklists/warez/urls
}
A primeira linha dest da um nome a "acl", a segunda linha "domainlist" indica onde está o arquivo domains, e a terceira linha indica a "urls"
Como podemos perceber não é preciso colocar o caminho completo, somente é preciso colocar apartir de blacklists.
Definindo as pemissões para as acls:
Criando a acls:
dest warez{
domainlist blacklists/warez/domains
urllist blacklists/warez/urls
}
A primeira linha dest da um nome a "acl", a segunda linha "domainlist" indica onde está o arquivo domains, e a terceira linha indica a "urls"
Como podemos perceber não é preciso colocar o caminho completo, somente é preciso colocar apartir de blacklists.
Definindo as pemissões para as acls:
acl {
default {
pass !warez all
redirect http://www.linuxstudylpi.blogspot.com.br
}
Aqui na definifição "pass" indica como a ACL será usada. No exemplo, usei a linha "pass !warez all", que indica que os acessos a páginas citadas nas listas dentro do diretório wares devem ser bloqueados, mas o acesso a outras páginas é aceito (all).
A frente do redirect voê pode colocar um site que você queira que os usuários vão ao serem bloqueados.
Para utilizarmos todos o conteúdo extraido da blacklist, é só criar várias regras (ACLs) e depois ir bloqueando, mais ou menos assim.
#################################################################################
# SISTEMA OPERACIONAL GNU/LINUX 6.0.5
# Cléio Sousa
# ANALISTA DE SUPOORTE
# BLOG: linuxstudylpi.blogspot.com.br
# DATA: 10/07/2012
# CONFIGURANDO SQUIDGUARD
# /etc/squid/squidGuard.conf
dbhome /var/lib/squidguard
logdir /var/log/squid
##Sites que nao passaram pelos bloqueios do squidGuard.
dest liberados {
domainlist blacklists/sitesliberados/domains
urllist blacklists/sitesliberados/urls
}
# ads - Sites que hospedam banners e anuncios em geral, exibidos em outras paginas
# (bloqueando estes dominios, voce bloqueia boa parte dos banners de anuncioss).
dest ads {
domainlist blacklists/ads/domains
urllist blacklists/ads/urls
}
dest aggressive {
domainlist blacklists/aggressive/domains
urllist blacklists/aggressive/urls
}
# Paginas (nao necessariamente ilegais) que hospedam videos e musicas, como o youtube.
dest audio-video {
domainlist blacklists/audio-video/domains
urllist blacklists/audio-video/urls
}
# sites que vendem remedios e pginass com conteudo relacionado ao uso de drogas ou apologia as drogas.
dest drugs {
domainlist blacklists/drugs/domains
urllist blacklists/drugs/urls
}
# Sites de Cassinos e outras paginas relacionadas a jogos de aposta.
dest gambling {
domainlist blacklists/gambling/domains
urllist blacklists/gambling/urls
}
# Sites pornograficos
dest porn {
domainlist blacklists/porn/domains
urllist blacklists/porn/urls
}
# reune URLs e enderecos de proxys externos, que podem ser usados pelos usuarios para furar o bloqueio, como o http://proxy.org.
dest proxy {
domainlist blacklists/proxy/domains
urllist blacklists/proxy/urls
}
# tambem serve para burlar, furar o proxy
dest redirector {
domainlist blacklists/redirector/domains
urllist blacklists/redirector/urls
}
# Paginas contendo virus e spywares diversos
dest spyware {
domainlist blacklists/spyware/domains
urllist blacklists/spyware/urls
}
# Paginas contendo conteudo de violencia, videos e fotos.
dest violence {
domainlist blacklists/violence/domains
urllist blacklists/violence/urls
}
# Paginas que contem programas piratas, cracks, etc.
dest warez{
domainlist blacklists/warez/domains
urllist blacklists/warez/urls
}
acl {
default {
pass liberados !ads !aggressive !audio-video !drugs !gambling !porn !proxy
!redirector !spyware !violence !warez all
redirect http://www.andreluiz.org.br
}
}
################################## FIM ########################################
Como podemos ver é só preciso repetir as ACLs e depois incluí-las dentro da regra de bloqueio.
A primeira regra "sitesliberados" foi criada fazendo com que os sites que estiverem dentro de /var/lib/squidguard/blabklists/sitesliberados sejam liberados, precisa ter os dois arquivos como dos outros diretórios, os arquivos domains e urls, e dentro dos dois arquivos precisa haver algum conteúdo, caso contrário não funciona corretamente as regras.
A ACL sitesliberados precisar ficar sem a exclamação a frente, e também precisa estar em primeiro lugar na regra de bloqueio (pass).
"A exclamação que determina o bloqueio da ACL"
É preciso também verificar as permissões dentro de /var/lib/squidguard/ apartir daqui os diretório e subdiretórios precisam pertencer ao grupo do squid, e a permissão precisa ser 750 ou 755 como preferir.
De o seguinte comando para deixar ok.
# chown squid:squid /var/lib/squidguard/blabklists -R
# chmod 750 /var/lib/squidguard/blabklists -R
Agora precisamos rodar o comando squidGuard -C all que vai converter o conteúdo dentro de /var/lib/squidguard/blabklists para Berkeley DB, que permite um acesso muito mais rápido do que seria possível ao manipular diretamente os arquivos em texto.
# squidGuard -C all
Sim ele demora um pouco, caso tenha algo errado, ela vai travar seu terminal, para parar a conversão de um Control + c , e verifique seu arquivo squidguard.conf
Depois de convertermos os arquivos da blacklist, se verificarmos dentro dos diretórios da blacklists você verá que foi criado arquivos .db que é onde o squidGuard vai buscar as informações dos domains e urls.
Agora vamos para o arquivo squid.conf em /etc/squid/squid.conf
Dentro do aquivo você vai colocar a linha que vai acionar o squidGuard.A linha é a seguinte:
redirect_program /usr/bin/squidGuard
Você precisa colocar essa regra após as regras de restrição do seu squid, porém precisa ser colocada antes das regras de finais.
Ficando mais ou menos assim:
http_access allow autenticacao sites_bloqueados
http_access deny usuarios_basicos
http_access allow usuarios_liberados
#### Acl de redirecionamento para Squid Guard #####
redirect_program /usr/bin/squidGuard
http_access deny all
Aqui eu peguei somente o final do arquivo de configura~çao só mesmo para você poder visualizar onde vai ficar o "redirect". Ficando depois das regra de bloqueio e antes da regra de bloqueio total da rede.
Depois reinicie o squid.
# /etc/init.d/squid restart
Para verificar se o SquidGuard está funcionando você pode utilizar o comando abaixo:
# tail /var/log/squid/squidGuard.log
Para testar você pode pegar uma url bloqueada dentro do squidGuard (/var/lib/squidguard/blacklists/gambling/) por exemplo e testar o acesso, caso não consiga acessar então está funcionando ;)
É bom lembrar que estas blacklist sempre são atualizadas, então é sempre bom estar atualizando os arquivos , e sempre que for alteradas é preciso rodar o comando # squidGuard -C all para a conversão e atualização do BD.
Bem pessoal é isso, espero que sirva de ajuda à alguém, abraço!
Depois reinicie o squid.
# /etc/init.d/squid restart
Para verificar se o SquidGuard está funcionando você pode utilizar o comando abaixo:
# tail /var/log/squid/squidGuard.log
Para testar você pode pegar uma url bloqueada dentro do squidGuard (/var/lib/squidguard/blacklists/gambling/) por exemplo e testar o acesso, caso não consiga acessar então está funcionando ;)
É bom lembrar que estas blacklist sempre são atualizadas, então é sempre bom estar atualizando os arquivos , e sempre que for alteradas é preciso rodar o comando # squidGuard -C all para a conversão e atualização do BD.
Bem pessoal é isso, espero que sirva de ajuda à alguém, abraço!
Muito bom o conteudo
ResponderExcluirbom dia... ja a dias estou com dificuldades de fazer essa implementacao no centos 6.4 aparentemente ocorre tudo certinho inclusive na criacao dos dbs. porem nao bloqueia e nos logs diz que o squidguard esta parado. segue abaixo os logs.
ResponderExcluir2013-06-24 15:38:39 [31168] New setting: dbhome: /var/squidGuard/db
2013-06-24 15:38:39 [31168] New setting: logdir: /var/log/squidGuard
2013-06-24 15:38:39 [31168] init domainlist /var/squidGuard/db/blacklists/ads/do mains
2013-06-24 15:38:39 [31168] create new dbfile /var/squidGuard/db/blacklists/ads/ domains.db
2013-06-24 15:38:39 [31168] init urllist /var/squidGuard/db/blacklists/ads/urls
2013-06-24 15:38:39 [31168] create new dbfile /var/squidGuard/db/blacklists/ads/ urls.db
2013-06-24 15:38:39 [31168] init domainlist /var/squidGuard/db/blacklists/porn/d omains
2013-06-24 15:38:48 [31168] create new dbfile /var/squidGuard/db/blacklists/porn /domains.db
2013-06-24 15:38:48 [31168] init urllist /var/squidGuard/db/blacklists/porn/urls
2013-06-24 15:38:48 [31168] create new dbfile /var/squidGuard/db/blacklists/porn /urls.db
2013-06-24 15:38:48 [31168] init domainlist /var/squidGuard/db/BL/porn/domains
2013-06-24 15:39:00 [31168] create new dbfile /var/squidGuard/db/BL/porn/domains .db
2013-06-24 15:39:00 [31168] init urllist /var/squidGuard/db/BL/porn/urls
2013-06-24 15:39:00 [31168] create new dbfile /var/squidGuard/db/BL/porn/urls.db
2013-06-24 15:39:00 [31168] init domainlist /var/squidGuard/db/BL/socialnet/doma ins
2013-06-24 15:39:00 [31168] create new dbfile /var/squidGuard/db/BL/socialnet/do mains.db
2013-06-24 15:39:00 [31168] init urllist /var/squidGuard/db/BL/socialnet/urls
2013-06-24 15:39:00 [31168] create new dbfile /var/squidGuard/db/BL/socialnet/ur ls.db
2013-06-24 15:39:00 [31168] squidGuard 1.4 started (1372102719.194)
2013-06-24 15:39:00 [31168] db update done
2013-06-24 15:39:00 [31168] squidGuard stopped (1372102740.368)
alguma dica? ja disabilitei o firewall e o SeLinux tbm.