FTP का फाइल ट्रांसफर के लिए मुख्य नुकसान ट्रांसफर किए गए डेटा के लिए सुरक्षा और एन्क्रिप्शन साधनों की कमी है। FTP सर्वर से कनेक्ट करते समय यूजरनेम और पासवर्ड भी क्लियर टेक्स्ट में भेजे जाते हैं। डेटा ट्रांसफर के लिए (विशेष रूप से सार्वजनिक संचार चैनलों का उपयोग करते समय), FTPS या SFTP जैसे अधिक सुरक्षित प्रोटोकॉल का उपयोग करने की सिफारिश की जाती है। आइए देखें कि Windows Server 2012 R2 पर FTPS सर्वर कैसे कॉन्फिगर करें।
FTPS प्रोटोकॉल (FTP over SSL/TLS, FTP+SSL) मानक FTP प्रोटोकॉल का एक विस्तार है, लेकिन क्लाइंट और सर्वर के बीच कनेक्शन SSL/TLS का उपयोग करके संरक्षित (एन्क्रिप्टेड) होता है। एक नियम के रूप में, कनेक्शन के लिए वही 21 पोर्ट उपयोग किया जाता है।
नोट. FTPS और SFTP (सिक्योर FTP या SSH FTP) को मिलाएं नहीं। बाद वाला SSH प्रोटोकॉल का विस्तार है जिसका FTP से कोई लेना-देना नहीं है।FTP over SSL सपोर्ट IIS 7.0 (Windows Server 2008) में दिखाई दिया। FTPS सर्वर को काम करने के लिए, आपको अपने IIS सर्वर पर एक SSL सर्टिफिकेट इंस्टॉल करना होगा।
FTP सर्वर भूमिका की स्थापना
Windows Server 2012 में FTP सर्वर भूमिका की स्थापना कोई समस्या नहीं पैदा करती और पहले ही वर्णित की जा चुकी है।
IIS में SSL सर्टिफिकेट कैसे जनरेट और इंस्टॉल करें
फिर IIS Manager कंसोल खोलें, सर्वर चुनें और Server Certificates सेक्शन पर जाएं।
इस सेक्शन में आप सर्टिफिकेट इम्पोर्ट कर सकते हैं, सर्टिफिकेट रिक्वेस्ट बना सकते हैं, सर्टिफिकेट अपडेट कर सकते हैं या सेल्फ-साइन्ड सर्टिफिकेट बना सकते हैं। प्रदर्शन के उद्देश्यों के लिए, आइए एक सेल्फ-साइन्ड सर्टिफिकेट बनाएं। (इसे New-SelfSignedCertificate cmdlet का उपयोग करके भी बनाया जा सकता है।) किसी सर्विस को एड्रेस करते समय, एक चेतावनी दिखाई देगी कि सर्टिफिकेट अविश्वसनीय CA द्वारा जारी किया गया है। इस चेतावनी को इस सर्टिफिकेट के लिए अक्षम करने के लिए, इसे GPO का उपयोग करके विश्वसनीय सर्टिफिकेट्स की सूची में जोड़ें।
Create Self-Signed Certificate चुनें।
Create Certificate विज़ार्ड में, इसका नाम निर्दिष्ट करें और सर्टिफिकेट के Web Hosting प्रकार चुनें।
उपलब्ध सर्टिफिकेट्स की सूची में एक नया सेल्फ-साइन्ड सर्टिफिकेट दिखाई देगा। यह सर्टिफिकेट 1 वर्ष में समाप्त हो जाएगा।
SSL सपोर्ट के साथ FTP साइट कैसे बनाएं
फिर आपको एक FTP साइट बनानी होगी। IIS Manager कंसोल में, Sites पर राइट-क्लिक करें और एक नई FTP साइट बनाएं (Add FTP)।
इसका नाम और FTP साइट के रूट डायरेक्टरी का पथ निर्दिष्ट करें (हमारे मामले में, यह डिफ़ॉल्ट पथ C:\inetpub\ftproot है)।
विज़ार्ड की अगली विंडो में, SSL सर्टिफिकेट्स सेक्शन में आपके द्वारा बनाया गया सर्टिफिकेट चुनें।
अब आपको केवल ऑथेंटिकेशन का प्रकार और यूजर एक्सेस परमिशन चुनने हैं।
टिप. यदि प्रत्येक यूजर का अपना FTP रूट फोल्डर होना चाहिए, तो आप मैनुअल How to create an FTP server with user isolation का उपयोग कर सकते हैं।विज़ार्ड विंडो में Finish पर क्लिक करें। डिफ़ॉल्ट रूप से, SSL सुरक्षा अनिवार्य है और मैनेजमेंट कमांड और ट्रांसफर किए गए डेटा दोनों को एन्क्रिप्ट करने के लिए उपयोग की जाती है।
FTPS और फायरवॉल
FTP प्रोटोकॉल का उपयोग करते समय, 2 अलग-अलग TCP कनेक्शन उपयोग किए जाते हैं, एक कमांड ट्रांसफर के लिए और दूसरा डेटा ट्रांसफर के लिए। प्रत्येक डेटा ट्रांसफर चैनल के लिए, एक व्यक्तिगत TCP पोर्ट खोला जाता है, जिसकी संख्या क्लाइंट या सर्वर द्वारा चुनी जाती है। अधिकांश फायरवॉल FTP ट्रैफिक का निरीक्षण करने की अनुमति देते हैं, और इसका विश्लेषण करने के बाद, स्वचालित रूप से आवश्यक पोर्ट्स खोलते हैं। संरक्षित FTPS कनेक्शन का उपयोग करते समय, ट्रांसफर किया गया डेटा एन्क्रिप्टेड होता है और विश्लेषण के अधीन नहीं होता। परिणामस्वरूप, फायरवॉल यह निर्धारित नहीं कर सकता कि डेटा ट्रांसफर के लिए कौन सा पोर्ट खोला जाना चाहिए।
FTPS सर्वर के लिए बाहर से TCP पोर्ट्स 1024-65535 की पूरी रेंज न खोलने के लिए, आप FTP सर्वर के लिए उपयोग किए जाने वाले एड्रेस की रेंज निर्दिष्ट कर सकते हैं। रेंज IIS साइट सेटिंग्स में FTP Firewall Support सेक्शन में निर्दिष्ट की जाती है।
पोर्ट्स की रेंज बदलने के बाद, सर्विस रीस्टार्ट करें (iisreset)।
Windows Firewall में इनकमिंग ट्रैफिक के लिए निम्न नियम जिम्मेदार हैं:
- FTP Server (FTP Traffic-In)
- FTP Server Passive (FTP Passive Traffic-In)
- FTP Server Secure (FTP SSL Traffic-In)
इसलिए, आपको फ्रंट फायरवॉल पर पोर्ट्स 21, 990 और 50000-50100 (आपके द्वारा चुनी गई पोर्ट्स की रेंज) खोलने होंगे।
FTP over SSL कनेक्शन कैसे टेस्ट करें
FTPS कनेक्शन का टेस्ट करने के लिए, आइए Filezilla का उपयोग करें।
- FileZilla शुरू करें (या FTPS का समर्थन करने वाला कोई अन्य क्लाइंट)।
- File > Site Manager पर क्लिक करें, और एक नया कनेक्शन बनाएं (New Site)।
- FTPS सर्वर एड्रेस (Host), प्रोटोकॉल प्रकार (Require explicit FTP over TLS), यूजर नाम (User) और ऑथेंटिकेशन के लिए पासवर्ड दर्ज करने की आवश्यकता (Ask for password) निर्दिष्ट करें।
- Connect पर क्लिक करें और अपना पासवर्ड दर्ज करें।
- अविश्वसनीय सर्टिफिकेट की चेतावनी दिखाई देगी (सेल्फ-साइन्ड सर्टिफिकेट के मामले में)। कनेक्शन की पुष्टि करें।
- कनेक्शन स्थापित होना चाहिए, और लॉग में निम्न एंट्रीज दिखाई देंगी:
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established. - इसका मतलब है कि सुरक्षित कनेक्शन स्थापित हो गया है और आप FTPS प्रोटोकॉल का उपयोग करके फाइलें ट्रांसफर कर सकते हैं।