Bloqueio a sites por categoria com OpenDNS
Quem já precisou implementar bloqueios a sites indesejados (pornografia, crack, proxy, etc) sabe como é extremamente complicado e é praticamente impossível cadastrar todos esses tipos de sites em um arquivo .txt que será lido pelo proxy (squid), ou alguma solução que trabalhe em conjunto com o mesmo (dansguardian).
Apresento com esse post uma outra forma de bloqueio a esses tipos de conteúdos e de quebra a instalação de um cache DNS para a sua rede local.
Primeiramente precisamos realizar um cadastro no site do OpenDNS (www.opendns.com). Feito o cadastro e o login vamos criar um rede para administração, clique em “Add a network”.
Na próxima tela preencha o campo com o nome que deseja para a rede, clique em “done” e vamos para a próxima configuração.
Agora clique no IP que aparece, e na próxima tela temos as opções para filtro de conteúdo, vamos selecionar “Custom” … e selecione as categorias que deseja bloquear, e clique em “apply”, em no máximo 3 minutos sua configuração já terá efeito.
Configuração realizada com sucesso, vamos instalar o bind9:
# apt-get install bind9
Vamos realizar algumas modificações e acréscimos:
# vi /etc/bind/named.conf.options
1 2 3 4 5 6 7 | Options { forwarders { 208.67.220.220; 208.67.222.222; }; allow-query { 127.0.0.0/8; 10.1.1.0/24; }; allow-recursion { 127.0.0.0/8; 10.1.1.0/24; }; allow-transfer { none; }; allow-update { none; }; }; |
OBS.: Acrescente ou modifique e não altere mais nada.
Vamos reiniciar o BIND
# /etc/init.d/bind9 restart
Pronto seus clientes devem apontar o DNS para o IP da máquina com bind.
Mas temos outro problema pois se estivermos utilizando IP dinâmico e houver a troca de IP toda a configuração não irá contemplar esse novo endereço. Mas não se desespere basta instalar o ddclient e alterar a configuração para manter o IP atualizado com o OpenDNS.
# apt-get install ddclient
Preencha os campos com qualquer informação, pois iremos modificar o arquivo de configuração manualmente:
# vi /etc/ddclient.conf
1 2 3 4 5 6 7 8 9 10 11 | # Configuration file for ddclient generated by debconf ## /etc/ddclient.conf pid=/var/run/ddclient.pid ssl=yes use=web, web=checkip.dyndns.org/,web-skip='IP Address' use=web server=updates.opendns.com protocol=dyndns2 login=SeuLogin password='SuaSenha' MinhaRede |
Modificações realizadas, vamos reiniciar o ddclient:
# /etc/init.d/ddclient restart
Faça um teste acessando o site www.playboy.com
Bloqueio a sites por categoria e de quebra um cache local de DNS para acelerar sua rede.
Espero que tenham gostado do post e não se esqueçam de assinar o blog.
Exelente Ricardo, esse post vai ser de grande ajuda.
Abs.
Geraldo,
Agradeço o elogio, fico feliz em saber que o post será útil para você. Abraços.
Ricardo Pinheiro
Olá muito boa dica, mais tenho uma duvi aqui u uso o fedora como proxy rodando o squid e um server 2008 rodando os serviços de dns, dhcp, e ad. se eu fizer essas mudanças va gerar algum problema.
Rogerio,
A questão é que seu DNS deve apontar para os servidores do OpenDNS, no post repare que utilizei a opção forwarders do bind que encaminha todas as consultas para os do OpenDNS. O que você precisa é localizar no 2008 uma opção parecida.
Abraços,
Ricardo Pinheiro
Ótimo artigo Ricardo, já utilizo o OpenDNS em algumas empresas, e posso afirmar que é muito útil. E com esses detalhes, vou melhorar os bloqueios. hehehe
Roberto,
Essa utilidade do OpenDNS é conhecida por poucos, por isso revolvi criar o Post.
Abraços,
Ricardo Pinheiro
Cara seu blog é perfeito. Dica excelente.
Jamson,
Obrigado pelo comentário.
Abraços,
Ricardo Pinheiro
Oi amigo, excelente sua matéria. E já implementei a dica.
Só tenho uma dúvida.
Alguns computadores podem acessar todas as páginas (Sócios e seus filhos). Tem como cadastrar exceções?
No caso uso o Windows 2003.
Atenciosamente
Amigo,
Não existe essa possibilidade, principalmente se a sua rede local utiliza os IPs reservados (RFC 1918), mas se as máquinas da rede local utilizarem IPs públicos já seria possível fazer alguma coisa.
Abraços,
Ricardo Pinheiro
Esse é mais eficiente e é 100% brasileiro!
boa, já coloquei pra rolar aqui no escritório. =)
mas tenho uma dúvida, tenho como blockear sites https por usuario?
tenho o seguinte cenario…squid 3 fazendo os bloqueios por acl normalmente e autenticando no AD. não posso blockear https no squid nem no fw pois o administrativo acessa site de alguns bancos. utilizei essa solucao, mas algumas pessoas da empresa precisam acessar alguns sites blockeados pelo opendns (redes sociais inclusive) e liberando por ele, libero pra tds…. alguma sugestao?
Vinicius,
Não é possível fazer isso pelo opendns. Talvez haja a possibilidade se você conseguir fazer esses clientes passarem direto tanto por DNS quanto pelo squid.
Abraços