securityos/public/Users/Public/Documents/Tools/Firewall/TORVPN.md

74 lines
5.1 KiB
Markdown

![image](https://user-images.githubusercontent.com/86272521/226158233-9955fbe5-6f02-4ff7-954c-28ff2afc9356.png)
# TOR - SUA REDE COM MAIS PRIVACIDADE
O TOR publicou apenas instruções para o modo VPN no Linux, que é chamado de proxy transparente, roteando todo o tráfego de rede via TOR de forma transparente.
Não é aconselhável usar o Vidalia, pois não possui privilégios de sistema suficientes por padrão. Primeiro instale o TOR, use uma das várias formas específicas de distribuição. Por padrão, o TOR é executado como daemon e tem privilégio de root.
#### No linux, por exemplo, adicione as seguintes linhas a /etc/tor/torrc:
VirtualAddrNetwork 10.192.0.0/10
AutomapHostsOnResolve 1
TransPort 9040
DNSPort 53
Isso instruirá o TOR a encaminhar o tráfego redirecionado na porta 9040 e encaminhar as solicitações do servidor de nome de domínio na porta 53. O TOR falhará se tiver privilégio insuficiente para a porta DNS. Você pode usar qualquer servidor DNS existente omitindo a linha DNSPort, mas isso não é tão seguro quanto o TOR.
#### Para redirecionar todo o tráfego de rede dos aplicativos, existe o firewall Linux iptables:
sudo iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner seunomedeusuario -m tcp -j REDIRECT --to-ports 9040
sudo iptables -t nat -A OUTPUT -p udp -m owner --uid-owner seunomedeusuario -m udp --dport 53 -j REDIRECT --to-ports 53
sudo iptables -t filter -A OUTPUT -p tcp -m owner --uid-owner seunomedeusuario -m tcp --dport 9040 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p udp -m owner --uid-owner seunomedeusuario -m udp --dport 53 -j ACCEPT
sudo iptables -t filter -A OUTPUT -m owner --uid-owner seunomedeusuarioaqui -j DROP
Isso funcionará, a menos que você tenha uma distribuição Linux muito antiga. Apenas o primeiro comando é necessário para testar a funcionalidade da VPN, redirecionando todo o tráfego da rede para a porta 9040, onde o TOR está escutando. O redirecionamento aplica-se APENAS ao usuário.
#### Uma vez redirecionado, você precisa reiniciar o TOR:
/etc/init.d/tor restart
Você pode fazer login com seu usuário e iniciar o navegador, por exemplo, e verificar seu IP externo em qualquer um dos muitos sites de teste de proxy.
O usuário pode ser você mesmo. Nesse caso, você precisa redefinir o iptables para o estado anterior quando não precisa do TOR VPN. A outra maneira é fazer login como um usuário diferente sempre que precisar do TOR VPN, onde o redirecionamento é configurado para ser "permanente".
O redirecionamento da porta DNS 53 é opcional, mas mais seguro. Mesmo observadores em seu ISP não saberão quais sites você visitou. As outras regras de firewall bloqueiam outro tráfego para evitar vazamentos.
As regras podem ser armazenadas em um script de shell e executadas sempre que o TOR VPN for necessário. As regras de firewall padrão serão aplicadas após a reinicialização do sistema. Para configurar um usuário com TOR VPN sempre ativado, copie o script acima para:
/etc/init.d/torvpn
Para prevenir ainda mais o vazamento de DNS, no linux, você precisa alterar o conteúdo do arquivo em /etc/resolvconf/run/resovl.conf para
nameserver 127.0.0.1
Isso forçará TODOS os usuários a usar o TOR como servidor DNS. Depois de alterar as configurações de rede, às vezes você precisa atualizar a interface de rede:
sudo ifdown -a
sudo ifup -a
Naturalmente, o TOR DNS será mais lento e você desejará manter o arquivo resolv.conf original quando não estiver usando o TOR.
As regras de firewall não podem ser desfeitas diretamente. Para evitar a reinicialização do sistema, você pode armazenar o estado do firewall antes de usar o TOR:
sudo iptables-save > rulefile
e restaure as regras depois de usar o TOR:
sudo iptables-restore < rulefile
Você também pode parar o TOR VPN, para remover as regras do usuário é simples, vamos criar um script no meu caso coloquei o nome de toroff:
sudo iptables -t nat -D OUTPUT -p tcp -m owner --uid-owner seunomedeusuario -m tcp -j REDIRECT --to-ports 9040
sudo iptables -t nat -D OUTPUT -p udp -m owner --uid-owner seunomedeusuario -m udp --dport 53 -j REDIRECT --to-ports 53
sudo iptables -t filter -D OUTPUT -p tcp -m owner --uid-owner seunomedeusuario -m tcp --dport 9040 -j ACCEPT
sudo iptables -t filter -D OUTPUT -p udp -m owner --uid-owner seunomedeusuario -m udp --dport 53 -j ACCEPT
sudo iptables -t filter -D OUTPUT -m owner --uid-owner seunomedeusuarioaqui -j DROP
É possível conceder privilégio a usuários que não podem se tornar superusuários e conceder privilégios de superusuário a scripts sem solicitar senha. Você só pode editar o arquivo de configuração por:
sudo visudo
Se você cometer algum erro, pode ser necessário reiniciar no modo de recuperação, como root, para corrigi-lo.
Os scripts seguros podem receber permissão para não solicitar a senha su adicionando a linha:
seunomedeusuario ALL = NOPASSWD:/home/bob/bin/scriptX, /usr/bin/scriptY