# vi /etc/squid/squidGuard.conf
# Diretorio das Listas de Bloqueio
dbhome /var/squidGuard/db
logdir /var/log/squidGuard
# Autenticacao LDAP
ldapbinddn cn=squid,ou=INTERNET,dc=palacio,dc=local
ldapbindpass password
ldapcachetime 60
# Grupos de Bloqueio
src ACESSOLIVRE {
ldapusersearch ldap://192.168.100.11:3268/dc=palacio,dc=local?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=ACESSOLIVRE%2cou=INTERNET%2cdc=palacio%2cdc=local))
}
src ACESSOREDESSOCIAIS {
ldapusersearch ldap://192.168.100.11:3268/dc=palacio,dc=local?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=ACESSOREDESSOCIAIS%2cou=INTERNET%2cdc=palacio%2cdc=local))
}
src ACESSOVIDEOS {
ldapusersearch ldap://192.168.100.11:3268/dc=palacio,dc=local?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=ACESSOVIDEOS%2cou=INTERNET%2cdc=palacio%2cdc=local))
}
## Listas de Bloqueio ( Filtragem ) Usando duas listas Bigblaclist e Shallalist
# Big Blacklist
dest porn {
domainlist blacklists/porn/domains
urllist blacklists/porn/urls
# expessionlist blacklists/porn/expressions
}
dest audio-video {
domainlist blacklists/audio-video/domains
urllist blacklists/audio-video/urls
}
# Shallalist
dest porn2 {
domainlist BL/porn/domains
urllist BL/porn/urls
}
dest socialnet {
domainlist BL/socialnet/domains
urllist BL/socialnet/urls
}
# Controle de Acessos ( ACLs )
acl {
ACESSOLIVRE {
pass !porn !porn2
}
ACESSOREDESSOCIAIS {
pass socialnet !porn !porn2 !audio-video
}
ACESSOVIDEOS {
pass audio-video !porn !porn2 !socialnet
}
default {
pass !porn !porn2 !socialnet !audio-video
redirect http://192.168.100.16/cgi-bin/squidGuard-simple.cgi?clientaddr=%a&clientname=%n&clientuser=%i&clientgroup=%s&targetgroup=%t&url=%u
}
}
Baixe as listas dentro do diretório
/var/squidGuard/db, eu, particularmente, uso as duas listas abaixo:
Descompacte:
# tar -zxvf bigblacklist.tar.gz
# tar -zxvf shallalist.tar.gz
Criar os bancos:
# squidGuard -b -u -C all
Monitorar os logs do SquidGuard:
# tail -f /var/log/squidGuard/squidGuard.log
Após completar o processo (que, dependendo da quantidade de listas, pode demorar um pouco), vamos dar as permissões devidas:
# chown -R squid:squid /var/squidGuard/db/*
# find /var/squidGuard/db -type f | xargs chmod 644
# find /var/squidGuard/db -type d | xargs chmod 755
# squid -k reconfigure
Criando uma
whitelist autorizando o acesso aos sites manualmente:
Adicione uma nova ACL:
# vi /etc/squid/squidGuard.conf
dest white {
domainlist white/domains
urllist white/urls
}
default {
pass white !porn !porn2 !socialnet !audio-video
redirect http://192.168.100.16/cgi-bin/squidGuard-simple.cgi?clientaddr=%a&clientname=%n&clientuser=%i&clientgroup=%s&targetgroup=%t&url=%u
}
}
A ACL
white será lida primeiro e o acesso às páginas especificadas no arquivo será liberado.
Criar a pasta e os arquivos:
# mkdir /var/lib/squidguard/db/white
# touch /var/lib/squidguard/db/white/domains
# touch /var/lib/squidguard/db/white/urls
Onde:
- Arquivo domains para domínios liberados por completo. Exemplo: "google.com.br".
- Arquivo urls para páginas. Exemplo: "vivaolinux.com.br/contribuir/artigo/", sempre um por linha.
Obs.: em qualquer alteração feita nos arquivos
dbs, se faz necessário atualizar a conversão das listas e reiniciar o Squid:
# chown -R squid:squid /var/squidGuard/db/*
# find /var/squidGuard/db -type f | xargs chmod 644
# find /var/squidGuard/db -type d | xargs chmod 755
# squidGuard -b -u -C all
# squid -k reconfigure