Эмне үчүн nosuid VPN жардамчысынын root болушуна тоскоол болот
Шифрленген үй папкасы жана nosuid менен туташтыруу — ар башка касиеттер. Жардамчыга ишенимдүү орнотуу жолу жана анын артыкчылык битин сыйлаган иштетүү контексти керек.
Дискти шифрлөө жана nosuid менен туташтыруу бир эле идеянын варианттарындай угулат, бирок алардын такыр байланышы жок. Бири тынч абалдагы маалыматтарды коргойт, экинчиси программа ишке кирген учурда ядронун артыкчылык битин сыйлайбы же жокпу чечет. Күткөн инсандыгына жете албаган жардамчы экинчиси жөнүндө даттанат. Биринчиси күнөөлүү деген божомол адамдарды эч качан бузулбаган кардарларды кайра орнотууга жиберет.
Эки байланышсыз касиет
Дискти шифрлөө машина өчүк кезде блокторду ким окуй аларына жооп берет. Туташтыруу параметри бирөө файлды аткарганда ядро анын режим биттери менен эмне кыларына жооп берет. Биринчисинде экинчисин эч нерсе чектебейт, жана толук шифрленген ноутбук бардык чектөөлөрү менен файлдык системаны туташтыра алат.
Аларды бир касиет катары окуу шифрленген үй папкасы root кирүүсүнө тоскоол болот деген теорияны жаратат. Бул теория эки симптом бир машинада пайда болгондуктан жашайт, себеби бирдей болгондуктан эмес.
Өтүүнү чындыгында эмне басат
execve шилтемеси set-user-ID бар аткарылуучу файл жаңы процесстин натыйжалуу инсандыгын файлдын ээсиникине кантип өзгөртөрүн сүрөттөйт. Ошол эле барак ушул өтүүнү баскан шарттарды жана топ идентификаторлору үчүн алардын барабардыгын тизмелейт: no_new_privs параметри, nosuid менен туташтырылган файлдык система жана көзөмөлдөнгөн процесс. Файл мүмкүнчүлүктөрү ошол эле шарттарда этибарга алынбайт. Бул төрт эреже ушундай типтеги дээрлик ар бир отчётту камтыйт.
Бул тизме ls басып чыгарган режим эч качан бүтүндөй авторизация тарыхы эмес экенин түшүндүрөт. Ал кайсы шарт белгилүү бир ката билдирүүсүн жаратканын айтпайт, жана колдонмо ошол эле сөздөр менен байланышсыз эсеп операциясы жөнүндө билдириши мүмкүн. Жыйынтык чыгарардан мурун так программаны, иштетүүчүнү жана каталардын ыраатын жазып алыңыз.
Колдоого алынган пакет орноткон аткарылуучу файлды, анын ээсин, чыныгы жолун жана аны кармаган файлдык системанын саясатын аныктаңыз. Жүктөөлөр папкасындагы көчүрмө — орнотулган жардамчы эмес, анын режими эмне дебесин.
Бул тууралуу эмне кылбаш керек
Текшерилбеген бинарга set-user-ID биттерин коюу жана чектөө жоголгонго чейин аны ар кайдан жылдыруу — оңдоо эмес. Ал сиз түшүнбөгөн саясатты аудиттей албаган артыкчылык менен алмаштырат, жана жардамчыга колдонулган ошол эле ыкма белгилүү эскалация жолу. Туташтыруудан nosuid алып салуу андан да жаман, анткени ал ошол файлдык системадагы ар бир программага таасир этет, бирөөнө гана эмес.
Колдоого алынган жол — администратор аткарган, кардардын документтелген жардамчы же кызмат орнотуусу, ал бинарды саясат күткөн жерге коёт. Ошентип эки эмес, бир артыкчылык механизми калат.
Чыныгы иштетүү контекстин тастыктаңыз
Уруксат берилген оңдоодон кийин жардамчыны root shell-ине эмес, продукт иштеткендей иштетиңиз. Root катары ийгилик кадимки колдонуучу баскан жол жөнүндө эч нерсени далилдебейт, жана бул эки контексттин айырмасы — ийгиликсиздиктин так темасы.
Андан кийин жардамчы бар болгон тармактык операцияны тастыктаңыз. Ишке кирип, бирок интерфейсти конфигурациялай албаган жардамчы маселени бир баскычка жылдырды, чечкен жок.
findmnt -no TARGET,OPTIONS /home
getcap /usr/libexec/openvpn-helper 2>/dev/null; ls -l /usr/libexec/openvpn-helper
Туташтыруу параметрлерин жана жардамчынын ээлигин бир эле жазууга жазыңыз. Болбосо муну оңдой турган кийинки адам шифрлөө теориясын башынан кайталайт.