2016-08-10 7 views
5

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

कृपया मुझे बताएं क्योंकि मैं अपने सर्वर पर उपयोगकर्ता इनपुट छवि नामों से छवियों की एक सूची चला रहा हूं। मुझे चिंता है अगर यह सर्वर/मेजबान को प्रभावित करेगा।

उत्तर

8

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

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

डॉकर में इनमें से कई चीजों को सीमित करने की क्षमता है, जिसमें स्मृति को कैप करना, सीपीयू या प्राथमिकता प्रक्रियाओं को प्रतिबंधित करना, और फाइल सिस्टम के कोटा समाधान हैं।

आप अन्य दिशा भी जा सकते हैं और मेजबान को कंटेनर में बेनकाब कर सकते हैं, प्रभावी रूप से सुरक्षा भेद्यताएं बना सकते हैं। इसमें माउंटिंग होस्ट वॉल्यूम, विशेष रूप से कंटेनर के अंदर डॉकर.sock, --privileged के साथ कर्नेल क्षमता प्रतिबंधों को हटाने और --net=host के साथ नेटवर्क अलगाव को हटाने में शामिल होगा। इन्हें किसी भी कंटेनर से करने से सुरक्षा को बंद कर दिया जाता है जो डॉकर डिफ़ॉल्ट रूप से प्रदान करता है।

डॉकर के पास मेजबान के साथ कर्नेल साझा करने के तरीके के कारण वर्चुअल मशीन की तुलना में अलगाव का निम्न स्तर होता है। इसलिए यदि आपके द्वारा चलाए जा रहे कोड में कर्नेल या भौतिक हार्डवेयर शोषण शामिल है, जो होस्ट तक पहुंच सकता है। इस कारण से, यदि आप अविश्वसनीय कोड चला रहे हैं, तो आप linuxkit में देखना चाहेंगे, जो एक वीएम के अंदर चलाने के लिए हल्के कंटेनर आधारित ऑपरेटिंग सिस्टम प्रदान करता है। इसका उपयोग moby os प्रदान करने के लिए किया जाता है जो विंडोज/मैक के लिए डॉकर पर हाइपर/xhyve के अंतर्गत चलता है।

+1

संभावित कर्नेल शोषण के खिलाफ खुद को बचाने के लिए भी आप https://docs.docker.com/engine/security/security/#/other- कर्नेल- सुरक्षा-फीचर पर एक नज़र डाल सकते हैं – Ohmen

संबंधित मुद्दे