উবুন্টুতে এসএসএল/টিএলএস ব্যবহার করে একটি সুরক্ষিত এফটিপি সার্ভার স্থাপন করা


এই টিউটোরিয়ালে, আমরা উবুন্টু 16.04/16.10 এ এসএসএল/টিএলএস ব্যবহার করে কীভাবে একটি এফটিপি সার্ভারকে সুরক্ষিত করতে হবে (ভিএসএফটিপিডি "খুব সুরক্ষিত এফটিপি ডিমন" বোঝায়) will

আপনি যদি সেন্টোস ভিত্তিক বিতরণগুলির জন্য কোনও সুরক্ষিত এফটিপি সার্ভার সেটআপ করার সন্ধান করছেন তবে আপনি পড়তে পারেন - সেন্টোজে এসএসএল/টিএলএস ব্যবহার করে একটি এফটিপি সার্ভার সুরক্ষিত করুন

এই গাইডের বিভিন্ন পদক্ষেপ অনুসরণ করার পরে, আমরা নিরাপদ ডেটা স্থানান্তরের জন্য একটি এফটিপি সার্ভারে এনক্রিপশন পরিষেবাদি সক্ষম করার ফান্ডামেন্টালগুলি শিখব।

  1. আপনাকে অবশ্যই উবুন্টুতে একটি এফটিপি সার্ভার ইনস্টল এবং কনফিগার করতে হবে

আমরা আরও সরানোর আগে, নিশ্চিত হয়ে নিন যে এই নিবন্ধের সমস্ত কমান্ডগুলি রুট বা সুডো সুবিধাযুক্ত অ্যাকাউন্ট হিসাবে চালিত হবে।

পদক্ষেপ 1: উবুন্টুতে এফটিপির জন্য এসএসএল/টিএলএস শংসাপত্র তৈরি করা

1. আমরা এসএসএল/টিএলএস শংসাপত্র এবং কী ফাইলগুলি উপস্থিত না থাকলে সংরক্ষণ করার জন্য:/ইত্যাদি/এসএসএল/এর অধীন একটি উপ-ডিরেক্টরি তৈরি করে শুরু করব:

$ sudo mkdir /etc/ssl/private

২. এখন নীচের কমান্ডটি চালিয়ে একটি একক ফাইলে শংসাপত্র এবং কী তৈরি করা যাক।

$ sudo openssl req -x509 -nodes -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem -days 365 -newkey rsa:2048

উপরের কমান্ডটি আপনাকে নীচের প্রশ্নের উত্তর দিতে অনুরোধ করবে, আপনার দৃশ্যের জন্য প্রযোজ্য মানগুলি প্রবেশ করতে ভুলবেন না।

