SquidGuard: o bloqueador de listas para o Squid

SquidGuard é um redirecionador de URLs usado para a utilização de blacklists com o proxy Squid. Ele é bastante rápido e é uma boa alternativa para quem precisa bloquear muitos sites, mas não toda a rede de internet.

[ Hits: 144.419 ]

Por: Eduardo Paim Silveira em 13/05/2009 | Blog: http://saidecimadomuro.blogspot.com


Introdução



Os sites não produtivos normalmente tendem a ser a dor de cabeça de todo gerente de TI. Sites de relacionamentos, pornografia, games, entre outros, muitas vezes tiram a atenção do funcionário, normalmente fazendo com que o administrador da rede coloque um proxy e bloqueie tudo, liberando somente o necessário.

Mas se sua empresa precisa acessar muitos sites, uma alternativa é utilizar blacklists (listas negras). As blacklists possuem muitos sites, mas é inviável para se utilizar no Squid (proxy mais utilizado), pois consome muito processamento - mas se for apenas uma lista, não há problemas em utilizar.

A saída é utilizar o Squid em conjunto com o squidGuard. Veremos adiante como instalá-lo e configurá-lo.

Para quem é bom de inglês, recomendo o manual oficial do squidGuard.

Aprendi a utilizar squidGuard por ele, pois não achei artigos bons sobre o assunto. Isso foi o que me fez tentar fazer um artigo decente. Bom, tentar pelo menos...

Os comandos e caminhos podem variar dependendo da sua distribuição e versão do Squid, bem como a maneira que o mesmo foi instalado. Para este artigo me baseei na distribuição Linux Fedora.

Requisitos básicos

Primeiramente você deve ter os Squid instalado. Relaciono alguns artigos que podem ajudá-lo:
Você deve ter também o pacote de compilação GCC para poder compilar o squidGuard. Caso não tenha e utilize o Fedora, utilize o seguinte comando:

# yum install gcc-c++ gcc gcc-gfortran

Para utilizar o squidGuard devemos ter também o Berkeley DB. Ele pode ser baixado no site da Oracle.

Se preferir, baixe-o com o comando:

wget http://download.oracle.com/berkeley-db/db-4.7.25.NC.tar.gz

Para instalar, siga os passos:

tar zfvx db-4.7.25.NC.tar.gz
$ cd db-4.7.25.NC/build_unix/
$ ../dist/configure
$ make
# make install


Pronto, Berkeley DB instalado.

Vamos aproveitar e baixar o pacotão de blacklists:

# wget http://urlblacklist.com/cgi-bin/commercialdownload.pl?type=download&file=bigblacklist

Você pode optar por alguma outra lista se você quiser, mas essa eu recomendo.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Instalando o squidGuard
   3. Configuração das regras
   4. Últimos retoques
   5. Conclusão
Outros artigos deste autor

Introdução ao Linux: Instalação do OpenSuSE

Introdução ao Linux: Dual-Boot com Big Linux 4 e Windows XP

"HELP" - Como solicitar auxílio em comunidades (como o VOL) e fóruns

Leitura recomendada

Squid 3 como proxy transparente + firewall Iptables

Manual traduzido do Squid - Parte 2

Squid autenticando em Win2000/2003 com Debian Etch

Configuração do Squid + Dansguardian no Slackware 11

Proxy com autenticação em servidores Samba ou Windows NT

  
Comentários
[1] Comentário enviado por maran em 13/05/2009 - 12:46h

Eu já usei e gosto muito deste software!
- Porem ele pode ser um pouco mais configurável, páginas de advertrencia personalizadas e outras coisinhas,
Mais o artigo está bom!
Parabéns!

[2] Comentário enviado por osmano807 em 13/05/2009 - 13:12h

Poderia ter explicado como faz rewrite com ele, segue meu squidGuard.conf (Windows + Cygwin):

dbhome /usr/local/squidGuard/db
logdir /usr/local/squidGuard/log

src kids {
ip 192.168.0.0/24 # range 10.0.0.0 - 10.0.3.255
}

rew dmz {
s@http://www.altavista.com@http://www.google.com@iR
s@://img[2-9].orkut.com/@://img1.orkut.com/@iR
s@://static[2-9].orkut.com/@://static1.orkut.com/@iR
s@://i[2-9].ytimg.com/@://i1.ytimg.com/@iR
s@.css.int@.css@iR
s@://[2-9]-www.orkut@://1-www.orkut@iR
s@://lh[0-2|4-9].ggpht.com@://lh3.ggpht.com@iR
s@://photos[2-9].hi5.com@://photos1.hi5.com@iR
s@://www.youtube.com/get_video@://192.168.0.1/youtube_video.php@iR
s@://192.168.0.1/youtube_video.php_info@://208.65.153.238/get_video_info@iR
log anonymous rewrite.log
}

