मैं एक एसएफटीपी केवल डॉकर कंटेनर बनाने की प्रक्रिया में हूं , जिसका उपयोग कई लोग अपने स्वयं के chrootएड एनवायरनमेंट में फाइलों को अपलोड करने और प्रबंधित करने के एकमात्र उद्देश्य के लिए करेंगे ।
कागज पर, यह बहुत सुरक्षित है: मैं bashलॉगिन के हर रूप को अक्षम कर दूंगा , और मैं इसमें कोई अन्य प्रक्रिया नहीं चलाऊंगा। हालाँकि मैं इसे थोड़ा और सख्त करना चाहूंगा:
मैं इस कंटेनर को इंटरनेट से अंदर तक पहुंचने से रोकना चाहता हूं, सिवाय इसके कि एसएफटीपी सर्वर होने का उद्देश्य है।
चीजों को स्पष्ट करने के लिए: मुझे पता है कि बाहरी दुनिया को मेरे कंटेनर तक पहुंचने से कैसे रोका जाए - मैं आने वाले iptablesनियमों को स्थापित कर सकता हूं , और मैं अपने docker रन कमांड में केवल SFTP पोर्ट को उजागर कर सकता हूं।
हालाँकि, मैं कंटेनर के अंदर भागते समय निम्न कमांड (उदाहरण के रूप में) को विफल करना चाहूंगा :
curl google.com
मेरा इरादा क्षति की मात्रा को कम करना है जो एक हैक किए गए कंटेनर कर सकता है (स्पैम ईमेल भेजने के लिए उपयोग नहीं किया जा सकता है, आदि)।
--net=noneध्वज को स्थापित docker runकरने से सभी बाहरी नेटवर्क एडेप्टर अक्षम हो जाएंगे, जिससे आप अपना स्वयं का नेटवर्क जोड़ सकते हैं और नेटवर्क ट्रैफ़िक नियमों को अनुकूलित कर सकते हैं।