Utilizando o Debian 5.01 a última versão de instalação via apt-get do DansGuardian é 2.9.9.4 e do Squid é 2.7.STABLE3. Eu utilizava esses dois aplicativos no Debian 4 e quando fiz as atualizações verifiquei muitas mudanças, principalmente no Dansguardian, que melhoraram muito o sistema.
Não detalharemos as configurações do Squid, há centenas de artigos espalhados pela internet que ensinam determinada configuração dependendo da sua necessidade, neste caso há uma configuração do Squid com autenticação no OpenLDAP.
#Porta de acesso do proxy - Escuta do Dansguardian #http_port 3128
http_port 127.0.0.1:3128
#Define o nome que irá aparecer nas páginas de erro ou acesso do squid
visible_hostname NetServer-Servidor-Proxy
#Não faz cache de dados de formulários html, nem de resultados de programas cgi
hierarchy_stoplist cgi-bin ?
#Cria uma access control list, baseando-se na url e utilizando exp. regulares #nesta situação foi criado uma exp. regular para cgi e ?.
acl QUERY urlpath_regex cgi-bin \?
#Não faz cache da acl QUERY
cache deny QUERY
#apache
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
#Configura o número máximo de tentativas de conexões em um servidor que tenha somente um endereço
maximum_single_addr_tries 1
#Tamanho máximo de memória para cache
cache_mem 256 MB
#Tamanho máximo de um objeto
maximum_object_size 20128 KB #Com o cache_swap_high define qual a porcentagem máxima que o cache deverá #atingir para começar a apagar arquivos antigos. O cache_swap_low define qual a #porcentagem deverá ser atingida durante a remoção desses arquivos.
cache_swap_low 80
cache_swap_high 95
#Tamanho máximo de um objeto na memória ram, caso o objeto seja #maior que o valor estipulado ele será gravado direto no disco
maximum_object_size_in_memory 128 KB
#Define a localização do cache de disco, tamanho #Quantidade de diretórios pai, e por fim a quantidade de diretórios filhos
cache_dir ufs /var/spool/squid 256 128 256
#Arquivo de Log
access_log /var/log/squid/access.log squid
#Arquivo que contém os nomes de máquinas #hosts_file /etc/hosts
#Autenticação no LDAP
auth_param basic program /usr/lib/squid/ldap_auth -v 3 -b "ou=Users,dc=empresa,dc=com,dc=br" -f "uid=%s" -h ldap.empresa.com.br
auth_param basic children 8
auth_param basic realm WebProxy. Digite seu login e senha.
auth_param basic credentialsttl 20 minutes
acl usuarios proxy_auth REQUIRED
#acl usuários controlados #controle de banda nos arquivos: .zip .rar .avi .iso .mpg .7z
acl controlbandfiles url_regex -i "/etc/squid/acls/controlbandfiles" #usuários sem controle de banda
acl controlbandfree proxy_auth "/etc/squid/acls/controlbandfree"
#Tempo de atualização dos objetos relacionados aos protocolos ftp, gopher e http. #Default Sugerido:
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern .
#Mínimo de Access Control List para o squid funcionar corretamente #Não alterar estas acls, pois poderá travar o squid
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
#Repasse dos ips dos clientes pelo Dansguardian, aqui esta uma das mudançanda no squid 2.7 vem com fowarded_for compilado. #Isto possibilita o repasse dos ips cliente dos Dansguardian para o squid, antes todos ips chegavam no squid como 127.0.0.1
follow_x_forwarded_for allow localhost
#Acessos
#limite de banda
delay_pools 2
#Controle 2 #Sem limite de banda
delay_class 1 2
delay_parameters 1 -1/-1 -1/-1
delay_access 1 allow controlbandfree
#Controle 3 #Limite de banda a arquivos, 100kbps
delay_class 2 2 #delay_parameters 2 100000/100000 100000/100000 #alterei
delay_parameters 2 100000/100000 100000/100000
delay_access 2 allow controlbandfiles
#Acessos dos usuários autenticados.
http_access allow usuarios
[1] Comentário enviado por altairmsouza em 14/07/2009 - 20:57h
Gustavo, show de bola seu artigo pois o dansguardian esta ficando melhor a cada atualização, este não é o foco do artigo mas sobre geradores de relatório atualmente utilizo SARG, contudo não é em tempo real, varios administradores de rede elogiaram o MySar; pesquisei no google e surgiu um projeto chamado Pysquila, qual você poderia indicar ?
[2] Comentário enviado por drakula em 15/07/2009 - 07:19h
Gustavo muito bom o artigo, tem também só a título de informação um módulo do webmin para gerenciamento web do dansguardian bem interessante, Altairmsouza não conhecia esse Pysquila é bem mais bonito que o sarg, o Mysar até funciona mas esta bem desatualizado o projeto faz mais de um ano que não tem atualização de nada não sei a compatibilidade com o squid 3 no mais o pessoal usa o sarg mesmo e tem o lightsquid também mas a interface é bem semelhante a do sarg.
[3] Comentário enviado por hendrigo em 15/07/2009 - 08:19h
Eu uso o sarg mesmo, gero o relatório no meu servidor proxy e copio os relatórios para meu servidor web remotamente com o rsync.
Agora para ver acessos no instante nada melhor que um tail -f |grep rs.
T+
[6] Comentário enviado por jose.freitas.rj em 05/08/2009 - 18:03h
fala hendrigo! queria lhe parabenizar sobre seu artigo!!! cara, segui passo a passo seu artigo nos minímos detalhes e está dando erro quando coloco no servidor o ip do proxy mais a porta 8080. sempre dá a página de erro do squid em português "proibido o Acesso". sendo assim, nenhuma página abre! quando coloco o ip do servidor proxy mais a porta do squid 3128 não abre nenhuma página no navegador. queria saber o por que que quando coloco o ip do servidor proxy mais a porta do dansguardian aparece a página do squid dizendo "Proibido o Acesso" quando eu coloco no dansguardian o ip do servidor 10.1.1.2 e no squid o mesmo ip 10.1.1.2 navega normalmente sem erro algum... no seu artigo está dizendo pra configurar como 127.0.0.1:3128 e 127.0.0.0.1:8080.
[7] Comentário enviado por hendrigo em 05/08/2009 - 22:04h
É o seguinte quando se coloca no squid para escutar 127.0.0.1:3128, ele só vai receber conexões locais, ou seja do Dansguardian. Isso evita que um user coloque ipdoseuproxy:3128 e burle o seu filtro (Dansguardian). porta 8080 é do Dansguardian e 3128 é do Squid.
Minha dúvida: o Dansguardian e o Squid estão na mesma máquina?
[8] Comentário enviado por jose.freitas.rj em 06/08/2009 - 08:30h
obrigado por está me respondendo! Bem, os dois estão na mesma máquina e já não é de hoje que o meu squid junto com o dansguardian configurado como o ip local 127.0.0.1 dá essa mensagem de " Proibido o Acesso" do squid. Estou usando o CentOS 5.3 peguei um squid src no site do fedora ( http://download.fedora.redhat.com/pub/fedora/linux/releases/11/Fedora/source/SRPMS/squid-3.0.STABLE1... e rebuildei pra squid-3.0.STABLE13-1.fc11.src.rpm. Com isso, instalei no CentOS 5.3 sem problema e não obtive erro na instalação. Depois da instalação do squid dei o comando "squid -v' e reparei que ele não compilou follow_x_forwarded_for.
O que pode ser, já que não é a primeira vez que junto o squid com dansguardian e sempre dá esse erro?
Nas outras versões 2.6, 2.7 isso sempre acontecia...
[9] Comentário enviado por hendrigo em 06/08/2009 - 08:38h
Sem o follow_x_forwarded_for deveria funcionar também a única diferença é que nos logs do squid os acessos chegam todos com ip 127.0.0.1.
Se vc deixa 3128 no lugar de 127.0.0.1:3128 funciona corretamente? se sim, use iptables para rejeitar conexões na porta 3128 de outras máquinas que não sejam o o proxy.
[10] Comentário enviado por jose.freitas.rj em 06/08/2009 - 08:46h
Não funciona não! dá o mesmo erro! já tentei de tudo! até inverti as portas do squid pra 8080 e do dansguardian pra 3128 e nada! Posso postar aqui o meu squid.conf?
[12] Comentário enviado por fvargas_tkd em 16/08/2009 - 10:42h
Gustavo, parabéns pelo artigo muito bom mesmo. Tenho uma dúvida, tenho uma rede do tipo ad-hoc, onde o dansguardian funciona muito bem na minha maquina, gostaria de que o dansguardian funcionasse na máquina do meu irmão. Como faço para isso acontecer? como adiciono o ip do meu irmão e onde adiciono para que o dansguardian funcione na máquina dele?
Obrigado.
Fábio.
[13] Comentário enviado por hendrigo em 17/08/2009 - 08:20h
Se o Dansguardian+Squid funciona em sua máquina, vc deve adiconar o proxy + porta no navegador da máquina do seu irmão.
No firefox em ->Editar ->Preferencias->Avançado-->rede-->configurar
[14] Comentário enviado por fabinhocpm22 em 11/11/2009 - 10:14h
Bom dia, Estou com o seguinte problema: preciso criar 8 niveis de acesso a internet, até 2 grupos criados o dansguardian funciona blzinha, mas quando configuro mais de 2 grupos, o dansguardian da o seguinte erro:
Invalid groupmode
Error opening filter group config: /etc/dansguardian/dansguardianf3.conf
Error reading filter group conf file(s).
Error parsing the dansguardian.conf file or other Dansguardian configuration files
[21] Comentário enviado por hendrigo em 22/11/2009 - 17:34h
Kra interpretei errado os comentários nos arquivos do Dansguardian.
Cometi uma falha nessa explicação, lá deve ser 0 ou 1 só, vi que o meu estava funcionando pq não tinha alterado isso. blz. T+
[22] Comentário enviado por mayuve em 19/02/2010 - 13:56h
Beleza Gustavo,
cara gostaria de uma dica sua, quando configuro o proxy na porta 8080 para usar o filtro do dansguardian, todas as minhas paginas ficam bloqueadas. se eu configurar o 3128 (liberado total) eu consigo navegar. já conferi todo o tutorial e nada, onde posso estar errando?
[23] Comentário enviado por hendrigo em 19/02/2010 - 14:08h
São bloqueadas pelo dansguardian?
coloca a porta 3128 vc vai estar pulando o dansguardian e acessando direto o squid, que não tem bloqueio algum. por isso coloco no squid 127.0.0.1:3128 para nenhum espertinho fazer isso.
Se o Dansguardian estiver bloqueando suas páginas vc tem q fazer as configurações para o desbloqueio delas!
t+
[24] Comentário enviado por whyper em 05/03/2010 - 12:45h
Viva Gustavo!
excelente artigo, tenho vindo a aprender muito neste site, todos os dias...
estou com um problemazinho no que diz respeito ao grupo2. criei tudo tal e qual como referiste neste artigo. A diferença é que estou a designar os utilizadores (active directory) ao filter2 no filtergroupslist, o primeiro grupo está com todas as restrições só para user autenticados e o segundo grupo já tem mais uns quantos sites bloqueados.
quando checko os users com wbinfo -u, é este o nome que tenho que pôr no filtergrouplist? ou será dominio/user?
agradeço uma pequena ajuda, pois está mesmo quase....
[27] Comentário enviado por hendrigo em 08/03/2010 - 08:09h
Vc descomentou a linha authplugin?
# Este plugin deve ser habilitado para aparecer os usuários no log do Dansguardian
authplugin = '/etc/dansguardian/authplugins/proxy-basic.conf'
[28] Comentário enviado por whyper em 08/03/2010 - 08:16h
acho que já resolvi. no ficheiro dansguardian.conf fiz as seguintes modificações:
#authplugin = '/etc/dansguardian/authplugins/proxy-basic.conf'
authplugin = '/etc/dansguardian/authplugins/proxy-ntlm.conf'
agora já está a filtrar por utilizador no filtergrouplist
espectáculo, obrigado por estes artigos que nos guiam ao conhecimento!!!
[29] Comentário enviado por leandromoreirati em 26/03/2010 - 16:56h
Hendrigo,
Estou criando 4 grupos no dansguardian, so que ao setar o groupmode no dansguardianfX.conf, ele so aceita os valores 1 e 2, e assim mesmo, pois eu entendi que deveria ser um groupmode para cada filtergroup criado, no caso criei 4 grupos deveria ter 4 groupmode, será que pode me ajuda.
[30] Comentário enviado por hendrigo em 26/03/2010 - 17:03h
Vê se os comentários resolvem o seu problema:
Consegui fazer o Dansguardian funcionar com 8 grupos, fiz o que vc falou deixei todos os grupos com groupmode= 1
Muito Obrigado hendrigo.
[21] Comentário enviado por hendrigo em 22/11/2009 - 17:34h:
Kra interpretei errado os comentários nos arquivos do Dansguardian.
Cometi uma falha nessa explicação, lá deve ser 0 ou 1 só, vi que o meu estava funcionando pq não tinha alterado isso. blz. T+
[33] Comentário enviado por renatogodois em 21/09/2010 - 17:21h
Configurei tudo como manda o figurino, preciso de 3 grupos mas quando eu configuro eles, o dansguardian só pega o o f1, que creio eu seja o padrão, já num sei mais o que faze, to doido com isso. Ele só bloqueia quando você coloca nos configs do f1, o f2 e f3 é como se não existissem.
[39] Comentário enviado por wlribeiro em 27/03/2014 - 12:43h
Boa tarde Pessoal,
Estou criando um ambiente aqui na empresa com dois servidores FreeBSD rodando squid, estou usando UCARP para HA e rsync para os arquivos de configuracoes do squid e danguardian. A autenticacao usada NTLM e esta funcionando e no DANSGUARDIAN eu habilitei o plugin de autenticacao ntlm, as acls por usuarios estao funcionando corretamente, criei dois grupos de regras e aplicando as regras para usuarios funciona corretamente, eu tentei colocar o grupo do AD e nao funcionou e nao sei se possui algum recurso.
Gostaria de saber se possui algum recurso do dansguardian aplicar regras por grupos do AD usando winbind ou LDAP?