dest porn1 {
domainlist shalla/porn/domains
urllist shalla/porn/urls
expressionlist teste/expressions
log anonymous porn1_accesses.log
redirect http://192.168.0.1
}

dest proxy1 {
domainlist shalla/proxy/domains
urllist shalla/proxy/urls
log anonymous proxy1_accesses.log
redirect http://192.168.0.1
}

dest adv1 {
domainlist shalla/adv/domains
urllist shalla/adv/urls
log anonymous adv1_accesses.log
redirect http://192.168.0.1/blank.html
}

dest downloads1 {
domainlist shalla/downloads/domains
urllist shalla/downloads/urls
log anonymous downloads1_accesses.log
redirect http://192.168.0.1
}

dest tracker1 {
domainlist shalla/tracker/domains
urllist shalla/tracker/urls
log anonymous tracker1_accesses.log
redirect http://192.168.0.1
}

dest spyware1 {
domainlist shalla/spyware/domains
urllist shalla/spyware/urls
log anonymous spyware1_accesses.log
redirect http://192.168.0.1
}

dest warez1 {
domainlist shalla/warez/domains
urllist shalla/warez/urls
log anonymous warez1_accesses.log
redirect http://192.168.0.1
}

#################Comeco da URLBlacklist.com

dest adv2 {
domainlist urlblack/ads/domains
urllist urlblack/ads/urls
expressionlist urlblack/ads/expressions
log anonymous adv2_accesses.log
redirect http://192.168.0.1/blank.html
}

dest filehosting2 {
domainlist urlblack/filehosting/domains
urllist urlblack/filehosting/urls
log anonymous filehosting2_accesses.log
redirect http://192.168.0.1
}

dest porn2 {
domainlist urlblack/porn/domains
urllist urlblack/porn/urls
expressionlist urlblack/porn/expressions
log anonymous porn2_accesses.log
redirect http://192.168.0.1
}

dest proxy2 {
domainlist urlblack/proxy/domains
urllist urlblack/proxy/urls
log anonymous proxy2_accesses.log
redirect http://192.168.0.1
}

dest spyware2 {
domainlist urlblack/spyware/domains
log anonymous spyware2_accesses.log
redirect http://192.168.0.1
}

dest virusinfected2 {
domainlist urlblack/virusinfected/domains
urllist urlblack/virusinfected/urls
log anonymous virusinfected2_accesses.log
redirect http://192.168.0.1
}

dest warez2 {
domainlist urlblack/warez/domains
urllist urlblack/warez/urls
log anonymous warez2_accesses.log
redirect http://192.168.0.1
}

dest white {
domainlist urlblack/whitelist/domains
urllist urlblack/whitelist/urls
expressionlist white/expressions
}

dest youtube {
urllist youblock/urls2
}

dest orkut {
expressionlist orkut/orkut
redirect http://192.168.0.1/orkut_redir.php?url=%u
log anonymous orkut.log
}

dest adver {
expressionlist ads/squid.adservers
redirect http://192.168.0.1/blank.html
log anonymous adver.log
}

#########ACL Global

acl {

#default {
#pass !adv1 !adv2
#redirect http://192.168.0.1/blank.html
#}


default {
rewrite dmz
pass !adver !porn1 !proxy1 !downloads1 !spyware1 !warez1 !filehosting2 !proxy2 !spyware2 !virusinfected2 !warez2 all white youtube
}

}


Essas regras rewrite são muito boas
Exemplo:
s@://static[2-9].orkut.com/@://static1.orkut.com/@iR
Redireciona tudo static[2-9] para static1, ou seja, ajuda o squid a fazer o cache certo

[3] Comentário enviado por eduardo em 13/05/2009 - 14:57h

A idéia era fazer algo mais básico, só para instalação mesmo. Depois acabei botando um exemplo de conf, para complementar. Mas obrigado pela dica. Quem sabe eu penso em algo e posto como dica.

Abraços.

[4] Comentário enviado por wagner_guitar em 08/07/2009 - 12:49h

Gostaria de saber se tem como eu configurar uma lista de ip's para bloquear pelo squid...
Tipo assim, eu num posso fazer uma lista de url's para bnloquear ?!!


