Como bloquear um app de usar a internet no Mac
Maneiras práticas de impedir que um app use a internet no macOS, sem quebrar o resto do sistema.
- macOS
- Security
- Privacy
- Tutorial
Um app que você comprou em 2022 ainda liga para casa toda abertura. Um jogo quer baixar uma atualização de 3 GB enquanto você está em hotspot. Um utilitário de scanner insiste em checar atualizações de novo e de novo. Você quer bloquear o acesso à internet de um app no Mac totalmente — sem desinstalar e sem quebrar o resto do sistema.
A boa notícia: o macOS te dá várias formas de bloquear acesso à internet de um app que usuários de fato precisam. A má notícia: cada uma tem trade-off diferente, e a escolha errada ou vai falhar silenciosamente ou vai quebrar coisas que você não queria. Aqui o playbook prático.
As quatro formas de bloquear acesso à internet de app no Mac que usuários deveriam conhecer
Em ordem aproximada de como a maioria deveria escolher:
- Little Snitch — firewall outbound dedicado. Regras por app, prompts na primeira conexão, GUI para edição.
- LuLu — firewall outbound gratuito, open-source, da Objective-See. Menos polido que Little Snitch, ideia central similar.
- Application Firewall do macOS + um filtro de rede — o firewall built-in só lida com inbound. Para bloqueio outbound, você precisa de uma extensão de rede de terceiros ou regra
pf. - Bloqueio em
/etc/hosts— bruto, parcial, mas útil para endpoints de telemetria conhecidos.
Para um único app que você quer totalmente offline, opções 1 ou 2 são a resposta certa. As outras são situacionais.
Opção 1: Little Snitch (o padrão)
Little Snitch instala uma Network Extension que intercepta conexões de saída. Quando um app que você não viu antes tenta ligar para casa, Little Snitch mostra um prompt: permitir uma vez, permitir para sempre, negar uma vez, negar para sempre — com escopos opcionais (só esse hostname, qualquer porta, etc.).
Para bloquear um app inteiramente:
- Abra Little Snitch → Network Monitor → Rules.
- Busque pelo nome do app.
- Ou apague suas regras existentes e confie num prompt deny-default na próxima vez, ou adicione um "Deny — qualquer processo de /Applications/SeuApp.app — qualquer conexão" explícito.
- Saia e reabra o app alvo.
Little Snitch é software pago com demo gratuito (3 horas por sessão). Para uma ferramenta em que você vai confiar no nível de kernel, pagar uma vez é o movimento certo.
Escopos de regra que importam
- Caminho do processo — Little Snitch chaveia no caminho em disco, então atualizar app via Sparkle pode pedir de novo. Re-aprove ou configure a regra como "qualquer versão".
- Processos auxiliares — apps como Slack, Discord e Chrome têm binários auxiliares que precisam de suas próprias regras. Se você permite o pai e esquece o helper, tráfego pode escapar. Um monitor como o ova agrupa helpers sob o pai para você ver quando isso acontece.
Opção 2: LuLu (gratuito)
LuLu faz o que Little Snitch faz, com conjunto menor de features. Mesmo modelo de Network Extension, mesmo fluxo prompt-e-regra. Não vai mostrar gráficos de tráfego ou fazer filtragem por hostname tão limpamente, mas para o caso de uso "bloqueia esse um app" é perfeitamente adequado.
Baixe de objective-see.org, arraste para Applications, conceda a permissão de Network Extension e adicione regra de deny para o binário que quer silenciar.
Opção 3: firewall built-in do macOS (limitado)
O Application Firewall do macOS vive em Ajustes do Sistema → Rede → Firewall. Ele bloqueia conexões de entrada. Não bloqueia saída. Então para a pergunta "pare meu app de falar com a internet", o firewall built-in não é a resposta.
Se você também quer bloquear inbound — por exemplo, um app roda um servidor local que você não quer expor — ligue o firewall, clique em Opções e adicione o app à lista de deny.
Opção 4: bloqueios em /etc/hosts (parcial)
Para endpoints específicos de telemetria, você pode blackhole o hostname:
sudo nano /etc/hostsAdicione:
0.0.0.0 telemetry.example.com
0.0.0.0 analytics.example.comSalve com Ctrl-O, saia com Ctrl-X. Depois flush DNS:
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponderIsso funciona só para apps que de fato consultam DNS do sistema. Apps que hardcode IPs ou usam DNS próprio passam por cima de /etc/hosts totalmente. Navegadores usando DoH passam por cima. Então trate /etc/hosts como rifle de precisão para endpoints conhecidos, não como bloqueio de uso geral.
A etapa de verificação que todo mundo pula
Configurar o bloqueio é metade do trabalho. A outra metade é confirmar que funciona. Aqui é onde uma ferramenta de monitoramento separada se justifica.
O padrão:
- Configure o bloqueio em Little Snitch / LuLu / hosts file.
- Abra o ova na sua barra de menu. Amostra tráfego por app a cerca de 1 Hz.
- Abra o app alvo e use. Clique em volta. Dispare a ação que costumava ligar para casa — checar updates, login, sync.
- Observe a linha por app. Se permanece em 0 KB/s up e down, o bloqueio segura. Se vê qualquer saída, você tem vazamento.
Duas razões para vazamentos:
- Processo auxiliar não coberto. O app pai está negado, mas
Slack HelperouUpdater.apptem regra própria que ainda está allow. - Conexão cacheada antes do bloqueio. O app abriu uma conexão de longa vida antes da regra existir. Saia do app totalmente (clique direito → Sair, ou
Cmd-Q) e reabra.
Casos especiais
Bloquear um app mantendo acesso LAN
Alguns apps precisam falar com seu speaker AirPlay ou impressora local mas não deveriam alcançar a internet. No Little Snitch, configure "deny any" e adicione exceção de allow para LAN e Multicast/Broadcast. A permissão Local Network do macOS também filtra isso — cheque Ajustes do Sistema → Privacidade e Segurança → Rede Local e revogue se o app não precisa de LAN.
Bloquear um app no Wi-Fi mas permitir no ethernet
Little Snitch suporta perfis. Crie um para "Café" e um para "Casa", anexe regras diferentes, troque pela barra de menu.
Bloquear só atualizações, permitir tudo o mais
A maior parte dos apps separa tráfego de update do tráfego de feature. Ache o binário do updater (frequentemente dentro de SeuApp.app/Contents/Library/LoginItems/ ou /Library/LaunchDaemons/) e adicione regra de deny para esse caminho específico. Rode o app, observe o ova — features ainda devem funcionar, updates devem falhar com erro de rede no log.
Verifique que seus bloqueios de firewall de fato seguram
ova mostra tráfego ao vivo por app para você confirmar que uma regra Little Snitch fez seu trabalho — local, assinado, ~3 MB.
Um exemplo concreto: silenciar um utilitário tagarela
Digamos que você comprou um utilitário de screenshot três anos atrás. Licença vitalícia, costumava ser quieto, agora liga para casa toda abertura e você não confia na nova dona.
- Instale o Little Snitch. Trial está bom pela primeira hora para ver como as regras se sentem.
- Abra o utilitário de screenshot. Little Snitch pede: "Snipster quer conectar a api.snipster.app". Clique Deny → Forever → qualquer porta.
- Use o app por uma semana. Se features funcionam, o deny segurou. Se uma feature quebra, olhe o que tentou chamar — vai estar no log do Little Snitch — e decida se permite o endpoint específico.
- Rode o ova ao lado. Confirme que a taxa por app fica em 0 KB/s durante uso normal.
Esse padrão funciona para qualquer app que não precisa da internet para fazer seu trabalho localmente.
O que bloqueios não vão consertar
Algumas coisas para ser honesto:
- Push notifications via APNs. O macOS roteia Apple Push pelo
apsd, não pelo app. Bloquear o app não bloqueia suas notificações. Desabilite notificações em Ajustes do Sistema. - Extensões de sistema e daemons. Alguns apps instalam daemons em segundo plano em
/Library/LaunchDaemons/. Matar o app não mata o daemon. Use o desinstalador oficial, ou liste daemons vialaunchctl list | grep -i appname. - Apps que hardcode IPs. Raro, mas existe. Bloqueie por IP em vez de hostname no Little Snitch.
- Apps em sandbox da App Store usando serviços XPC. Às vezes o app visível é silencioso e um helper XPC faz a fala. Mesma correção dos processos auxiliares — ache na árvore de processos do Little Snitch, adicione regra.
Por que "monitor + firewall" é o setup durável
Você pode rodar só firewall. Pode rodar só monitor. A maior parte dos usuários experientes de Mac roda os dois:
- O firewall (Little Snitch / LuLu) define política e bloqueia no kernel.
- O monitor (ova ou similar) mostra a realidade — o que ainda está falando, quanto, quando.
Os dois respondem perguntas diferentes. "Minha regra funcionou?" é pergunta de monitor. "Que app novo está tentando ligar para casa?" é pergunta de prompt do firewall. Juntos te dão a foto completa.
Encerrando
Para bloquear acesso à internet de app no Mac de ponta a ponta: use Little Snitch ou LuLu para o bloqueio, o Application Firewall do macOS só se também precisar inbound e /etc/hosts para endpoints conhecidos quando bloqueio baseado em DNS é o suficiente. Depois verifique com um monitor, porque uma regra que você não confirmou é uma regra que você não tem de verdade.
A maior parte dos apps funciona ok offline depois que você corta a rede. Os que não funcionam, você descobre rápido — e terá aprendido algo útil sobre quais features eram de fato locais para começar.