O uso de uma VPN no Qubes OS, especialmente em conjunto com OpenVPN, oferece uma camada adicional de segurança e privacidade. Neste artigo, exploraremos como implementar uma netVM ou proxyVM que utiliza OpenVPN, incorporando um kill switch para proteger seu tráfego de rede contra vazamentos indesejados. A combinação de uma VPN com o TOR adiciona um nível extra de anonimato, tornando o sistema ainda mais robusto contra tentativas de rastreamento. Discutiremos os conceitos fundamentais, como a configuração da sys-vpn, e forneceremos detalhes práticos para que você possa criar um ambiente seguro. Ao final, abordaremos a importância de garantir que sua configuração permaneça anônima e à prova de censura.
Uma netVM no Qubes OS é uma máquina virtual dedicada exclusivamente ao tráfego de rede. Ela atua como um gateway seguro, isolando todas as conexões de internet das demais VMs para evitar que vulnerabilidades de rede comprometam o restante do sistema.
A sys-whonix é uma netVM baseada no template do whonix-gateway e fornece conexão TOR para as qubes que escolherem a sys-whonix como netVM.
Neste artigo, vamos aprender a criar uma netVM isolada como o Whonix, mas usando OpenVPN, e também como configurar um kill switch para evitar vazamentos de IP.
Vamos usar o template do Debian. Se o template é debian-xfce-12, clone este template chamado debian-xfce-12-vpn.
Em seguida, vamos entrar nele e instalar via apt os programas necessários para usar o OpenVPN.
Vá no canto superior direito em Qube Domains e abra o Qube Manager. Com o botão direito em debian-xfce-12-vpn, escolha start/resume. Em seguida, vá em settings e libere o nmcli (network manager) para ser usado no Debian.
Vá na aba services e selecione o serviço network manager, clique em add, depois em apply e ok.
Em Qube Domains, escolha o terminal da debian-xfce-12-vpn e execute os seguintes comandos:
sudo apt update sudo apt upgrade sudo apt install iptables sudo apt install openvpn sudo apt install network-manager network-manager-gnome sudo apt install network-manager-openvpn sudo apt install network-manager-openvpn-gnome sudo apt install wireguard resolvconf wireguard-tools sudo systemctl enable NetworkManager sudo systemctl restart NetworkManager sudo systemctl status NetworkManager
Teste agora com nm-connection-editor. Clique no botão de + e veja se as opções OpenVPN e import a saved vpn configuration estão disponíveis. Em seguida, desligue o template.
Vá em Qube Domains e abra o Qube Manager. Escolha a opção new qube.
Preencha as seguintes informações:
Na seção advanced, defina como Provide Network access to other qubes. Alternativamente, em settings, vá na aba advanced e configure provide network.
Finalize clicando em create new qube.
Crie uma conta no provedor de VPN. Gere e baixe os arquivos OpenVPN em uma pasta.
Anote o usuário e senha da VPN fornecidos pelo provedor.
Abra a sys-vpn e copie a pasta para a appVM sys-vpn.
Abra o nm-connection-editor e vá em import a saved vpn configuration.
Adicione o arquivo OpenVPN desejado e insira o usuário e a senha fornecidos.
Escolha armazenar a senha para todos os usuários.
Ative a VPN com o seguinte comando:
nmcli connection up
Por exemplo:
nmcli connection up nl-free-230.protonvpn.tcp.ovpn
Alternativamente, pela interface gráfica no canto superior direito, você encontrará o ícone de conexão da sys-vpn. Vá em VPN connections e selecione o nome da conexão OpenVPN cadastrada.
Adicione as seguintes regras de firewall para configurar o kill switch:
sudo iptables -I FORWARD -o eth0 -j DROP sudo iptables -I FORWARD -i eth0 -j DROP sudo ip6tables -I FORWARD -o eth0 -j DROP sudo ip6tables -I FORWARD -i eth0 -j DROP
Para visualizar as regras atuais, use o comando:
sudo iptables --list
Se desejar limpar as regras, você pode usar os seguintes comandos:
sudo iptables -F # Remove as regras de todas as chains sudo iptables -t filter -F
Abra uma appVM desejada, supondo que seja a Personal.
Vá em Qube Domains e abra o Qube Manager. Nas configurações da Personal, na aba basic, selecione em Net Qube a sys-vpn.
Inicie a Personal com start/resume. Entre no Firefox e acesse https://www.meuip.org para verificar se a VPN está conectada.
Na netVM sys-vpn, desligue a VPN e volte para a appVM Personal. Você deve notar que a conexão falhará, uma vez que o kill switch com iptables está impedindo o forward sem a conexão VPN.
Religue a VPN na appVM Personal e verifique que a conexão da appVM Personal voltou a funcionar correctamente!
Entre na appVM sys-vpn e abra o terminal.
Digite o comando a seguir para se tornar root:
sudo su
Navegue para o diretório onde as configurações são armazenadas:
cd /rw/config
Abra o arquivo rc.local utilizando o editor nano:
sudo nano rc.local
Adicione o seguinte conteúdo:
Atenção: substitua nl-free-230.protonvpn.tcp.ovpn do exemplo abaixo pelo nome da conexão vpn que você cadastrou!
#netVM com Kill Switch #nmcli connection up#veja o exemplo real abaixo nmcli connection up nl-free-230.protonvpn.tcp.ovpn #Regras de Firewall Iptables para Kill Switch sudo iptables -I FORWARD -o eth0 -j DROP sudo iptables -I FORWARD -i eth0 -j DROP sudo ip6tables -I FORWARD -o eth0 -j DROP sudo ip6tables -I FORWARD -i eth0 -j DROP #end
Reinicie a sys-vpn. Você deverá notar que a sys-vpn conectou automaticamente com o kill switch.
Realize os testes anteriores para verificar se o kill switch está operando corretamente.
Às vezes pode não funcionar, mas deveria. Isso pode ser um problema da appVM ou do Qubes que está com alguma funcionalidade prejudicada durante o uso. Leandroibov relata que configurou isso e não funcionava, mas quando reiniciou o Qubes, passou a funcionar. Todavia, não se sabe ao certo o que pode ser.
VPNs centralizadas nunca serão seguras, pois o usuário pode ter tudo registrado nos servidores de VPN. Autoridades que acessarem legalmente ou ilegalmente esses dados poderão desanonimizar você. Muitos provedores de VPN afirmam que não registram logs, mas isso não é confiável. Além disso, o sistema deles pode ter sido hackeado por agências de inteligência que coletam todos os dados. A única VPN confiável é a descentralizada, como a NYM VPN, baseada em blockchain!
O primeiro passo é obter as VPNs, usuário e senha anonimamente, comprando tudo com XMR ou criptomoedas anonimizadas. Depois, configure essa VPN anônima em uma netVM, como fizemos com a sys-vpn.
Para colocar a VPN over TOR, basta entrar nas configurações da sys-vpn e, em Net Qube, selecionar sys-whonix. Agora, a sys-vpn estará sendo roteada pelo Whonix e terá IP TOR. A VPN se conectará em cima desse roteamento, ou seja, será VPN over TOR!
No caso da appVM Personal, ela receberá o IP da VPN; porém, se trata de uma VPN anônima, e o IP que é registrado nos servidores da VPN é o IP de saída TOR. Dessa forma, você usa a VPN anonimamente, pois não é o seu IP que fica no servidor da VPN, mas sim o IP do TOR que protege seu IP real!
Com isso, você pode driblar censura e controlar o IP de saída para o IP que desejar, utilizando VPNs centralizadas como ponta de lança para o seu anonimato!
Usar VPN over TOR pode trazer algumas desvantagens. A conexão TOR é lenta, e se a VPN também for lenta, a experiência se tornará ainda mais lenta. Se a VPN for rápida, ainda assim sua velocidade poderá ser consideravelmente reduzida. Isso pode impedir que você alcance o desempenho necessário para acessar certos sites ou serviços de forma anônima, tornando a situação inviável.
Outro problema é a criação e uso anônimo do usuário VPN e dos arquivos OpenVPN. Existem vários erros que você pode cometer e é importante lembrar que você precisará registrar os arquivos, usuário e senha em algum lugar, o que pode deixar um rastro que comprova o uso da VPN over TOR. Portanto, é fundamental eliminar esses rastros de forma eficaz ao longo do tempo.
No curso Ultra Anonimato Red Pill, ensinamos como limpar os rastros temporariamente e até instantaneamente caso você sofra algum ataque.
Criptografia, por melhor que seja, não é anti-tortura. Se os rastros estiverem no seu Qubes ou em algum HD, o atacante poderá fazer pressão ou torturar pessoas próximas a você, obrigando-o a revelar a senha dos dispositivos e, por meio de extração forense, conseguirão recuperar os arquivos e desanonimizar você. Se os rastros nunca existirem ou forem suficientemente limpos de modo a serem absolutamente anti-forenses, eles não conseguirão nada, pois o que é invisível não pode ser atacado!
O Shell Script realiza essas tarefas complexas rapidamente, incluindo o cadastramento em massa de centenas e milhares de arquivos OpenVPN em segundos, configurando o /rw/config/rc.local de forma fácil e até criando kill switch forward, além de kill switch local tanto para appVMs do Qubes quanto para Linux em PCs normais. Além disso, há kill switch local e forward para interfaces USB RJ45 Ethernet!
Use este script para facilitar sua vida no Qubes e Linux e realizar tudo rapidamente com precisão!
Confira o repositório no GitHub: Iptables Sentinel Kill Switch.
Tutoriais avançados sobre Qubes OS: Clique aqui!
Qubes OS Espectro Proibido: Clique aqui!
Doar monero para ajudar no crescimento desse projeto: Clique aqui!