acl proibido url_regex "/etc/squid/proibido.cfg"
http_access deny proibido
E no arquivo proibido.cfg conter algumas url's, tipo : "www.orkut.com" "www.microsoft.com" ...

Gostaria de saber se posso criar um arquivo com uma lista de ip's a serem bloqueados.
Se sim como seria??
Qual o tipo de acl ?
E tem algum parametro?

Vlw.

[5] Comentário enviado por eduardo em 08/07/2009 - 14:19h

@wagner_guitar

Sim cara, você pode bloquear antes. Dessa forma como você fez vai funcionar. Mas saiba que só funciona para bloquear. Entenda que o squid vai ler suas regras, vai chegar no http_access allow all, depois ele vai entrar no squidGuard. Mas caso tu bloqueie algo já no squid, ele bloqueia na hora.

Abraço

[6] Comentário enviado por guilx em 27/07/2009 - 12:24h

Em qual lugar do squid.conf colocar a linha redirect_program /usr/bin/squidGuard -c /usr/local/squidGuard/squidGuard.conf ?


E eu removo todas as acl do squid ???? e deixo liberado tudo ?????


Valew



[7] Comentário enviado por eduardo em 27/07/2009 - 13:47h

Você pode buscar pela linha, ou coloca no fim do arquivo mesmo. Ou até antes de começar as acls. Algumas versões do squid é rewrite_program. De acordo com o site do squidGuard, seria isso. No meu squid era redirect_program.


Sobre as acls, as default você deixa. Remove só as que talvez você havia criado. E deixa tudo liberado.

É bom entender o seguinte:
Quando o usuário acessar um site, e utilizar o proxy, ele vai passar primeiro pelo squid.conf. Se tiver alguma regra bloqueando, já para por ai. Se não tiver, cai na default que libera tudo e se tiver alguma regra de liberação ele libera. Porém, diferente da regra de bloqueio, ele continua adiante para passar pelo squidGuard, onde haverá as listas. Ou seja, você libera tudo com squid.conf e bloqueia (e faz eventuais bloqueios) com o squidGuard. E se há algo que você queira bloquear que não esteja bloqueando, você pode optar por criar uma acl debloqueio (antes da liberação total) no próprio squid.conf.

É meio confuso, mas quando você entender é barbada. Só entenda que o squidGuard é apenas um tipo de filtro que o squid manda antes de dizer se pode ou não tal site ser acessado.

Abraços

[8] Comentário enviado por hungaro em 21/09/2009 - 16:30h

Boa tarde!

Galera depois de muitas tentativas desisti e resolvi pedir ajuda pra vcs, meu server é um ubuntu 9, olhando o log do squid (cache.log) diz:

ipcCreate: /var/lib/squidguard: (13) Permission denied

jah dei permissão ao usuario proxy: chown -R proxy:proxy /var/lib/squidguard
chmod 775 /var/lib/squidguard ( até o 777 eu jah tentei )

depois disso: squid -D
squid -z
squid -k reconfigure

e mesmo assim nda, alguem ja teve esse problema?


[9] Comentário enviado por alisonn em 19/11/2009 - 07:37h

cara fiz o esquema de ficar sem usuario como no passo a passo porem quando dou o comando make install aparece o seguinte erro

