क्या सिस्टमड-एनस्पॉन अभी भी "सुरक्षित कंटेनर सेटअपों के लिए अनुपयुक्त" है?


21

यह मैन पेज में systemd-nspawn के लिए दिया गया है

ध्यान दें कि भले ही ये सुरक्षा सावधानी बरती जाए, लेकिन सिस्टम कंटेनर सुरक्षित नहीं है। सुरक्षा सुविधाओं में से कई को दरकिनार किया जा सकता है और इसलिए कंटेनर से मेजबान प्रणाली के आकस्मिक परिवर्तनों से बचने के लिए मुख्य रूप से उपयोगी है। इस कार्यक्रम का उद्देश्य डिबगिंग और परीक्षण के साथ-साथ पैकेज और वितरण और बूट और सिस्टम प्रबंधन से जुड़े सॉफ्टवेयर का निर्माण है।

यह बहुत ही प्रश्न बाद में 2011 में मेलिंग सूची में पूछा गया था , लेकिन उत्तर पुराना प्रतीत होता है।

systemd-nspawn में अब विकल्प CLONE_NEWNETका उपयोग करने के लिए कोड है --private-network। यह निजी AF_UNIXनाम स्थान के मुद्दे को कवर करने के लिए लगता है , और मुझे लगता है CAP_NET_RAWऔर CAP_NET_BINDउल्लेखित मुद्दों।

इस मुद्दे पर क्या मुद्दे बने हुए हैं और उदाहरण के लिए LXC systemd-nspawnवर्तमान में क्या कर सकता है इसके अलावा क्या करता है?


AF_UNIX के साथ आधा-पृथक हो जाता है CLONE_NEWNET: सार सॉकेट - अलग, फाइलसिस्टम-आधारित - एकजुट (जब तक कि मेजबान और कंटेनर के बीच कोई साझा फाइल सिस्टम नहीं हैं)। यह विशेष अनुप्रयोग के लिए X बैरिंग नेटवर्क को शुरू करने के लिए सुविधाजनक बनाता है (जैसे कि Xorg सार और फाइलसिस्टम UNIX सॉकेट दोनों को खोलता है)।
वि।

जवाबों:


12

एलएक्ससी थोड़ा बेहतर है क्योंकि यह कंटेनर को अप्रभावित उपयोगकर्ताओं के रूप में चला सकता है । यह systemd-nspawn के साथ संभव है, लेकिन केवल उन परिदृश्यों के लिए जहां आपको केवल एक उपयोगकर्ता (एकाधिक के बजाय) की आवश्यकता होती है, जो कंटेनर परिदृश्यों में बहु प्रक्रिया के लिए मुश्किल या कम सुरक्षित हो सकता है। यदि आप जानना चाहते हैं कि docker, lxc, और systemd-nspawn स्वाभाविक रूप से एक ठोस सुरक्षा तंत्र क्यों नहीं हैं, तो इसे पढ़ें: https://opensource.com/business/14/7/docker-security-selinux । असल में, कंटेनरों में अभी भी कर्नेल की पहुंच है और कोई भी कर्नेल पूरे मशीन पर नियंत्रण हासिल करता है। लिनक्स जैसे अखंड कर्नेल पर, कर्नेल कारनामे असामान्य नहीं हैं।


3
यह उत्तर गलत है। systemd-nspawn एक अलग उपयोगकर्ता के लिए विशेषाधिकार छोड़ने का समर्थन करता है: freedesktop.org/software/systemd/man/systemd-nspawn.html
डेविड टिमोथी स्ट्रॉस

मुझे पूरा यकीन है कि यह कंसोल / शेल को नॉन-प्रिवेल्ड यूजर के रूप में रन करता है, लेकिन बाकी सब को रूट के रूप में चलाता है। क्या आप उस पर गौर कर सकते हैं?
कैमरूननेमो

1
ठीक है, मैं अपना आखिरी बयान वापस लेता हूं। हालाँकि, इसमें उचित सब्यूड / सबगिड हैंडलिंग नहीं है, प्रति कंटेनर केवल एक अप्रत्याशित उपयोगकर्ता।
कैमरूननेमो

2
केवल पूर्ण सब्यूड / सबगिड हैंडलिंग का समर्थन करने के बजाय प्रति कंटेनर में एक अप्रभावी उपयोगकर्ता को छोड़ने में सक्षम होने के नाते सुरक्षा की समस्या नहीं है। यह एक सुविधा सीमा है।
डेविड टिमोथी स्ट्रॉस

हाँ मुझे पता है। मैं सिर्फ अंतर को इंगित कर रहा था।
कैमरूननेमो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.