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 scriptcachy-surf stoppara 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.