Installing squidGuard
cp: cannot create regular file `/usr/local/bin/squidGuard': Text file busy
make: *** [install-build] Error 1

ja instalei outra versão e nada

pode ate ser coisa boba, porem sou novo em linux e nao consigo msm

Desde já obrigado...

[10] Comentário enviado por eduardo em 19/11/2009 - 08:20h

Antes de dar o make install você deu o make, certo? Você dá um make, e depois o make install.
Se você não tem o usuário squid, ele vai dar erro, e é ai que você troca o dono da pasta.

[11] Comentário enviado por alisonn em 19/11/2009 - 09:04h

isso mesmo, dei o make antes e depois make install ai deu o erro
ai fiz como no passo a passo

chown nobody:nobody /usr/local/squidGuard-1.4/ -R
em seguida o make install novamente..
msm assim dá o erro


[12] Comentário enviado por eduardo em 19/11/2009 - 09:38h

A idéia é que ele tenta criar dois subdiretórios dentro do /usr/local/squidGuard, mas ele não tem permissão. Pra cada arquivo que ele tentar criar, vai dar erro, e é necessário trocar o dono dos diretórios. Se você olhar o erro, cada vez é mostrado para um arquivo/diretório diferente. É necessário fazer isso umas três vezes, se não me engano.
Mas coloque o erro para vermos se ele está chegando nessa parte.
Note que isso ocorre quase quando o make install está acabando.

[13] Comentário enviado por alisonn em 19/11/2009 - 10:30h

quando eu dou o make aparece isso:

making all in squidGuard-1.4
make[1]: Entering directory `/etc/squidGuard-1.4/src'
making all in src
making squidGuard in src
make[1]: Leaving directory `/etc/squidGuard-1.4/src'
make[1]: Entering directory `/etc/squidGuard-1.4/test'
making all in test
making all in test
make[1]: Leaving directory `/etc/squidGuard-1.4/test'
make[1]: Entering directory `/etc/squidGuard-1.4/samples'
making all in samples
make[1]: Leaving directory `/etc/squidGuard-1.4/samples'
make[1]: Entering directory `/etc/squidGuard-1.4/contrib'
making all in contrib
make[1]: Leaving directory `/etc/squidGuard-1.4/contrib'

obs, mudei o local de instalação pra ver se tinha alguma coisa a ver mais msm coisa...


[14] Comentário enviado por eduardo em 19/11/2009 - 13:25h

Certo, mas você tem problemas no make ou no make install? Não vi nenhum erro acima. Ou seja, o make funciona, certo? Mostra o make install.

[15] Comentário enviado por alisonn em 23/11/2009 - 07:55h

o make install da o seguinte erro

oot@localhost squidGuard-1.4]# make install
Installing squidGuard
cp: cannot create regular file `/usr/local/bin/squidGuard': Text file busy
make: *** [install-build] Error 1


[16] Comentário enviado por eduardo em 23/11/2009 - 14:40h

Verifique se existe os o diretório /usr/local/bin e se há permissões para escrever nele. O mesmo para o /usr/local/bin/squidGuard

[17] Comentário enviado por cesar em 25/08/2011 - 08:01h

Muito bom,

Gostei, parabéns!

[]'s

[18] Comentário enviado por samusrt em 03/05/2012 - 19:18h

Olá, estou voltando para a profissão após 2 anos.. gostaria de saber se o squidGuard ainda é a opção mais rápida e fácil para trabalhar com bloqueio de páginas.

Fiz um servidor com o Debian 6 e estou testando/atualizando alguns scripts.

[19] Comentário enviado por eduardo em 04/05/2012 - 08:29h

@Samusrt Samuel, o squidGuard ainda é ótimo para ser utilizado. Mas ele é uma boa opção caso você utilize as "listas de sites". Caso contrário, acredito não valer a pena o trabalho, pois o squid por si só dá conta do recado.

[20] Comentário enviado por rengaf1 em 18/12/2013 - 09:26h

alguem ai ja fez squid + squidguard autenticando grupos no AD / samba 4 ? se ja me da um help ai...!!!

[21] Comentário enviado por AlvesUeliton em 29/06/2015 - 14:04h

Sei que o tópico é antigo, mas não entendi qual a serventia de uma blacklists com squid, visto que é quase impossível fazer o que foi explicado aí. Muito mais prático adicionar os sites no /etc/hosts. Já tentei tudo sobre squid3, squidguard, inclusive aquele aplicativo gráfico do Linux Educacional, nada funcionou, sempre ocorre diversos erros, e não há nada que explique totalmente como criar bloqueio de sites por palavras, sempre informações vagas, dão um link para uma eciclopédia, a qual também não explica nada.
Desculpem me pelo que vou dizer, mas tenho a sensação que querem vender essa informação.

[22] Comentário enviado por eduardo em 29/06/2015 - 14:21h

Desculpe AlvesUeliton, mas não entendi a sua dúvida.
O uso de blacklists com Squid é útil para adotar a política de liberar todos os acessos e bloquear apenas o que não é interessante. Não consigo ver como isso pode ser mais prático adicionando os sites no /etc/hosts (não sei nem como tu vai fazer isso, mas tudo bem).
Ajudaria a entender o que tu realmente quer fazer com o squid. E quais seriam os tais erros.
Comente ai que tento te ajudar.


[23] Comentário enviado por tgcrypt em 07/07/2015 - 11:10h

Bom dia,
Fiquei com uma duvida, como ele trata as tentativas de acesso onde o usuário altera a url por ex. http://youtube.com para https://youtube.com, ele faz esse filtro para a porta 443 também ou só o que e destinado para porta 80?

Obrigado!

[24] Comentário enviado por eduardo em 07/07/2015 - 11:24h


[23] Comentário enviado por tiagolage em 07/07/2015 - 11:10h

