- Em 2024, a web e os softwares ficaram mais cansativos por causa de anúncios, rastreamento, widgets de analytics, banners de cookies e comunicação externa incessante, e o Pi-hole é uma forma de reduzir isso no nível da rede
- O Pi-hole funciona como um DNS sinkhole na rede de casa ou do escritório, bloqueando rastreadores, CDNs de anúncios e solicitações indesejadas de domínio em todos os dispositivos
- Em um ambiente de uso real, 66,6% de todo o tráfego foi bloqueado, e isso não teria causado impacto funcional nas tarefas do dia a dia
- A configuração exige um Raspberry Pi e um cartão microSD, periféricos para a configuração inicial, a instalação do Pi-hole e a configuração de rede para fazer o roteador enviar as solicitações DNS ao Pi-hole
- É difícil bloquear toda a publicidade só com o Pi-hole, então em serviços como o YouTube é útil combiná-lo com um bloqueador de anúncios no navegador, como o uBlock Origin
Por que usar o Pi-hole
- A coleta indesejada de dados e o rastreamento durante a navegação e o uso de software aumentaram muito, e os usuários querem evitar situações em que computador, navegador e outros sinais sejam usados para criação de perfil sem consentimento
- A experiência online típica de 2024 está cheia de anúncios, scripts maliciosos, widgets de analytics, widgets de chatbot, banners de consentimento de cookies que cobrem a página e softwares que se comunicam com serviços externos a cada clique
- A tecnologia de anúncios evoluiu para explorar excessivamente os visitantes, e uma resposta proposta para isso é colocar um Pi-hole na rede doméstica
- O Pi-hole já é um projeto conhecido há bastante tempo, e é uma ferramenta abordada há anos por nomes como Jeff Atwood, Troy Hunt, Scott Hanselman e Scott Helme
Como ele funciona na rede
- O Pi-hole normalmente roda em um Raspberry Pi, mas tecnicamente também pode rodar fora de um Pi
- Ele funciona como um proxy/sinkhole de DNS dentro da rede
- Quando o usuário acessa
https://example.com, a solicitação passa primeiro pelo Pi-hole
- Depois, o fluxo segue consultando um servidor DNS autoritativo sobre as informações do domínio
- O objetivo é bloquear solicitações de domínios que você não quer acessar na rede
- rastreadores
- CDNs de anúncios
- domínios para os quais você não quer enviar dados dentro de casa ou da empresa
- Em uma rede real, 66,6% de todo o tráfego foi bloqueado, sem impacto funcional nas atividades do usuário
O que é necessário para instalar
- Configurar o Pi-hole não exige um grande investimento, e o maior custo é o tempo gasto com configuração e validação mais do que o hardware
- A configuração básica é a seguinte
- Raspberry Pi
- kit inicial CanaKit por cerca de US$ 155 nos EUA
- também inclui o cartão microSD necessário para a configuração
- monitor, mouse e teclado para conectar ao Raspberry Pi durante a configuração inicial
- tempo para seguir o guia básico de instalação do Pi-hole
- tempo para configurar o roteador para que as solicitações DNS da rede passem pelo Pi-hole
- A equipe do Pi-hole tornou o processo de instalação o mais simples possível
Operando listas de domínios bloqueados
- Depois de instalar o hardware e o software, é preciso configurar o roteador para que o destino das solicitações DNS aponte para o dispositivo com Pi-hole
- O passo seguinte é decidir quais domínios bloquear
- você pode observar diretamente as solicitações que passam pela rede e decidir
- você pode usar listas de bloqueio da comunidade
- O Firebog é recomendado como ponto de partida e oferece muitas listas de domínios pesquisadas e reunidas pela comunidade
- Não é necessário aplicar todas as listas indiscriminadamente
- alguns recursos podem quebrar ou deixar de funcionar
- no log de consultas em tempo real do Pi-hole, é possível verificar qual cliente está tentando acessar qual domínio
- conforme a necessidade, é possível bloquear ou permitir domínios dinamicamente
- Também é possível bloquear domínios que correspondam a certas condições com expressões regulares
- há o exemplo de bloquear os TLDs
.cn, .ru e .hk por causa da grande quantidade de tráfego malicioso observada com origem na Rússia, China e Hong Kong
(^|\\.)(cn|ru|hk)$
- Ao aplicar essa regra, desde que a solicitação DNS passe pelo Pi-hole, a comunicação destinada a servidores desses TLDs não sairá da rede
- TLDs de países não são o único vetor de ataque de malware, mas bloqueá-los é tratado como um pequeno passo para melhorar a postura geral de segurança da rede
Evitando bypass de DNS
- Alguns dispositivos podem tentar contornar o DNS configurado pelo usuário para exibir anúncios ou coletar dados de analytics
- A forma de lidar com isso varia conforme o hardware de roteador em uso
- Em um ambiente com o ecossistema UniFi e um UDM Pro, há um exemplo de acessar o UDM via SSH e executar regras de
iptables
iptables -t nat -A PREROUTING ! -s YOUR_PI_HOLE_IP -p tcp --dport 53 -j DNAT --to YOUR_PI_HOLE_IP
iptables -t nat -A PREROUTING ! -s YOUR_PI_HOLE_IP -p udp --dport 53 -j DNAT --to YOUR_PI_HOLE_IP
# Make sure that we skip 192.168.1.1 since that seems to break UniFi Protect
iptables -t nat -A POSTROUTING -m iprange --src-range 192.168.1.2-192.168.254.254 -j MASQUERADE
- Esse script redireciona todo o tráfego DNS na porta 53 para o Pi-hole e aplica mascaramento de endereços de rede com regras de NAT
- O primeiro comando faz DNAT do destino dos pacotes DNS TCP para o IP do Pi-hole
-t nat: define uma regra na tabela NAT
-A PREROUTING: adiciona a regra à cadeia que processa pacotes de entrada antes do roteamento
! -s YOUR_PI_HOLE_IP: exclui pacotes originados pelo próprio Pi-hole
-p tcp: aplica a pacotes TCP
--dport 53: corresponde a pacotes destinados à porta DNS 53
-j DNAT: encaminha para uma ação DNAT, que altera o IP de destino
--to YOUR_PI_HOLE_IP: redireciona os pacotes para o IP do Pi-hole
- O segundo comando aplica o mesmo tratamento aos pacotes UDP
- O terceiro comando é uma regra
MASQUERADE que troca o IP de origem do intervalo interno especificado pelo IP do roteador
- o intervalo de exemplo vai de
192.168.1.2 a 192.168.254.254 e pode ser ajustado para cada rede
192.168.1.1 é excluído para evitar quebrar o UniFi Protect
- Como resultado, todas as solicitações DNS TCP e UDP dos dispositivos da rede, exceto as originadas pelo próprio Pi-hole, são redirecionadas ao Pi-hole
Usando junto com bloqueadores de anúncios no navegador
- Mesmo com o Pi-hole entre os dispositivos da rede e a internet, ainda vale a pena usar um bloqueador de anúncios confiável como o uBlock Origin
- Em serviços como o YouTube, quando se quer manter o uso normal sem anúncios, o bloqueio apenas no nível de domínio dificilmente resolve tudo
- O Pi-hole funciona como uma camada adicional para bloquear conteúdos e solicitações indesejadas além do bloqueador de anúncios do navegador
- Bloqueadores de anúncios no navegador também conseguem barrar certos elementos específicos de interface, como anúncios inseridos manualmente ou conteúdo patrocinado carregado a partir do domínio principal do site
Avaliação após o uso
- Depois de instalar o Pi-hole na rede, o efeito foi tão grande que ficou difícil voltar atrás
- A mesma configuração foi aplicada também às redes dos pais e dos sogros
- A conclusão é que ele continuará sendo recomendado por fazer uma grande diferença na qualidade de vida online
5 comentários
Mesmo que você não use necessariamente o Pi-hole, em muitos casos também é uma boa simplesmente usar um DNS que já bloqueie anúncios.
http://youtube.com/watch?v=OvfnqFXRybk Também achei legal essa forma de instalar e usar o AdGuard.
Já usei os três, Adguard Home, PiHole e NextDNS, e no fim achei o Adguard Home o melhor.
Com requisições paralelas e um cache generoso, as consultas DNS são processadas em menos de 10 ms.
É um serviço razoável do ponto de vista de bloqueio de anúncios. Mas, como o próprio texto menciona, quando você bloqueia anúncios há bastante serviço que para de funcionar de forma meio sutil, então nessas horas você precisa desativar o bloqueio de anúncios e tal... Se fosse só eu, tudo bem, mas quando minha esposa usa e algo não funciona e ela fica irritada, isso também vira uma dor de cabeça, então estou usando só no meu computador pessoal. snif snif
Oh.. obrigado..