sudo proxychains versus proxychains sudo: por que a ordem importa
Entenda por que proxychains sudo pode perder sua biblioteca de interceptação, enquanto sudo proxychains inicia o wrapper no contexto de execução do destino.
Estes comandos não têm a mesma fronteira de execução:
proxychains4 sudo command
sudo proxychains4 command
O Proxychains-ng providencia a pré-carga de uma biblioteca no programa de destino. No Linux, executar um programa set-user-ID como o sudo aciona as regras de segurança do carregador, que removem as variáveis relevantes de carregamento de bibliotecas antes que o sudo possa preservá-las.
Por consequência, “preservar mais ambiente” não é um reparo confiável para colocar o sudo dentro do wrapper. O manual do sudoers descreve explicitamente que variáveis como LD_* são removidas antes de o sudo começar.
Se um comando realmente exige a conta de destino, inicie o wrapper nesse contexto autorizado. Depois verifique qual configuração ele lê: o sudo pode alterar HOME, PATH e o arquivo aplicável por usuário. Uma invocação sem privilégios que funciona não estabelece que o root escolheu a mesma lista de proxies.
Prefira a interface de proxy nativa do programa quando ele oferece uma. Isso evita depender da interceptação para uma solicitação que o programa já sabe encaminhar.
Também mantenha em vista os limites de cobertura do proxychains. Sua mensagem de inicialização prova que o wrapper começou; ela não estabelece que pacotes brutos, chamadas não suportadas ou um processo de aplicação já existente iniciado separadamente usaram sua biblioteca. Confirme a operação de rede que você pretendia encaminhar pelo proxy, em vez de tratar o privilégio de root como prova de que toda operação foi interceptada.