Bom dia,
Fiquei com uma duvida, como ele trata as tentativas de acesso onde o usuário altera a url por ex. http://youtube.com para https://youtube.com, ele faz esse filtro para a porta 443 também ou só o que e destinado para porta 80?

Obrigado!


Olá Tiago.

Então, o Squid suporta diversos protocolos, entre eles o HTTPS. Porém, você precisa forçar a utilização do proxy, assim como faz com HTTP. No caso do HTTP, é possível fazer "proxy transparente", redirecionando o tráfego da porta 80 para a porta do Squid. Com o HTTPS você NÃO pode fazer isso. Não é possível fazer proxy transparente para HTTPS por causa dos certificados. Para usar o proxy, é preciso configurar o mesmo no navegador dos clientes.
"Mas se o cliente desmarcar o proxy?" Se você tem um firewall bem configurado, certamente a porta 443 não estará liberada.
"Mas então será necessário sempre configurar o proxy, senão não funciona o HTTPS, certo?" Exatamente. Configurar o proxy não servirá apenas para o HTTPS, mas para outros serviços HTTP em portas específicas. Por exemplo, se o usuário acessar um site na porta 8080, ele só acessará se estiver com o proxy configurado, visto que provavelmente a mesma não foi configurada para redirecionar para o proxy.


Em resumo, a boa prática é configurar o proxy nas estações e bloquear tudo no firewall, liberando apenas serviços necessários (TS, E-mails, acesso de sistemas etc). O Squid suportará tranquilamente ambos protocolos, e como o squidGuard apenas filtra os endereços, o protocolo utilizado será indiferente.

[25] Comentário enviado por tgcrypt em 07/07/2015 - 19:49h


[24] Comentário enviado por eduardo em 07/07/2015 - 11:24h


[23] Comentário enviado por tiagolage em 07/07/2015 - 11:10h

Bom dia,
Fiquei com uma duvida, como ele trata as tentativas de acesso onde o usuário altera a url por ex. http://youtube.com para https://youtube.com, ele faz esse filtro para a porta 443 também ou só o que e destinado para porta 80?

Obrigado!

Olá Tiago.

Então, o Squid suporta diversos protocolos, entre eles o HTTPS. Porém, você precisa forçar a utilização do proxy, assim como faz com HTTP. No caso do HTTP, é possível fazer "proxy transparente", redirecionando o tráfego da porta 80 para a porta do Squid. Com o HTTPS você NÃO pode fazer isso. Não é possível fazer proxy transparente para HTTPS por causa dos certificados. Para usar o proxy, é preciso configurar o mesmo no navegador dos clientes.
"Mas se o cliente desmarcar o proxy?" Se você tem um firewall bem configurado, certamente a porta 443 não estará liberada.
"Mas então será necessário sempre configurar o proxy, senão não funciona o HTTPS, certo?" Exatamente. Configurar o proxy não servirá apenas para o HTTPS, mas para outros serviços HTTP em portas específicas. Por exemplo, se o usuário acessar um site na porta 8080, ele só acessará se estiver com o proxy configurado, visto que provavelmente a mesma não foi configurada para redirecionar para o proxy.


Em resumo, a boa prática é configurar o proxy nas estações e bloquear tudo no firewall, liberando apenas serviços necessários (TS, E-mails, acesso de sistemas etc). O Squid suportará tranquilamente ambos protocolos, e como o squidGuard apenas filtra os endereços, o protocolo utilizado será indiferente.


Boa noite Eduardo obrigado pela resposta.

Pesquisei bastante sobre o assunto mas as informações que você postou foi de grande valia, o meu problema e que trabalho em uma instituição de ensino e esse firewall em questão e para rede dos laboratórios e rede WiFi, quarte do meu problema você já solucionou e fácil força os laboratórios usar proxy via GPO e retirar o firefox das maquinas, mas para a rede WiFi devia der dispositivos moveis vai gerar um stress muito grande, mas o principal mesmo era para bloquear os acadêmicos de acessar pornografia nos laboratórios, se não for perturba muito o que você me recomendaria o squidguard ou dansguardian, até agora pelo que estou vendo o melhor e squidguard.

Muito obrigado pela ajuda, ajudou muito mesmo!!!

[26] Comentário enviado por eduardo em 08/07/2015 - 08:57h


[25] Comentário enviado por tiagolage em 07/07/2015 - 19:49h


[24] Comentário enviado por eduardo em 07/07/2015 - 11:24h


[23] Comentário enviado por tiagolage em 07/07/2015 - 11:10h

