Яагаад 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
Холболтын сонголт болон туслахын эзэмшилийг нэг тэмдэглэлд бичээрэй. Эс бөгөөс үүнийг дибаг хийх дараагийн хүн шифрлэлтийн онолыг эхнээс нь давтах болно.