
প্রকাশিত: ২৪ ডিসেম্বর, ২০২২, ৪:০০ PM EST
আজীফা একজন Security Operations Engineer দিনে এবং Technical Content Writer রাতে। তিনি লিনাক্স এক্সপ্লোর করতে এবং সেটি নিয়ে টিউটোরিয়াল লিখতে ভালোবাসেন। তার পাশাপাশি, তিনি একজন মুভি হোলিক এবং ভালো ফটোগ্রাফিও প্রশংসা করেন।
File Transfer Protocol (FTP) একটি জনপ্রিয় লাইটওয়েট প্রোটোকল যা নেটওয়ার্কের ওপর ফাইল ট্রান্সফারের জন্য ব্যবহৃত হয়। যদিও এটি ডেটা ট্রান্সমিশনের জন্য একটি দক্ষ মেকানিজম, তবুও এর একটি ড্রব্যাক রয়েছে: ডেটা প্লেইন টেক্সটে ট্রান্সমিট এবং রিসিভ হয়। এর মানে ডেটা ট্রান্সফার আনক্রিপ্টেড, এবং এটি কমপ্রোমাইজ হয়তে পারে।
ProFTPD-এর মতো আধুনিক FTP সার্ভার SSL/TLS-এর জন্য সাপোর্ট দেয়। এটি দুটি সিস্টেমের মাঝে ফাইল ট্রান্সফারকে ন केवल দক্ষ বরং একটি সিকিউরিটি এলিমেন্ট যোগ করে নিরাপদও করে তোলে। চলুন Ubuntu 22.04-এ ProFTPD TLS-সহ ইনস্টল এবং সেট আপ করার পদ্ধতি এক্সপ্লোর করি।
ProFTPD কী?
ProFTPD একটি ওপেন-সোর্স এবং বিশ্বস্ত FTP Server যা আপনাকে আপনার লোকাল মেশিন এবং ওয়েব সার্ভারের মাঝে একটি FTP কানেকশন প্রতিষ্ঠা করতে দেয়। এটি কনফিগার করা সহজ এবং Unix/Linux সার্ভারের সাথে কম্প্যাটিবল।
ProFTPD ইনস্টল করার পূর্বশর্ত
ProFTPD ইনস্টলেশন শুরু করার আগে, আপনাকে নিচের প্রয়োজনীয়তা পূরণ করতে হবে:
- Ubuntu Server 22.04
- সার্ভারে রুট প্রivilেজ
আপনার সিস্টেম এই প্রয়োজনীয়তাগুলো পূরণ করলে, আপনি ProFTPD সার্ভার ইনস্টল করার জন্য প্রস্তুত।
Step 1: Ubuntu আপডেট এবং আপগ্রেড করুন
ProFTPD ইনস্টল করার জন্য, আপনাকে প্রথমে কমান্ড লাইন দিয়ে Ubuntu আপডেট করতে হবে। আপনি নিচের কমান্ড এক্সিকিউট করে এটা অর্জন করতে পারেন:
sudo apt-get update -y
আপডেট কমান্ডটি শুধু সিস্টেম প্যাকেজ লিস্ট আপডেট করে। প্যাকেজগুলো আপগ্রেড করার জন্য, নিচের কমান্ড ইস্যু করুন:
sudo apt-get upgrade -y
আপগ্রেড চেঞ্জগুলো ইফেক্টিভ হওয়ার জন্য, আপনাকে আপনার লিনাক্স সিস্টেম রিবুট করতে হবে এই কমান্ড দিয়ে:
reboot
Step 2: Ubuntu-এ ProFTPD সার্ভার ইনস্টল করুন
এখন ProFTPD ইনস্টল করার সময়। সার্ভার ইনস্টল করতে নিচের কমান্ড রান করুন:
sudo apt install proftpd -y
সার্ভার ইনস্টল হলে, ভেরিফাই করুন সেটি সঠিকভাবে ইনস্টল হয়েছে কিনা। ইনস্টলেশন ভেরিফাই করার একটি উপায় হলো ইনস্টলড সার্ভিসের ভার্সন চেক করা।
sudo proftpd --version
যদি টার্মিনাল একটি ভার্সন নম্বর রিটার্ন করে, তবে এটা মানে ProFTPD ইনস্টলেশন সফল হয়েছে, এবং সার্ভার আপনার সিস্টেমে এখন রয়েছে।
Step 3: ProFTPD সার্ভিস শুরু এবং ইনেবল করুন
আপনি এখন ProFTPD ব্যবহার করতে পারেন। কিন্তু প্রথমে, নিচের কমান্ড রান করে সেটি শুরু করতে হবে:
sudo systemctl start proftpd
একবার হলে, সেটি ইনেবল করার জন্য নিচের কমান্ড রান করুন:
sudo systemctl enable proftpd
সার্ভিস শুরু হলে, ProFTPD-এর স্ট্যাটাস চেক করুন যেন সেটি ঠিকমতো রান করছে। নিচের কমান্ড দিয়ে চেক করুন:
sudo systemctl status proftpd
আপনি দেখতে পাচ্ছেন ProFTPD ডেমন এক্টিভ এবং ঠিকমতো রান করছে।
Linux-এ ProFTPD কনফিগার করা
ProFTPD-এর কনফিগারেশন ফাইল আপনি পাবেন /etc/proftpd ডিরেক্টরিতে। ন্যানো দিয়ে ফাইলটি খুলুন:
sudo nano /etc/proftpd/proftpd.conf
ফাইলে আপনি বিভিন্ন ডিরেক্টিভ পাবেন। Default Root ডিরেক্টিভ বলে FTP Server-কে কোথা থেকে ফাইল সার্ভ করবে।
DefaultRoot /home/Linux/Docs
আপনি Default Root ডিরেক্টিভ ব্যবহার করে একটি ইউজারকে একটি নির্দিষ্ট ডিরেক্টরিতে রেস্ট্রিক্ট করতে পারেন এভাবে:
DefaultRoot /home/linux Tom DefaultRoot / Emma
এই কনফিগারেশনগুলো দিয়ে, Tom লগইন করবে /home/linux-এ। কিন্তু Emma-র পুরো সিস্টেমে এক্সেস থাকবে।
ServerName ডিরেক্টিভ দিয়ে আপনি সার্ভারের একটি নাম সেট করতে পারেন এভাবে:
ServerName "My ProFTPD"
ProFTPD সার্ভারের জন্য ইউজার তৈরি করুন
সিকিউরিটি উদ্দেশ্যে FTP সার্ভারে রেস্ট্রিক্টেড পারমিশনসহ ইউজার থাকা ভালো অভ্যাস। ইউজারদের শুধু তাদের হোম ডিরেক্টরিতে এক্সেস থাকা উচিত যেখানে সে ফাইল ম্যানেজ করতে পারবে ডাউনলোড বা আপলোড করে।
নিচের কমান্ড দিয়ে একটি ProFTPD ইউজার তৈরি করুন। কমান্ডে username-র জায়গায় আসল ইউজারনেম দিন।
sudo useradd -m username
আপনার ইউজারের পাসওয়ার্ড সেট করতে নিচের কমান্ড রান করুন:
sudo passwd username
ProFTPD-এ SSL/TLS কনফিগার করা
FTP কানেকশন সিকিউর করতে, আপনি SSL/TLS ব্যবহার করবেন। এখানে আপনি দেখবেন ProFTPD কীভাবে একটি SSL সার্টিফিকেটের সাথে কনফিগার করতে হয়।
ProFTPD সার্ভারের জন্য একটি সার্টিফিকেট জেনারেট করতে, আপনার সিস্টেমে OpenSSL থাকতে হবে। OpenSSL ইনস্টল করতে এই কমান্ড রান করুন:
sudo apt-get install openssl -y
ProFTPD সার্ভারের জন্য সার্টিফিকেট জেনারেট করুন
OpenSSL সফলভাবে ইনস্টল হলে, আপনি আপনার সার্ভারের জন্য একটি সার্টিফিকেট জেনারেট করতে পারেন:
sudo openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365
উপরের কমান্ড এক্সিকিউট করে, আপনি OpenSSL-কে আপনার ProFTPD সার্ভারের জন্য একটি সার্টিফিকেট এবং একটি প্রাইভেট কী দিতে বলছেন। সার্টিফিকেট ৩৬৫ দিন валиড থাকবে।
কমান্ড ইস্যু করার পর, সিস্টেম আপনাকে সার্টিফিকেটের জন্য ডিটেইলস চাইবে, সাধারণত অর্গানাইজেশন নাম এবং ঠিকানা।
ডিটেইলস এক্সেপ্ট হলে, আপনি একটি সার্টিফিকেট এবং একটি কী পাবেন। এখন দুটি ফাইলের পারমিশন রিড এবং রাইট অনলি করতে এই দুটি কমান্ড ইস্যু করুন:
sudo chmod 600 /etc/ssl/private/proftpd.key sudo chmod 600 /etc/ssl/certs/proftpd.crt
ProFTPD কনফিগারেশন ফাইল খুলুন:
sudo nano /etc/proftpd/proftpd.conf
নিচের লাইনটি লোকেট করুন এবং শুরুতে থাকা Pound ক্যারেক্টার (#) রিমুভ করে আনকমেন্ট করুন:
Include /etc/proftpd/tls.conf
এখন ফাইলটি বন্ধ করে সেভ করুন। এরপর TLS কনফিগারেশন ফাইল খুলুন এই কমান্ড দিয়ে:
sudo nano /etc/proftpd/tls.conf
এখন ফাইলে নিচের স্নিপেটগুলো লোকেট করুন এবং আনকমেন্ট করুন:
<IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23
এবং:
TLSRSACertificateFile /etc/ssl/certs/proftpd.crt TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
এই দুটি লাইনটিও আনকমেন্ট করুন:
TLSOptions AllowClientRenegotiations
এবং:
TLSRequired on
ফাইলটি সেভ এবং বন্ধ করুন। ProFTPD সার্ভিস রিস্টার্ট করুন যেন চেঞ্জগুলো ইফেক্টিভ হয়:
sudo systemctl restart proftpd
Ubuntu-এ ProFTPD আনইনস্টল করার পদ্ধতি
আপনার সিস্টেম থেকে ProFTPD রিমুভ করতে, আপনাকে প্রথমে সার্ভিস বন্ধ করতে হবে।
sudo systemctl stop proftpd
আপনি এখন আপনার মেশিন থেকে ProFTPD রিমুভ করতে পারেন নিচের লিনাক্স কমান্ডগুলো দিয়ে:
sudo apt-get autoremove proftpd-dev sudo apt-get purge proftpd-basic
এই কমান্ডগুলো আপনার সিস্টেম থেকে ProFTPD সম্পূর্ণরূপে রিমুভ করবে।
TLS-কনফিগারড FTP সার্ভারের সাথে নিরাপদে ফাইল ট্রান্সফার করুন
ProFTPD শুধু সিকিউরিটি দেয় না, বরং ডেটা এক্সচেঞ্জ ফাস্ট এবং এফিশিয়েন্টও নিশ্চিত করে। ProFTPD-এর সেরা দিক হলো এটি ইউজারদের অনেক কনফিগারেশন অপশন দেয়।
যদিও FTP ফাইল ট্রান্সফারের একটি বিশ্বস্ত উপায়, একই উদ্দেশ্যে আপনি অন্যান্য মেথডও ব্যবহার করতে পারেন। আপনার সিস্টেমের জন্য সঠিক টেকনোলজি বেছে নিন যাতে আপনার জন্য জিনিসগুলো সহজ হয়।