Bom dia,
Fiquei com uma duvida, como ele trata as tentativas de acesso onde o usuário altera a url por ex. http://youtube.com para https://youtube.com, ele faz esse filtro para a porta 443 também ou só o que e destinado para porta 80?

Obrigado!

Olá Tiago.

Então, o Squid suporta diversos protocolos, entre eles o HTTPS. Porém, você precisa forçar a utilização do proxy, assim como faz com HTTP. No caso do HTTP, é possível fazer "proxy transparente", redirecionando o tráfego da porta 80 para a porta do Squid. Com o HTTPS você NÃO pode fazer isso. Não é possível fazer proxy transparente para HTTPS por causa dos certificados. Para usar o proxy, é preciso configurar o mesmo no navegador dos clientes.
"Mas se o cliente desmarcar o proxy?" Se você tem um firewall bem configurado, certamente a porta 443 não estará liberada.
"Mas então será necessário sempre configurar o proxy, senão não funciona o HTTPS, certo?" Exatamente. Configurar o proxy não servirá apenas para o HTTPS, mas para outros serviços HTTP em portas específicas. Por exemplo, se o usuário acessar um site na porta 8080, ele só acessará se estiver com o proxy configurado, visto que provavelmente a mesma não foi configurada para redirecionar para o proxy.


Em resumo, a boa prática é configurar o proxy nas estações e bloquear tudo no firewall, liberando apenas serviços necessários (TS, E-mails, acesso de sistemas etc). O Squid suportará tranquilamente ambos protocolos, e como o squidGuard apenas filtra os endereços, o protocolo utilizado será indiferente.

Boa noite Eduardo obrigado pela resposta.

Pesquisei bastante sobre o assunto mas as informações que você postou foi de grande valia, o meu problema e que trabalho em uma instituição de ensino e esse firewall em questão e para rede dos laboratórios e rede WiFi, quarte do meu problema você já solucionou e fácil força os laboratórios usar proxy via GPO e retirar o firefox das maquinas, mas para a rede WiFi devia der dispositivos moveis vai gerar um stress muito grande, mas o principal mesmo era para bloquear os acadêmicos de acessar pornografia nos laboratórios, se não for perturba muito o que você me recomendaria o squidguard ou dansguardian, até agora pelo que estou vendo o melhor e squidguard.

Muito obrigado pela ajuda, ajudou muito mesmo!!!


Bom dia Tiago,

Entre o squidGuard e Dansguardian, recomendo o squidGuard. Na época em que implementei ele, testei os dois e achei melhor o squidGuard. Mas essa é a minha opinião.
Atualmente estamos usando em novos clientes o ufdbGuard. Também é muito bom, parecido com o squidGuard, mas ele tem uma melhor performance.

Sobre a rede wifi para visitantes, entendo sua dificuldade. Nesse caso, tu tens três opções:
1 - criar um manual para instruir o pessoal a marcar o proxy (fácil e barato pra ti, não para os usuários)
2 - liberar a porta 443 mas fazer um trabalho braçal de bloqueios no firewall (barato e muito, mas muito trabalho pra ti, fácil para os usuários)
3 - optar por um firewall apliance (fácil pra ti, pros usuários, mas custoso)

Ainda sobre a questão do wifi, recomendo utilizar algum tipo de autenticação. Com o Marco Civil, é importante ter logs de quem realiza os acessos.

Abraço

[27] Comentário enviado por tgcrypt em 08/07/2015 - 16:08h


[26] Comentário enviado por eduardo em 08/07/2015 - 08:57h


[25] Comentário enviado por tiagolage em 07/07/2015 - 19:49h


[24] Comentário enviado por eduardo em 07/07/2015 - 11:24h


[23] Comentário enviado por tiagolage em 07/07/2015 - 11:10h

Bom dia,
Fiquei com uma duvida, como ele trata as tentativas de acesso onde o usuário altera a url por ex. http://youtube.com para https://youtube.com, ele faz esse filtro para a porta 443 também ou só o que e destinado para porta 80?

Obrigado!

Olá Tiago.