Country Name (2 letter code) [XX]:IN
State or Province Name (full name) []:Lower Parel
Locality Name (eg, city) [Default City]:Mumbai
Organization Name (eg, company) [Default Company Ltd]:TecMint.com
Organizational Unit Name (eg, section) []:Linux and Open Source
Common Name (eg, your name or your server's hostname) []:tecmint
Email Address []:[email 

পদক্ষেপ 2: উবুন্টুতে এসএসএল/টিএলএস ব্যবহার করতে ভিএসএফটিপিডি কনফিগার করা

৩. আমরা কোনও ভিএসএফটিপিডি কনফিগারেশন সম্পাদন করার আগে, যাদের ইউএফডাব্লু ফায়ারওয়াল সক্ষম হয়েছে তাদের জন্য, আপনাকে টিএলএস সংযোগগুলি এবং প্যাসিভ পোর্টগুলির পোর্ট রেঞ্জ যথাক্রমে ভিএসএফটিপিডি কনফিগারেশন ফাইলে সেট করার অনুমতি দিতে পোর্টগুলি খুলতে হবে:

$ sudo ufw allow 990/tcp
$ sudo ufw allow 40000:50000/tcp
$ sudo ufw status

৪. এখন, ভিএসএফটিপিডি কনফিগারেশন ফাইলটি খুলুন এবং এতে এসএসএল বিশদটি সংজ্ঞায়িত করুন:

$ sudo vi /etc/vsftpd/vsftpd.conf
OR
$ sudo nano /etc/vsftpd/vsftpd.conf

তারপরে ssl_enable বিকল্পটি যোগ করুন বা সনাক্ত করুন এবং এসএসএল ব্যবহার সক্রিয় করার জন্য এর মানটি হ্যাঁ সেট করুন, কারণ টিএলএস এসএসএল থেকে বেশি সুরক্ষিত, আমরা এর পরিবর্তে টিএলএস ব্যবহারের জন্য ভিএসএফটিপিডিকে সীমাবদ্ধ করব rict ssl_tlsv1 বিকল্প:

ssl_enable=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

৫. এরপরে নীচে # অক্ষরটি ব্যবহার করে নীচের লাইনগুলি মন্তব্য করুন:

#rsa_cert_file=/etc/ssl/private/ssl-cert-snakeoil.pem
#rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

এরপরে, SSL শংসাপত্র এবং কী ফাইলের অবস্থান নির্ধারণ করতে নীচের লাইনগুলি যুক্ত করুন:

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

Now. এখন, আমাদের বেনামে ব্যবহারকারীদের এসএসএল ব্যবহার করা থেকে বিরত রাখতে হবে, তারপরে সমস্ত অ-বেনামে লগইনগুলিকে ডেটা স্থানান্তর করার জন্য সুরক্ষিত এসএসএল সংযোগ ব্যবহার করতে এবং লগইন করার সময় পাসওয়ার্ডটি প্রেরণে বাধ্য করতে হবে:

allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

Furthermore. তদ্ব্যতীত, আমরা এফটিপি সার্ভারে আরও সুরক্ষা বৈশিষ্ট্য যুক্ত করতে নীচের বিকল্পগুলি ব্যবহার করতে পারি। প্রয়োজনীয়_ssl_reuse = YES বিকল্পের সাহায্যে, সমস্ত এসএসএল ডেটা সংযোগগুলির এসএসএল সেশন পুনরায় ব্যবহার প্রদর্শন করা প্রয়োজন; প্রমাণ করে যে তারা নিয়ন্ত্রণ চ্যানেল হিসাবে একই মাস্টার গোপন জানেন। সুতরাং, আমাদের এটি অক্ষম করা উচিত।

require_ssl_reuse=NO

তদ্ব্যতীত, আমরা সেট করতে পারি যে কোন এসএসএল সিফাররা ssl_ciphers বিকল্পের সাথে এনক্রিপ্ট হওয়া এসএসএল সংযোগের জন্য কোন এসএসএল সিফারগুলিকে অনুমতি দেবে। এটি আক্রমণকারীদের কোনও প্রচেষ্টাকে হতাশ করতে সহায়তা করবে যারা একটি নির্দিষ্ট সাইফারকে জোর করার চেষ্টা করে যা তারা সম্ভবত দুর্বলতাগুলি আবিষ্কার করেছিল:

ssl_ciphers=HIGH

৮. এর পরে, প্যাসিভ পোর্টগুলির পোর্ট ব্যাপ্তি (নূন্যতম এবং সর্বাধিক বন্দর) নির্ধারণ করা যাক।

pasv_min_port=40000
pasv_max_port=50000

৯. এসএসএল ডিবাগিং সক্ষম করতে, ওপেনএসএসএল সংযোগ ডায়াগনস্টিকগুলি ভিএসএফটিপিডি লগ ফাইলে রেকর্ড করা হয়েছে, আমরা ডিবাগ_এসএসএল বিকল্পটি ব্যবহার করতে পারি:

debug_ssl=YES

অবশেষে ফাইলটি সংরক্ষণ করুন এবং এটি বন্ধ করুন। তারপরে ভিএসএফটিপিডি পরিষেবাটি পুনরায় চালু করুন:

$ systemctl restart vsftpd

পদক্ষেপ 3: উবুন্টুতে এসএসএল/টিএলএস সংযোগের সাথে এফটিপি যাচাই করুন

১০. উপরের সমস্ত কনফিগারেশন সম্পাদন করার পরে, পরীক্ষা করুন যে ভিএসএফটিপিডি এখন নীচে হিসাবে কমান্ড লাইন থেকে এফটিপি ব্যবহার করার চেষ্টা করে এসএসএল/টিএলএস সংযোগগুলি ব্যবহার করছে।

নীচের আউটপুট থেকে, একটি ত্রুটি বার্তা রয়েছে যা জানিয়েছে ভিএসএফটিপিডি কেবলমাত্র ব্যবহারকারীদের (অজ্ঞাতনামা) এনক্রিপশন পরিষেবাদি সমর্থন করে এমন সুরক্ষিত ক্লায়েন্টদের লগইন করার অনুমতি দিতে পারে।

$ ftp 192.168.56.10
Connected to 192.168.56.10  (192.168.56.10).
220 Welcome to TecMint.com FTP service.
Name (192.168.56.10:root) : ravi
530 Non-anonymous sessions must use encryption.
Login failed.
421 Service not available, remote server has closed connection
ftp>

কমান্ড লাইনটি এনক্রিপশন পরিষেবাগুলিকে সমর্থন করে না যাতে উপরের ত্রুটির ফলস্বরূপ। অতএব, এনক্রিপশন পরিষেবাদি সক্ষম সহ নিরাপদে কোনও এফটিপি সার্ভারের সাথে সংযোগ স্থাপনের জন্য আমাদের একটি এফটিপি ক্লায়েন্ট প্রয়োজন যা ডিফল্টরূপে এসএসএল/টিএলএস সংযোগগুলিকে সমর্থন করে যেমন ফাইলজিলা।

পদক্ষেপ 4: নিরাপদে এফটিপি সংযোগ করতে ক্লায়েন্টদের ফাইলজিলা ইনস্টল করুন

ফাইলজিলা একটি শক্তিশালী, বহুল ব্যবহৃত ক্রস-প্ল্যাটফর্ম এফটিপি ক্লায়েন্ট যা এসএসএল/টিএলএস এবং আরও অনেক কিছুতে FTP সমর্থন করে। লিনাক্স ক্লায়েন্ট মেশিনে ফাইলজিলা ইনস্টল করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন।

--------- On Debian/Ubuntu ---------
$ sudo apt-get install filezilla   

--------- On CentOS/RHEL/Fedora --------- 
# yum install epel-release filezilla

--------- On Fedora 22+ --------- 
$ sudo dnf install filezilla

12. ইনস্টলেশনটি সম্পূর্ণ হয়ে গেলে, এটি খুলুন এবং নীচে সাইট ম্যানেজারের ইন্টারফেসটি পেতে ফাইল => সাইট ম্যানেজার বা (Ctrl + S টিপুন) এ যান।

১৩. এখন, হোস্ট/সাইটের নাম সংজ্ঞায়িত করুন, আইপি ঠিকানা যুক্ত করুন, নীচের স্ক্রিন শটটির মতো ব্যবহারের জন্য প্রোটোকল, এনক্রিপশন এবং লগনের ধরণের সংজ্ঞা দিন (আপনার দৃশ্যের সাথে প্রযোজ্য মানগুলি ব্যবহার করুন):

নতুন সাইট/হোস্ট সংযোগটি কনফিগার করতে নতুন সাইট বোতামে ক্লিক করুন।

Host:  192.168.56.10
Protocol:  FTP – File Transfer Protocol
Encryption:  Require explicit FTP over   #recommended 
Logon Type: Ask for password	        #recommended 
User: username

14. তারপরে পাসওয়ার্ডটি প্রবেশ করার জন্য উপরের ইন্টারফেস থেকে সংযোগে ক্লিক করুন এবং তারপরে SSL/TLS সংযোগের জন্য ব্যবহৃত শংসাপত্রটি যাচাই করুন এবং এফটিপি সার্ভারের সাথে সংযোগ করতে আরও একবার ওকে ক্লিক করুন:

15. এখন, আপনার উচিত ছিল একটি টিএলএস সংযোগের মাধ্যমে এফটিপি সার্ভারে সফলভাবে লগ ইন করা, নীচের ইন্টারফেস থেকে আরও তথ্যের জন্য সংযোগের স্থিতি বিভাগটি পরীক্ষা করুন।

16. সর্বশেষে, আসুন ফাইল ফোল্ডারে স্থানীয় মেশিন থেকে এফটিপি সেভারে ফাইল স্থানান্তর করা যাক, ফাইল স্থানান্তর সম্পর্কিত প্রতিবেদনগুলি দেখার জন্য ফাইলজিলা ইন্টারফেসের নীচের প্রান্তটি একবার দেখুন।

এখানেই শেষ! সর্বদা মনে রাখবেন যে এনক্রিপশন পরিষেবাদি সক্ষম না করে এফটিপি সার্ভার ইনস্টল করাতে কিছু নির্দিষ্ট সুরক্ষা জড়িত রয়েছে। আমরা যেমন এই টিউটোরিয়ালে ব্যাখ্যা করেছি, আপনি উবুন্টু 16.04/16.10 এ সুরক্ষা প্রয়োগ করতে এসএসএল/টিএলএস সংযোগগুলি ব্যবহার করতে একটি এফটিপি সার্ভারটি কনফিগার করতে পারেন।

যদি আপনি এফটিপি সার্ভারে এসএসএল/টিএলএস স্থাপনে কোনও সমস্যার মুখোমুখি হন তবে এই টিউটোরিয়াল/বিষয় সম্পর্কে আপনার সমস্যা বা চিন্তাভাবনা ভাগ করে নিতে নীচের মন্তব্য ফর্মটি ব্যবহার করুন।