FTP-এর একটি প্রধান নachte প্রোটেকশন এবং ট্রান্সফার হওয়া ডেটা এনক্রিপশনের অভাব। FTP সার্ভারের সাথে কানেক্ট করার সময় ইউজারনেম এবং পাসওয়ার্ডও ক্লিয়ার টেক্সটে পাঠায়। ডেটা ট্রান্সফারের জন্য (বিশেষ করে পাবলিক কমিউনিকেশন চ্যানেল ব্যবহার করে) FTPS বা SFTP এর মতো আরও সুরক্ষিত প্রোটোকোল ব্যবহার করা সুপারিশ করা হয়। চলুন দেখি উইন্ডোজ সার্ভার ২০১২ R2-এ FTPS সার্ভার কীভাবে কনফিগার করবেন।
FTPS প্রোটোকল (FTP over SSL/TLS, FTP+SSL) স্ট্যান্ডার্ড FTP প্রোটোকোলের এক্সটেনশন, কিন্তু ক্লায়েন্ট এবং সার্ভারের মধ্যে কানেকশন SSL/TLS ব্যবহার করে প্রোটেক্টেড (এনক্রিপ্টেড) থাকে। সাধারণত একই ২১ পোর্ট কানেকশনের জন্য ব্যবহৃত হয়।
নোট। FTPS এবং SFTP (Secure FTP বা SSH FTP) একসাথে গুলিয়ে নেওয়া উচিত নয়। SFTP SSH প্রোটোকোলের এক্সটেনশন যার FTP-এর সাথে কোনো সম্পর্ক নেই।
FTP over SSL সাপোর্ট IIS 7.0 (উইন্ডোজ সার্ভার ২০০৮) থেকেই আছে। FTPS সার্ভার চালানোর জন্য আপনার IIS সার্ভারে SSL সার্টিফিকেট ইনস্টল করতে হবে।
FTP সার্ভার রোল ইনস্টলেশন
উইন্ডোজ সার্ভার ২০১২-এ FTP সার্ভার রোল ইনস্টলেশন কোনো সমস্যা সৃষ্টি করে না এবং এটি ইতিমধ্যে বর্ণনা করা হয়েছে।
IIS-এ SSL সার্টিফিকেট জেনারেট ও ইনস্টল করা
IIS Manager কনসোল খুলুন, সার্ভার সিলেক্ট করুন এবং Server Certificates সেকশনে যান।
এখান থেকে আপনি সার্টিফিকেট ইম্পোর্ট করতে পারেন, সার্টিফিকেট রিকোয়েস্ট তৈরি করতে পারেন, সার্টিফিকেট আপডেট করতে পারেন বা সেলফ-सাইনড সার্টিফিকেট তৈরি করতে পারেন। ডেমো লক্ষ্যে সেলফ-सাইনড সার্টিফিকেট তৈরি করব (New-SelfSignedCertificate ক্মডলেট দিয়েও তৈরি করা যায়)। সার্ভিস এক্সেস করার সময় সার্টিফিকেট আনট্রাস্টেড CA কর্তৃক ইস্যুড হওয়ার ওয়ার্নিং আসবে। এই ওয়ার্নিং এই সার্টিফিকেটের জন্য ডিজেবল করতে GPO ব্যবহার করে এটি ট্রাস্টেড সার্টিফিকেটের লিস্টে যোগ করুন।
Create Self-Signed Certificate সিলেক্ট করুন।
Create Certificate উইজার্ডে এর নাম নির্দিষ্ট করুন এবং সার্টিফিকেট টাইপ হিসেবে Web Hosting সিলেক্ট করুন।
উপলব্ধ সার্টিফিকেটের তালিকায় একটি নতুন সেলফ-सাইনড সার্টিফিকেট যোগ হবে। এই সার্টিফিকেট ১ বছর পর এক্সপায়ার হবে।
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 প্রোটোকলে ২টি আলাদা TCP কানেকশন ব্যবহৃত হয়, একটি কমান্ড ট্রান্সফারের জন্য আরেকটি ডেটা ট্রান্সফারের জন্য। প্রতিটি ডেটা ট্রান্সফার চ্যানেলের জন্য একটি আলাদা TCP পোর্ট খুলা হয়, যার নম্বর ক্লায়েন্ট বা সার্ভার বেছে নেয়। অধিকাংশ ফায়ারওয়াল FTP ট্রাফিক ইন্সপেক্ট করতে পারে এবং এনালাইসিস করার পর অটোমেটিক্যালি প্রয়োজনীয় পোর্টগুলো খুলে দেয়। প্রোটেক্টেড FTPS কানেকশন ব্যবহার করার সময় ট্রান্সফার হওয়া ডেটা এনক্রিপ্টেড থাকে এবং অ্যানালাইসিসের বাইরে। ফলে ফায়ারওয়াল বুঝতে পারে না কোন পোর্ট ডেটা ট্রান্সফারের জন্য খুলতে হবে।
FTPS সার্ভারের জন্য পুরো TCP পোর্ট রেঞ্জ 1024-65535 বাহিরে থেকে খুলা না রাখতে, আপনি FTP সার্ভারের জন্য ব্যবহৃত অ্যাড্রেস রেঞ্জ নির্দিষ্ট করতে পারেন। রেঞ্জটি IIS সাইট সেটিংসে FTP Firewall Support সেকশনে নির্দিষ্ট করা হয়।
পোর্ট রেঞ্জ পরিবর্তন করার পর সার্ভিস রিস্টার্ট করুন (iisreset)।
উইন্ডোজ ফায়ারওয়ালে ইনকামিং ট্রাফিকের জন্য নিচের 룰গুলো দায়িত্বশীল:
- FTP Server (FTP Traffic-In)
- FTP Server Passive (FTP Passive Traffic-In)
- FTP Server Secure (FTP SSL Traffic-In)
তাই ফ্রন্ট ফায়ারওয়ালে পোর্ট ২১, ৯৯০ এবং ৫০০০০-৫০১০০ (আপনি যে পোর্ট রেঞ্জ সিলেক্ট করবেন) খুলতে হবে।
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 প্রোটোকোল ব্যবহার করে ফাইল ট্রান্সফার করতে পারবেন।