Como bloquear acesso a um site na prática
Você já precisou impedir que alguém ou algo acessasse um endereço específico na internet, seja no navegador, no firewall ou em uma rede corporativa. A maioria das pessoas começa tentando pelo hosts ou por extensões de navegador, mas dependendo do nível de controle que você quer, o caminho muda completamente. O método mais imediato para bloquear acesso a um site é modificar o arquivo hosts do seu sistema operacional. No Windows, ele fica em C:\\Windows\\System32\\drivers\\etc\\hosts. No Linux e macOS, em /etc/hosts. Basta adicionar uma linha apontando o domínio para 127.0.0.1. Funciona para navegação simples, mas tem limitações sérias que muita gente ignora.
Bloquear acesso a um site via firewall
Quando o hosts não basta, o próximo degrau natural é o firewall. No Windows, o Windows Defender Firewall com segurança avançada permite criar regras de saída e entrada que bloqueiam conexões para domínios ou IPs específicos. A desvantagem é que regras por IP são frágeis. Se o site muda de servidor ou usa CDN como Cloudflare, o IP vira uma lista enorme que se torna impraticável para manter manualmente. Já no Linux, o iptables ou o nftables oferecem controle muito mais fino. Um comando como iptables -A OUTPUT -d dominio.com -j DROP bloqueia o tráfego de saída. Mas o problema real aparece quando o domínio é acessado por múltiplos subdomínios ou quando o site redireciona para endereços diferentes. Nesse caso, você precisa também de regras para resolver DNS e bloquear as resoluções antes mesmo da conexão ser estabelecida.
Bloquear acesso a um site com bloqueadores de DNS
A abordagem mais eficiente que eu uso atualmente é via DNS. Ferramentas como Pi-hole, AdGuard Home ou até configurações manuais de DNS filtrado criam uma camada única que funciona em todos os dispositivos da rede, não apenas em uma máquina específica. Você configura o roteador para distribuir o IP do servidor DNS com bloqueio, e pronto. Qualquer dispositivo que use essa redeherda o bloqueio automaticamente. OPi-hole, por exemplo, funciona interceptando requisições DNS. Se um domínio está na lista negra, ele responde com um IP nulo em vez de redirecionar para o servidor real. Isso é mais limpo do que depender de firewall porque resolve o problema na raiz: a conexão nunca é estabelecida. O custo é que você precisa manter um dispositivo rodando o serviço, seja um Raspberry Pi ou um container Docker.
Tive um caso recente em que um site que eu queria bloquear usava múltiplos domínios espalhados por vários subdomínios com nomes dinâmicos. O Pi-hole com suas listas padrão não cobria tudo. A solução foi criar uma lista personalizada com wildcards. Adicionei *.dominio.com na lista negra e o bloqueio passou a funcionar para qualquer subdomínio novo que aparecesse. Isso economizou horas de manutenção manual que eu faria ajustando regras de firewall individualmente. Extensiones de navegador como BlockSite ou uBlock Origin resolvem para o usuário que as instalou, mas são triviais de contornar. Desinstalar a extensão leva cinco segundos. Isso não é confiável para restrições que precisam ter peso real, como controle parental ou políticas de rede corporativa.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Bloquear acesso a um site em dispositivos móveis
No Android, existem aplicativos como Qustodio ou Family Link que aplicam filtros por domínio. No iOS, a restrição nativa de conteúdo nas configurações de Screen Time oferece uma alternativa sem instalar nada. Você vai em Ajustes > Tempo de Uso > Limitações de Conteúdo e Privacidade > Conteúdo da Web, e adiciona os domínios bloqueados manualmente. O problema é que usuários avançados podem burlar isso conhecendo o código PIN. Não é uma solução robusta para cenários onde o bloqueio precisa ser realmente efetivo. Uma nuance importante que muitos ignoram: bloquear por domínio não impede o acesso via URL com IP direto. Se o site tem IP fixo conhecido, você precisa bloquear também esse IP nas regras de firewall. Caso contrário, o bloqueio de domínio é inútil porque a requisição contorna a resolução DNS completamente.
O tempo médio para configurar um Pi-hole básico com as listas padrão e uma lista customizada é de aproximadamente 45 minutos, considerando a instalação do Docker, a configuração da rede e os testes de validação. Para quem já tem familiaridade com containers, esse tempo cai para cerca de 20 minutos.
Limitações que você precisa saber
Nenhuma técnica descrita aqui impede que alguém acesse o site usando uma VPN ou um proxy externo. O DNS bloqueado só funciona para tráfego que passa pelo seu resolver. Se o dispositivo muda para um DNS público como 8.8.8.8 ou 1.1.1.1, o bloqueio some instantaneamente. A única defesa contra isso é bloquear o tráfego de saída para esses IPs no firewall ou forçar o uso do DNS interno via política de rede. Outro ponto crítico: sites que usam HSTS ou que são alcançados por QR codes e links curtos podem contornar bloqueios simples. Um link encurtado pode redirecionar para um domínio que não está nas suas listas. Nesse caso, a solução é combinar o bloqueio de DNS com inspeção de conteúdo em camada 7, algo que firewalls de próxima geração como opfSense com o pacote SquidGuard ou o OPNsense com content filtering oferecem, mas que exige configuração mais especializada e consumo maior de recursos.
A abordagem mais prática para a maioria dos casos domésticos e pequenas empresas continua sendo um servidor DNS com filtragem como Pi-hole ou AdGuard Home, complementado por regras de firewall básicas para IPs conhecidos. Não é perfeito, mas cobre 90% dos cenários com esforço razoável.