O CachyOS entrega alto desempenho e otimização para o Arch Linux. Contudo, quando a prioridade passa a ser o anonimato de rede, o desafio clássico é equilibrar segurança máxima contra vazamentos e a praticidade do uso diário.

Deixar o sistema permanentemente travado em uma rede anônima inviabiliza tarefas cotidianas, como atualizações pesadas via pacman. Este guia documenta a construção de uma pilha de privacidade flexível com Tor, Privoxy, Proxychains e um Kill-Switch automatizado baseado no conceito do AnonSurf.


1. Instalação das Dependências

O primeiro passo consiste em instalar as ferramentas fundamentais a partir dos repositórios oficiais:

sudo pacman -Syu tor privoxy proxychains-ng torsocks nftables

2. Configuração do Daemon do Tor e Privoxy

Iniciamos configurando o daemon do Tor para aceitar conexões locais na porta SOCKS e isolar os circuitos por requisição.

Abra o arquivo de configuração do Tor:

sudo nano /etc/tor/torrc

Insira ou certifique-se de manter as seguintes diretrizes:

SocksPort 127.0.0.1:9050
IsolateDestAddr 1
IsolateDestPort 1

Ative e inicie o serviço do Tor:

sudo systemctl enable --now tor

Em seguida, configure o Privoxy para higienizar o tráfego web antes de enviá-lo ao Tor. Edite o arquivo:

sudo nano /etc/privoxy/config

Garanta que a regra de encaminhamento a seguir esteja ativa (o ponto final ao final da linha é obrigatório):

forward-socks5 / 127.0.0.1:9050 .

Ative o Privoxy:

sudo systemctl enable --now privoxy

3. Uso Pontual: Proxychains e Torsocks

Para interações rápidas no terminal sem a necessidade de alterar o comportamento global da máquina, podemos utilizar utilitários de isolamento por processo.

No /etc/proxychains.conf, certifique-se de que a lista aponta para a porta local:

[ProxyList]
socks5 127.0.0.1 9050

Ferramentas como o torsocks permitem encapsular comandos pontuais de forma transparente:

torsocks curl https://check.torproject.org/api/ip

4. A Mecânica do Kill-Switch com nftables

Para garantir que nenhum pacote de dados trafegue para a internet aberta em caso de falha no daemon do Tor, recorremos ao nftables no nível do kernel.

A lógica de segurança de um Kill-Switch restritivo baseia-se em três pilares:

  • Política Padrão (Drop): Nenhuma comunicação de saída é permitida por padrão.
  • Isolamento de Loopback (`lo`): A comunicação interna entre aplicativos e o Privoxy na máquina continua liberada.
  • Exceção por UID (`meta skuid tor`): Apenas o processo oficial do Tor possui autorização em nível de kernel para abrir sockets externos. Se o Tor cai, o tráfego cessa instantaneamente, evitando vazamentos de IP.

5. Mitigação de Vazamento via IPv6

Como boa parte dos nós de saída e proxies opera focada em IPv4, manter o IPv6 ativo na placa de rede local pode expor o endereço real do host. Desative-o criando o arquivo de diretiva:

sudo nano /etc/sysctl.d/40-ipv6-disable.conf

Adicione as instruções:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Aplique as alterações:

sudo sysctl --system

6. Automação Estilo AnonSurf: O Script de Controle (`cachy-surf`)

Manter um firewall restritivo ativo permanentemente engessa o uso do sistema. Para resolver isso de forma elegante, podemos encapsular a ativação do Tor e das regras do nftables em um script de controle rápido (estilo AnonSurf), permitindo alternar entre o modo padrão e o modo blindado com um único comando.

Crie o script de automação no diretório de binários locais:

sudo nano /usr/local/bin/cachy-surf

Insira o seguinte código em Bash:

#!/bin/bash

if [ "$EUID" -ne 0 ]; then
  echo "[-] Este script precisa ser executado como root (sudo)."
  exit 1
