Quando se pensa em espionagem na informática as pessoas tendem a serem preconceituosas e imaginal só situações envolvendo a China e outros países satanizados por ai. A verdade é que como usamos sites, redes sociais, computadores e sistemas operacionais regidos pelos norte americanos, a probabilidade de sermos espionados por entidades norte americanas é centenas vezes maior do que algo envolvendo a China.
Outro dia fiquei reparando nas conexões que o meu
Fedora Linux fazia com o mundo externo ao me logar no Gnome ou KDE (Plasma), mesmo eu desabilitando pelo systemd serviços ligado ao flatpak como flatpak-add-fedora-repos, flatpak-system-helper e outras coisas como chrony e timers, a minha máquina ainda assim usava as "maravilhas" da criptografia usando a porta 443 de outros hosts para enviar sabe-se lá o que sobre mim para a internet, deve ser a praga da telemetria, mas enfim, em um mundo cada vez mais monitorado por governos poderosos, não dá pra confiar cegamente em coisas secretas que saem do seu computador com destino desconhecido. Se eu não posso gerenciar e ver o que tem dentro, não é confiável, simples assim!
Movi o conteúdo da pasta de repositório /etc/yum.repos.d/ para outro lugar e o problema diminuiu, mas não foi sanado. Vira e mexe um IP maroto recebia pelas portas 443 e 5355 informações do meu PC, teve um inclusive que sempre que eu iniciava o meu PC ao dia e me logava no Gnome, pegava cerca de uns 19KB e transacionava com um IP lá da Inglaterra, fiquei pensando comigo mesmo: será que é um print de tela saindo do meu PC? Não sei e não quero pagar pra ver!
Então decidi fazer um frontend em Java para ir bloqueando IPs, quando eu me logava no ambiente gráfico sem abrir nenhum programa de comunicação no Fedora Linux, esses IPs se comunicavam comigo:
8.43.85.67
15.228.175.157
142.251.128.78
38.145.60.21
23.214.205.3
45.134.141.12
200.25.7.49
54.233.149.99
142.251.129.161
45.134.141.12
138.199.5.36
162.159.136.232
199.232.114.137
142.250.219.129
34.120.208.123
52.41.18.18
34.160.144.191
52.35.151.234
18.64.174.19
142.250.219.234
142.251.128.106
142.251.128.42
104.244.42.194
38.145.60.20
45.134.141.11
199.232.114.49
8.43.85.73
O hosts que me davam mais medo eram os começados com 45.
Eu bloqueava esses IPs no iptables mas logo aparecia outro parecido para substituí-lo, tipo enxame de cupins, mata um, vem mais dez. Quando eu bloqueava vários, aí eles apelavam para o IPV6!
Quando eu fechava as portas no IPV6, usavam a porta de hostmon 5355. Enfim, era uma luta para ter informações do meu computador, parecia ate coisa de Windows com o famigerado svchost abrindo conexões estranhas para tudo que é lugar, isso tinha que parar afinal eu não uso Windows!
O que eu fiz
Como o iptables infelizmente não bloqueia aplicativos, seria muito bom se bloqueasse, apelei para o poder dele de bloquear grupos e usuários aliado ao famoso sudo, é meio trabalhoso mas surtiu efeitos.
No seu Linux, como administrador (root), crie um grupo chamado "nospy":
# groupadd -g 1999 nospy
Adicione o usuário root e joão (troque joão pelo seu usuário) ao grupo nospy:
# usermod -G nospy root
# usermod -G nospy joao
Também como administrador edite o arquivo
/etc/sudoers:
# visudo
Coloque a seguinte linha dentro do editor visudo no lugar onde tenha por perto linhas parecidas com o comando abaixo:
%nospy ALL=(ALL) ALL
Agora iremos dizer ao firewall do Linux para bloquear todas conexões xeretas que saem do nosso computador e vão para porta 443, 80 e 5355 dos computadores mundanos, usando usuários que fazem parte do grupo principal de joao e root, geralmente o seu grupo principal, por padrão, também leva o nome do seu usuário, para ver qual é, use o comando id ou abra /etc/group, de posse do nome desses grupos que no exemplo acima também se chamam root e joao, vamos usar o iptables para bloquear saída desses grupos para a porta 443 e outras.
Eu uso Fedora Linux e decidi desabilitar o firewalld que é nativo dele por achá-lo muito confuso e bobo, darei preferência ao tradicional iptables mesmo. Lembrando que você poderá acrescentar mais portas e grupos já existentes para deixar tudo ainda mais severo, só não adicione nas regras do firewall o nosso grupo nospy, ele foi criado para só ele navegar.
iptables -A OUTPUT -m owner --gid-owner root -p tcp --dport 443 -j DROP
iptables -A OUTPUT -m owner --gid-owner root -p tcp --dport 80 -j DROP
iptables -A OUTPUT -m owner --gid-owner root -p tcp --dport 5355 -j DROP
iptables -A OUTPUT -m owner --gid-owner joao -p tcp --dport 443 -j DROP
iptables -A OUTPUT -m owner --gid-owner joao -p tcp --dport 80 -j DROP
iptables -A OUTPUT -m owner --gid-owner joao -p tcp --dport 5355 -j DROP
Agora para bloquear espiões engraçadinhos que usam IPV6 faremos o mesmo acima mas com o
ip6tables:
ip6tables -A OUTPUT -m owner --gid-owner root -p tcp --dport 443 -j DROP
ip6tables -A OUTPUT -m owner --gid-owner root -p tcp --dport 80 -j DROP
ip6tables -A OUTPUT -m owner --gid-owner root -p tcp --dport 5355 -j DROP
ip6tables -A OUTPUT -m owner --gid-owner joao -p tcp --dport 443 -j DROP
ip6tables -A OUTPUT -m owner --gid-owner joao -p tcp --dport 80 -j DROP
</pre><br/>
Feito isso, crie uma forma de salvar essas regras, no meu caso eu uso uma ferramenta pronta que funciona fazendo isso:
# service iptables save
e
# service ip6tables save
no seu caso eu não sei, mas enfim, o Linux é cheio de possibilidades para personalização (sua maior vantagem), crie a sua maneira.
Feito isso tudo, quando o usuário joão ou root se logarem, as conexões que saem do seu PC para a porta 443 do cidadão livre do mundo que não conhecemos, serão frustradas, você poderá monitorar isso usando como root o aplicativo
iptraf ou
iptraf-ng, é uma ferramenta maravilhosa, simples e interativa.
Quando o usuário joao e root que participam do grupo de nome joao e root também, tentarem navegar usando o Firefox, eles não conseguirão, afinal programamos a sua máquina para nada dos grupos nativos desses dois usuários se conectarem na porta 443 (https) dos outros, é agora que vem a mágica: somente os aplicativos que você deseja usar é que vão poder se conectar às portas proibidas (443, 80 e 5355), para isso você que tem usuário joao deverá usar o seguinte comando:
sudo -g nospy firefox
Será pedida a sua senha, digite, aí quando o Firefox for chamado, ele irá conseguir navegar e se conectar aos milhões de porta 443 que ele, assim como qualquer navegador moderno, usa. Nada impede no Firefox mandar o que não deve para sei lá onde, mas nesse caso, a solução seria analisar o código fonte dele, compilá-lo e usá-lo, o que é uma tarefa inglória para a maioria de nós.
Dessa forma, só os apps que chamamos e que queremos usar, é que vão ter o poder usar a porta 443, se você notar que algum daemon acessa essa porta ainda, veja com qual grupo ele se inicia e o bloquei também com o iptables.