sudo proxychains verzus proxychains sudo: prečo záleží na poradí
Pochopte, prečo proxychains sudo môže stratiť svoju odchytávaciu knižnicu, kým sudo proxychains spúšťa obal v cieľovom kontexte vykonávania.
Tieto príkazy nemajú rovnakú hranicu vykonávania:
proxychains4 sudo command
sudo proxychains4 command
Proxychains-ng zabezpečuje predbežné načítanie knižnice do cieľového programu. V systéme Linux spustenie programu s bitom set-user-ID, akým je sudo, aktivuje bezpečnostné pravidlá loadera, ktoré odstránia príslušné premenné načítavania knižníc skôr, než ich sudo stihne zachovať.
Preto „zachovať viac prostredia” nie je spoľahlivá oprava na umiestnenie sudo dovnútra obalu. Príručka sudoers výslovne uvádza, že premenné ako LD_* sa odstraňujú predtým, než sudo začne.
Ak príkaz skutočne vyžaduje cieľový účet, spustite obal v tomto autorizovanom kontexte. Potom skontrolujte, ktorú konfiguráciu číta: sudo môže zmeniť HOME, PATH a príslušný súbor jednotlivého používateľa. Fungujúce volanie bez oprávnení nedokazuje, že root zvolil ten istý zoznam proxy.
Uprednostnite natívne proxy rozhranie programu, ak ho ponúka. Vyhnete sa tak závislosti od odchytávania pri požiadavke, ktorú program už vie smerovať.
Majte tiež na pamäti limity pokrytia proxychains. Jeho úvodná správa dokazuje, že obal sa spustil; nedokazuje, že surové pakety, nepodporované volania alebo samostatne spustený existujúci proces aplikácie použili jeho knižnicu. Potvrďte sieťovú operáciu, ktorú ste chceli poslať cez proxy, namiesto toho, aby ste oprávnenie root považovali za dôkaz, že každá operácia bola odchytená.