fi

case "$1" in
  start)
    echo "[+] Iniciando o daemon do Tor..."
    systemctl start tor

    echo "[+] Ativando o Kill-Switch (nftables)..."
    nft -f - <<EOF
flush ruleset
table inet filter {
    chain input {
        type filter hook input priority 0; policy drop;
        ct state {established, related} accept
        iif "lo" accept
    }

    chain forward {
        type filter hook forward priority 0; policy drop;
    }

    chain output {
        type filter hook output priority 0; policy drop;
        oif "lo" accept
        meta skuid tor accept
    }
}
EOF
    echo "[+] Modo de Privacidade ATIVADO. Apenas o Tor tem acesso à internet."
    ;;

  stop)
    echo "[-] Desativando o Kill-Switch e limpando o firewall..."
    nft flush ruleset
    systemctl restart nftables 2>/dev/null || true

    echo "[-] Parando o daemon do Tor..."
    systemctl stop tor

    echo "[-] Conexão normal de internet restaurada."
    ;;

  status)
    if systemctl is-active --quiet tor; then
      echo "[+] Status: ATIVO (Tor rodando e Firewall restrito)"
      echo "[*] IP atual na rede anônima:"
      torsocks curl -s https://check.torproject.org/api/ip
    else
      echo "[-] Status: DESLIGADO (Internet padrão da ISP)"
    fi
    ;;

  *)
    echo "Uso correto: sudo cachy-surf {start|stop|status}"
    exit 1
    ;;
esac

Torne o script executável:

sudo chmod +x /usr/local/bin/cachy-surf

Agora, o gerenciamento do seu ambiente de privacidade ficou flexível:

  • Para blindar o sistema sob demanda: sudo cachy-surf start
  • Para verificar o status e o IP atual: sudo cachy-surf status
  • Para restaurar a internet padrão e atualizar o sistema: sudo cachy-surf stop

Com essa abordagem, você une a rigidez de um Kill-Switch baseado em kernel com a praticidade operacional necessária para o dia a dia em distribuições rolling-release como o CachyOS.


Nota de Segurança e Boas Práticas (OpSec)

Construir uma arquitetura baseada no Tor e em regras de firewall protege o transporte dos seus dados e mascara o seu endereço IP real, mas a tecnologia por si só não garante anonimato se a Segurança Operacional (OpSec) falhar. Tenha em mente as seguintes recomendações fundamentais ao operar em ambientes anônimos:

  • Nunca faça login em contas pessoais: Acessar suas contas reais (Google, redes sociais, e-mails corporativos) enquanto utiliza a rede Tor destrói o anonimato instantaneamente, vinculando a sua identidade definitiva ao circuito.
  • Evite streaming e consumo pesado de banda (YouTube, Netflix): Além de gerar uma latência insuportável e disparar bloqueios por CAPTCHA, sobrecarregar a rede voluntária do Tor com tráfego de mídia prejudica ativistas, jornalistas e dissidentes em regimes opressores que dependem criticamente dessa infraestrutura para sobreviver.
  • Jogos online são inviáveis: O roteamento por múltiplos nós globais eleva o ping drasticamente e a maioria dos jogos utiliza protocolos incompatíveis (como UDP bruto), tornando a experiência impossível.
  • Atualizações e downloads volumosos: Embora seja tecnicamente possível atualizar o CachyOS/Arch via proxychains, o ideal é utilizar o script cachy-surf stop para realizar manutenção e atualizações do sistema através da sua conexão direta com a ISP, evitando gargalos nos nós de saída e bloqueios em espelhos de pacotes.

O objetivo de uma ferramenta como o cachy-surf não é transformar o CachyOS em um "bunker" permanente e engessado, mas sim colocar o controle da privacidade estritamente nas suas mãos, garantindo flexibilidade operacional sem abrir mão da segurança quando o anonimato for realmente necessário.