Então, o Squid suporta diversos protocolos, entre eles o HTTPS. Porém, você precisa forçar a utilização do proxy, assim como faz com HTTP. No caso do HTTP, é possível fazer "proxy transparente", redirecionando o tráfego da porta 80 para a porta do Squid. Com o HTTPS você NÃO pode fazer isso. Não é possível fazer proxy transparente para HTTPS por causa dos certificados. Para usar o proxy, é preciso configurar o mesmo no navegador dos clientes.
"Mas se o cliente desmarcar o proxy?" Se você tem um firewall bem configurado, certamente a porta 443 não estará liberada.
"Mas então será necessário sempre configurar o proxy, senão não funciona o HTTPS, certo?" Exatamente. Configurar o proxy não servirá apenas para o HTTPS, mas para outros serviços HTTP em portas específicas. Por exemplo, se o usuário acessar um site na porta 8080, ele só acessará se estiver com o proxy configurado, visto que provavelmente a mesma não foi configurada para redirecionar para o proxy.


Em resumo, a boa prática é configurar o proxy nas estações e bloquear tudo no firewall, liberando apenas serviços necessários (TS, E-mails, acesso de sistemas etc). O Squid suportará tranquilamente ambos protocolos, e como o squidGuard apenas filtra os endereços, o protocolo utilizado será indiferente.

Boa noite Eduardo obrigado pela resposta.

Pesquisei bastante sobre o assunto mas as informações que você postou foi de grande valia, o meu problema e que trabalho em uma instituição de ensino e esse firewall em questão e para rede dos laboratórios e rede WiFi, quarte do meu problema você já solucionou e fácil força os laboratórios usar proxy via GPO e retirar o firefox das maquinas, mas para a rede WiFi devia der dispositivos moveis vai gerar um stress muito grande, mas o principal mesmo era para bloquear os acadêmicos de acessar pornografia nos laboratórios, se não for perturba muito o que você me recomendaria o squidguard ou dansguardian, até agora pelo que estou vendo o melhor e squidguard.

Muito obrigado pela ajuda, ajudou muito mesmo!!!

Bom dia Tiago,

Entre o squidGuard e Dansguardian, recomendo o squidGuard. Na época em que implementei ele, testei os dois e achei melhor o squidGuard. Mas essa é a minha opinião.
Atualmente estamos usando em novos clientes o ufdbGuard. Também é muito bom, parecido com o squidGuard, mas ele tem uma melhor performance.

Sobre a rede wifi para visitantes, entendo sua dificuldade. Nesse caso, tu tens três opções:
1 - criar um manual para instruir o pessoal a marcar o proxy (fácil e barato pra ti, não para os usuários)
2 - liberar a porta 443 mas fazer um trabalho braçal de bloqueios no firewall (barato e muito, mas muito trabalho pra ti, fácil para os usuários)
3 - optar por um firewall apliance (fácil pra ti, pros usuários, mas custoso)

Ainda sobre a questão do wifi, recomendo utilizar algum tipo de autenticação. Com o Marco Civil, é importante ter logs de quem realiza os acessos.

Abraço


Obrigado mais uma vez Eduardo!

Tentei procurar alguma coisa sobre ufdbGuard, mas não achei quase nada como não implementei ainda esse tipo de controle vou ficar com o SquidGuard mesmo, já o dansguardian se não entendi mal ele está sendo descontinuado e tem um fork dele que chama e2guardin, aqui onde trabalha e bem complicado as coisas, no meu caso pelo que estou vendo vai ser a opção 2 - liberar a porta 443 mas fazer um trabalho braçal de bloqueios no firewall... Mas de todos modo muito obrigado pela ajuda!

[28] Comentário enviado por tgcrypt em 09/07/2015 - 10:10h

Te perturbar outra vez Eduardo!

Fiz a instalação e possivel configura minima da minima para testa, aparentemente está certo mas não bloqueia nada, e quando fiz o teste que você postou ele aparece um erro mas não fala que erro seria esse meio complicado esse carinha!

root@ares:/var/lib/squidguard/db/blacklists# echo "http://www.vivaolinux.com.br 172.16.48.220/ -- GET" | squidGuard -c /etc/squidguard/squidGuard.conf -d
2015-07-09 07:02:44 [6416] INFO: New setting: dbhome: /var/lib/squidguard/db
2015-07-09 07:02:44 [6416] INFO: New setting: logdir: /var/log/squidguard
2015-07-09 07:02:44 [6416] init domainlist /var/lib/squidguard/db/blacklists/adult/domains
2015-07-09 07:02:44 [6416] INFO: loading dbfile /var/lib/squidguard/db/blacklists/adult/domains.db
2015-07-09 07:02:44 [6416] init urllist /var/lib/squidguard/db/blacklists/adult/urls
2015-07-09 07:02:44 [6416] INFO: loading dbfile /var/lib/squidguard/db/blacklists/adult/urls.db
2015-07-09 07:02:44 [6416] init expressionlist /var/lib/squidguard/db/blacklists/adult/expressions
2015-07-09 07:02:44 [6416] INFO: squidGuard 1.5 started (1436436164.526)
2015-07-09 07:02:44 [6416] INFO: squidGuard ready for requests (1436436164.527)
ERR
2015-07-09 07:02:44 [6416] INFO: squidGuard stopped (1436436164.528)
root@ares:/var/lib/squidguard/db/blacklists#

