FTP सर्वर तक के रास्ते में VPN सुरक्षा कहाँ खत्म होती है
VPN अपने गेटवे तक का रास्ता ढकता है, उसके आगे का हिस्सा नहीं। सादे FTP, FTPS और SFTP को अलग पहचानें, फिर डेटा चैनल और सामने वाले पक्ष की पहचान जाँचें।
VPN एक रास्ते की रक्षा करता है, और हर रास्ते का एक अंत होता है। जब टनल किसी कंपनी के गेटवे पर समाप्त होता है, तो फ़ाइल स्थानांतरण वहीं से उसी सुरक्षा के साथ आगे बढ़ता है जो उसका अपना प्रोटोकॉल देता है। यही अंतर तय करता है कि स्थानांतरण शुरू से अंत तक सुरक्षित है या केवल गेटवे तक। Connected सूचक दोनों में से किसी के बारे में कुछ नहीं बताता।
दो जगहें, दो बचे हुए रास्ते
ऐसा लैपटॉप लें जो कंपनी के VPN से जुड़ता है और फिर किसी अलग आंतरिक सर्वर के लिए FTP सत्र खोलता है। टनल गेटवे पर रुक जाता है, और गेटवे से उस सर्वर तक का हिस्सा उसके बाहर रहता है।
सादा FTP यह सोचकर एन्क्रिप्शन नहीं पा लेता कि उसके पैकेट टनल से होकर आए हैं। उस बचे हुए हिस्से पर आदेश, क्रेडेंशियल और फ़ाइल की सामग्री ठीक वैसे ही चलते हैं जैसे प्रोटोकॉल तय करता है, यानी खुले में। यह मायने रखता है या नहीं, यह टोपोलॉजी और इस पर निर्भर करता है कि उस हिस्से की और कौन रक्षा करता है, और पते को निजी कहना इस सवाल का जवाब नहीं देता। वही तर्क उलटी दिशा में भी लागू होता है जब सर्वर ऐसे क्लाउड नेटवर्क में हो जहाँ गेटवे एक और छलांग से पहुँचता है।
VPN एंडपॉइंट और FTP सेवा को एक ही मशीन पर रखें, तो चिंता करने के लिए कोई आगे का हिस्सा नहीं बचता। यह अलग जगह है, यह सबूत नहीं कि मेज़बान की प्रक्रियाएँ, फ़ाइलें और क्रेडेंशियल सुरक्षित हैं।
सादा FTP, FTPS और SFTP तीन फैसले हैं
सादा FTP कुछ भी एन्क्रिप्ट नहीं करता, पासवर्ड भी नहीं। FTPS, FTP में TLS जोड़ता है, इसलिए नियंत्रण चैनल और बातचीत तय होने पर डेटा चैनल सुरक्षित रहते हैं। SFTP, SSH के भीतर ले जाया जाने वाला अलग प्रोटोकॉल है, और यह FTPS की दूसरी वर्तनी नहीं है।
सर्वर को यह विकल्प समर्थित करना होगा, क्योंकि क्लाइंट ऐसा श्रोता नहीं बना सकता जो मौजूद ही न हो। SFTP चुनने से केवल FTP चलाने वाली सेवा SSH एंडपॉइंट नहीं बन जाती, और बुकमार्क का नाम बदलना या पोर्ट बदलना इस बात का कोई सबूत नहीं कि किस पर सहमति हुई। क्लाइंट के साथ-साथ सर्वर के पक्ष से भी प्रोटोकॉल की पुष्टि करें। फ़ाइल मैनेजर में ताला सत्र के बारे में दावा है, उसके पीछे के श्रोता के बारे में नहीं।
| Protocol | Usual port | What it protects | Identity check |
|---|---|---|---|
| FTP | 21 | Nothing on the wire | None beyond the login |
| FTPS | 21 or 990 | Control channel, data channel when required | TLS server certificate |
| SFTP | 22 | The whole session inside SSH | SSH host key |
जब स्थानांतरण मायने रखता हो तो अंतिम कॉलम पढ़ें, क्योंकि वहीं अप्रत्याशित पहचान परिवर्तन दिखता है।
डेटा कनेक्शन दूसरा कनेक्शन है
FTP पहले नियंत्रण कनेक्शन खोलता है और फिर सूचियों तथा स्थानांतरणों के लिए अलग डेटा कनेक्शन। सुरक्षित लॉगिन उन बाद के कनेक्शनों के बारे में कुछ नहीं कहता, जब तक कि परिनियोजन उनके लिए भी सुरक्षा न माँगे।
FTPS में क्लाइंट किसी विशेष आदेश से सुरक्षित डेटा चैनल माँगता है, और सर्वर नीति खुले विकल्प को अस्वीकार कर सकती है। यह मानने के बजाय कि क्लाइंट का डिफ़ॉल्ट पर्याप्त है, जाँचें कि नीति इसकी माँग करती है। पैसिव मोड एक और उलझन जोड़ता है, क्योंकि सर्वर डेटा कनेक्शन के लिए पता और पोर्ट घोषित करता है। जो फ़ायरवॉल या NAT उपकरण उस घोषणा को फिर से लिखता या अवरुद्ध करता है, वह ऐसा सत्र बनाता है जो प्रमाणीकरण पार करता है और फिर पहली सूची पर अटक जाता है।
curl -vk ftps://files.corp.example/ --user alice --ftp-ssl-control
openssl s_client -connect files.corp.example:21 -starttls ftp
ss -tnp | grep -E ':21|:990'
दूसरा आदेश दिखाता है कि कोई भी फ़ाइल छूने से पहले सर्वर नियंत्रण चैनल पर क्या प्रस्तुत करता है। तीसरा दिखाता है कि डेटा कनेक्शन कभी बना या नहीं, जो प्रमाणीकरण विफलता और पैसिव-मोड विफलता के बीच का अंतर है।
पहचान जाँचें टनल से बच निकलती हैं
FTPS क्लाइंट TLS सर्वर की पहचान सत्यापित करता है, और SFTP क्लाइंट SSH होस्ट कुंजी सत्यापित करता है। दोनों जाँचें फ़ाइल स्थानांतरण प्रोटोकॉल की हैं, और VPN इनमें से कोई नहीं करता।
यह अलगाव तब मायने रखता है जब बीच में कुछ सत्र का निरीक्षण करना चाहे। नेटवर्क उपकरण आदेश पढ़ सके इसलिए TLS बंद करना सुरक्षा मॉडल को पूरा करने के बजाय बदल देता है, और टनल उठने की वजह से किसी अस्पष्ट होस्ट कुंजी को स्वीकार करने पर भी यही बात लागू होती है। इच्छित विश्वास कॉन्फ़िगरेशन रखें और सही सामग्री ऑपरेटर से लें। जो टनल प्रमाणीकरण करता है वह अपने दूर के छोर पर मौजूद सर्वर के बारे में कुछ नहीं कहता।
इन प्रोटोकॉल के लिए निजी कुंजी और प्रमाणपत्र की सामग्री VPN क्रेडेंशियल से अलग एक तीसरा रहस्य है।
आपने वास्तव में क्या सत्यापित किया, लिख लें
ऐसी हानिरहित फ़ाइल चुनें जिसे हटाने-बढ़ाने की आपको अनुमति है, और प्रयास के बारे में चार तथ्य लिखें: कौन-सा प्रोटोकॉल चला, कौन-सी सामने वाले पक्ष की पहचान जाँची गई, कौन-सा रास्ता इच्छित था, और स्थानांतरण पूरा हुआ या नहीं।
lftp -u alice -e "set ftp:ssl-protect-data true; ls; bye" ftps://files.corp.example
sftp -v [email protected]
निर्देशिका सूची, टनल में लॉगिन और पूरा हुआ स्थानांतरण तीन अलग अवलोकन हैं, और केवल अंतिम बताता है कि रास्ता फ़ाइलों के लिए काम करता है। अगर डिज़ाइन बची हुई छलांग पर गोपनीयता के लिए केवल VPN पर भरोसा करता है, तो उसे उसी तरह निर्णय के रूप में लिखें। छलांग और उसकी विश्वास-धारणा का नाम लेने वाला स्वीकृति नोट जुड़े हुए क्लाइंट के स्क्रीनशॉट से अधिक मूल्यवान है।