إسقاط الامتيازات في GO (v1.7)
مهمة إنشاء خادم ويب مخصص في غولانج غالباً ما تواجه حاجة إلى ربط المنافذ المميزة مثل المنفذ 80. تستكشف هذه المقالة مسألة إسقاط الامتيازات في GO وتوفر حلاً. كبديل ، يمكن للمرء إعادة توجيه المنفذ 80 إلى منفذ غير محدد باستخدام IPTABLES. ومع ذلك ، يفتح هذا الحل نقاط الضعف الأمان من خلال السماح بعمليات غير الجذر بانتحال شخصية خادم الويب.
يكمن الحل في استخدام مجموعة من إمكانيات شبكات GO ودعوة النظام. بعد فتح المنفذ المميز وتحديد UID ، يمكننا تحديد المستخدم المطلوب ، والحصول على UID ، وضبط كل من UID و GID باستخدام وظائف GLIBC setGid () و setuid (). من المهم تنفيذ هذا الرمز مباشرة بعد ربط المنفذ ، ولكن قبل استدعاء http.serve.
يوضح مقتطف الكود المقدم هذا النهج. يقوم أولاً بتحميل شهادات TLS الضرورية ويستمع على منفذ متميز. إذا كان التطبيق يعمل كجذر ، فسيؤدي إلى تخفيض مستوى مستخدم محدد عن طريق تعيين UID و GID باستخدام مكالمات GLIBC. بعد ذلك ، يستمع إلى الطلبات الواردة ويخدم محتوى الويب.
هذا الحل يعالج بشكل فعال الحاجة إلى إسقاط الامتيازات في تطبيقات GO. يسمح بإنشاء خوادم ويب مخصصة آمنة وقوية دون المساس بالأمان.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3