Segue também meu conf

dbhome /var/lib/squidguard/db
logdir /var/log/squidguard

dest adult {
domainlist blacklists/adult/domains
urllist blacklists/adult/urls
expressionlist blacklists/adult/expressions
}

acl {
default {
pass !adult all
redirect http://www.google.com
}
}

quando dei o comando "squidGuard -C all" essa foi a saída dele.

2015-07-09 07:07:58 [6418] INFO: New setting: dbhome: /var/lib/squidguard/db
2015-07-09 07:07:58 [6418] INFO: New setting: logdir: /var/log/squidguard
2015-07-09 07:07:58 [6418] init domainlist /var/lib/squidguard/db/blacklists/adult/domains
2015-07-09 07:08:00 [6418] INFO: create new dbfile /var/lib/squidguard/db/blacklists/adult/domains.db
2015-07-09 07:08:00 [6418] init urllist /var/lib/squidguard/db/blacklists/adult/urls
2015-07-09 07:08:00 [6418] INFO: create new dbfile /var/lib/squidguard/db/blacklists/adult/urls.db
2015-07-09 07:08:00 [6418] init expressionlist /var/lib/squidguard/db/blacklists/adult/expressions
2015-07-09 07:08:00 [6418] INFO: squidGuard 1.5 started (1436436478.609)
2015-07-09 07:08:00 [6418] INFO: db update done
2015-07-09 07:08:00 [6418] INFO: squidGuard stopped (1436436480.919)

Se puder me ajudar novamente agudeceria muito!
--
Tiago Lage

[29] Comentário enviado por tgcrypt em 09/07/2015 - 10:20h

Complementando os teste saída o status do squid3

root@ares:/var/lib/squidguard/db/blacklists# /etc/init.d/squid3 status
● squid3.service - LSB: Squid HTTP Proxy version 3.x
Loaded: loaded (/etc/init.d/squid3)
Active: active (running) since Qua 2015-07-08 20:07:13 BRT; 11h ago
Process: 5853 ExecStop=/etc/init.d/squid3 stop (code=exited, status=0/SUCCESS)
Process: 5873 ExecStart=/etc/init.d/squid3 start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/squid3.service
├─5905 /usr/sbin/squid3 -YC -f /etc/squid3/squid.conf
├─5907 (squid-1) -YC -f /etc/squid3/squid.conf
├─6360 (squidGuard)
├─6367 (squidGuard)
├─6368 (squidGuard)
├─6369 (squidGuard)
├─6370 (squidGuard)
└─6460 (squidGuard)

Jul 08 20:07:13 ares squid3[5905]: Squid Parent: will start 1 kids
Jul 08 20:07:13 ares squid3[5873]: Starting Squid HTTP Proxy 3.x: squid3.
Jul 08 20:07:13 ares squid3[5905]: Squid Parent: (squid-1) process 5907 started
root@ares:/var/lib/squidguard/db/blacklists#

--
Tiago Lage

[30] Comentário enviado por eduardo em 20/07/2015 - 09:09h

Tiago, a princípio não parece ter problemas. Como estão as permissões dos arquivos da blacklist? Está como nobody:nobody? Permissão é o que mais ocasiona mal funcionamento no squidGuard.

[31] Comentário enviado por tgcrypt em 24/07/2015 - 16:13h


[30] Comentário enviado por eduardo em 20/07/2015 - 09:09h

Tiago, a princípio não parece ter problemas. Como estão as permissões dos arquivos da blacklist? Está como nobody:nobody? Permissão é o que mais ocasiona mal funcionamento no squidGuard.


A permissão estava com 777, mas não achei muito interessante para mim aqui não, tinha muito mas muitos links desatualizados sem fala nos bloqueios por IP que e uma coisa que não concordo, se o IP for passado para outro site vai fica bloqueado, resolvi usar o Squid puro mesmo e criar as lista eu mesmo de acordo com o que eu fosse achando de novo, e fiz uma longa lista de palavras com caráter sexual e afins, e coloquei um formulário caso o bloqueio fosse indevido para o usuário reporta e o mesmo ser liberado.

Mas obrigado pela ajuda de qualquer forma.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts