sudo proxychains vs proxychains sudo: perché l'ordine conta
Capite perché proxychains sudo può perdere la sua libreria di intercettazione, mentre sudo proxychains avvia il wrapper nel contesto di esecuzione di destinazione.
Questi comandi non hanno lo stesso confine di esecuzione:
proxychains4 sudo command
sudo proxychains4 command
Proxychains-ng fa in modo che una libreria venga precaricata nel programma di destinazione. Su Linux, l'esecuzione di un programma set-user-ID come sudo attiva le regole di sicurezza del loader, che rimuovono le variabili di caricamento delle librerie pertinenti prima che sudo possa conservarle.
Di conseguenza, «conservare più ambiente» non è una correzione affidabile per mettere sudo dentro il wrapper. Il manuale di sudoers descrive esplicitamente che variabili come LD_* vengono rimosse prima che sudo inizi.
Se un comando richiede davvero l'account di destinazione, avviate il wrapper in quel contesto autorizzato. Poi verificate quale configurazione legge: sudo può cambiare HOME, PATH e il file per utente applicabile. Un'invocazione senza privilegi che funziona non dimostra che root abbia scelto la stessa lista di proxy.
Preferite l'interfaccia proxy nativa del programma quando ne offre una. Questo evita di dipendere dall'intercettazione per una richiesta che il programma sa già instradare.
Tenete presenti anche i limiti di copertura di proxychains. Il suo messaggio di avvio dimostra che il wrapper è partito; non dimostra che pacchetti grezzi, chiamate non supportate o un processo applicativo già esistente avviato separatamente abbiano usato la sua libreria. Confermate l'operazione di rete che volevate intercettare, invece di trattare il privilegio di root come prova che ogni operazione sia stata intercettata.