सुरक्षित SFTP सर्वर के लिए फाइल सिस्टम सुरक्षित करना


12

यह एक विकास प्रश्न के रूप में नहीं लग सकता है, लेकिन संक्षेप में यह है। कैसे समझाऊं। हमारा मुख्य विकास ध्यान गतिशील सामग्री पृष्ठ है। हमारे कुछ ग्राहकों ने हमें अपने पुराने स्टैटिक कंटेंट के लिए उन्हें अपने सर्वर (जो वे भुगतान करते हैं) में जगह देने की अनुमति दी है। हम ग्राहक को एक अलग डोमेन के लिए एक ftp खाता देकर इसे पूरा करने के लिए उपयोग करते हैं। (उदा। ग्राहक डोमेन customer.com है, लेकिन वे otherdomain.com/customerstatic के माध्यम से अपनी स्थिर सामग्री एक्सेस कर रहे थे)।

अब हम ग्राहकों को अपने लिनक्स सर्वरों में sftp खाते देने वाली सुरक्षा को बढ़ाना चाहते हैं। मैं अपने शेल वातावरण में ओपनश / एसटीपीपी-सर्वर का उपयोग कर रहा हूं ताकि वे कमांड में लॉग इन या निष्पादित करने में असमर्थ हों।

समस्या यह है कि प्रकृति द्वारा कई फ़ाइल सिस्टम फाइलें डिफ़ॉल्ट रूप से (drwxr-xr-x) होती हैं, जिसका अर्थ है कि कोई भी उपयोगकर्ता निर्देशिका की सामग्री और संभवतः कुछ फ़ाइलों को पढ़ने में सक्षम होगा। मुझे नहीं लगता कि पूरे फाइल सिस्टम को -rwxr-x - x में बदलना एक समझदारी भरा कदम है क्योंकि मैं नहीं जानता कि कितने सिस्टम फाइलों को पढ़ने की अनुमति की आवश्यकता होगी।

क्या किसी ने अतीत में इस मुद्दे का सामना किया है। यदि आपके पास है, तो क्या आप रास्ता बता सकते हैं?

धन्यवाद


अच्छा प्रश्न और संक्षिप्त जवाब - एक मध्यस्थ को शायद शीर्षक बदलना चाहिए और इसे गैर-विकि प्रश्न में बदलना चाहिए।
मिकीबी

एक प्रश्न को अन-विकि करना संभव नहीं है; क्षमा करें
जेफ एटवुड

जवाबों:


22

प्रकृति द्वारा SFTP असुरक्षित नहीं है; उन्हें अपने पूरे फाइल सिस्टम में देना है। यह देखने के लिए जांचें कि आप SFTP को एक क्रोकेट आधार पर कैसे सक्षम कर सकते हैं, जो उन निर्देशिकाओं में लॉक हो जाएगा, जहां वे अपने होम निर्देशिकाओं, या जहां भी आप उन्हें अपलोड करना चाहते हैं।

लिनक्स पर, मैं इस भाग (विन्यास / / ssh / sshd_config) पर ध्यान दूंगा:

  Match Group sftponly
         ChrootDirectory %h
         ForceCommand internal-sftp 
         AllowTcpForwarding no

इसका मतलब यह है कि 'sftponly' उपयोगकर्ता समूह में कोई भी अपने घर निर्देशिकाओं तक ही सीमित रहेगा।

अधिक के लिए लिंक देखें, और sshd_config मैनपेज भी पढ़ें। उम्मीद है की वो मदद करदे।


इसके अलावा, आपको internal-sftpक्लाइंट को sftp सबसिस्टम का अनुरोध करने पर OpenSSH का उपयोग करने की आवश्यकता हो सकती है - यह बाहरी sftp-serverप्रोग्राम का उपयोग करने के लिए सेट किया गया हो सकता है । ऐसा करने के लिए, Subsystem sftp internal-sftpकॉन्फ़िगरेशन फ़ाइल के मुख्य अनुभाग में लाइन को जोड़ें या बदलें ( Matchअनुभाग के तहत नहीं )।
नैट

जोश, क्या आपने कभी भी उपयोगकर्ताओं की होम निर्देशिकाओं के मूल स्वामित्व की आवश्यकता के लिए कोई तरीका नहीं निकाला है?
मैट सिमंस


1

जब आप कहते हैं कि "कई फ़ाइल सिस्टम 755 अनुमतियाँ डिफ़ॉल्ट रूप से कर रहे हैं", कि वास्तव में डिफ़ॉल्ट का मतलब umask 022 पर सेट है आप 027 लिए umask, जो डिफ़ॉल्ट अनुमतियों 750 होगा की स्थापना करके (नई फ़ाइलों के लिए) इस डिफ़ॉल्ट को बदल सकते हैं, या umask को 007 पर सेट करें, जो डिफ़ॉल्ट अनुमतियों को 770 कर देगा।


0

आप एक OpenVZ सर्वर स्थापित करने पर विचार कर सकते हैं, और फिर प्रत्येक कंपनी के लिए एक अलग छोटा VM ftp / sftp 'कंटेनर' बना सकते हैं। यह उन सभी को अलग रखता है, और एक बार जब आप OpenVZ को लटका लेते हैं तो यह वास्तव में इस तरह की छोटी चीजों के लिए काम करता है।

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