আরএইচসিই সিরিজ: অ্যাপাচে - পার্ট 8 এর জন্য নেটওয়ার্ক সুরক্ষা পরিষেবা (এনএসএস) ব্যবহার করে টিএলএসের মাধ্যমে এইচটিটিপিএস প্রয়োগ করছে


আপনি যদি কোনও সিস্টেম প্রশাসক হন যিনি কোনও ওয়েব সার্ভার রক্ষণাবেক্ষণ এবং সুরক্ষার দায়িত্বে থাকেন তবে আপনার সার্ভারের মাধ্যমে দেওয়া বা চালিত ডেটা যে কোনও সময় সুরক্ষিত রয়েছে তা নিশ্চিত করার জন্য আপনার সর্বোত্তম প্রচেষ্টাকে আপনি ব্যয় করতে পারবেন না।

ওয়েব ক্লায়েন্ট এবং সার্ভারগুলির মধ্যে আরও সুরক্ষিত যোগাযোগের জন্য, এইচটিটিপিএস প্রোটোকলটি এইচটিটিপি এবং এসএসএল (সিকিউর সকেটস স্তর) বা আরও সম্প্রতি, টিএলএস (পরিবহন স্তর সুরক্ষা) এর সংমিশ্রণ হিসাবে জন্মগ্রহণ করেছিল।

কিছু গুরুতর সুরক্ষা লঙ্ঘনের কারণে, এসএসএলকে আরও শক্তিশালী টিএলএসের পক্ষে অবহেলা করা হয়েছে। সেই কারণে, এই নিবন্ধে আমরা কীভাবে আপনার ওয়েব সার্ভার এবং ক্লায়েন্টদের মধ্যে টিএলএস ব্যবহার করে সুরক্ষা রাখতে হবে তা ব্যাখ্যা করব।

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

  1. আরএইচইএল/সেন্টোস

ওপেনএসএসএল এবং ইউটিলিটিগুলির ইনস্টলেশন

প্রথমে, নিশ্চিত হয়ে নিন যে অ্যাপাচি চলমান আছে এবং ফায়ারওয়ালের মাধ্যমে এইচপি এবং https উভয়ই অনুমোদিত আছে:

# systemctl start http
# systemctl enable http
# firewall-cmd --permanent –-add-service=http
# firewall-cmd --permanent –-add-service=https

তারপরে প্রয়োজনীয় প্যাকেজগুলি ইনস্টল করুন:

# yum update && yum install openssl mod_nss crypto-utils

গুরুত্বপূর্ণ: দয়া করে নোট করুন যে আপনি টিএলএস প্রয়োগের জন্য এনএসএস (নেটওয়ার্ক সিকিউরিটি সার্ভিস) এর পরিবর্তে ওপেনএসএসএল লাইব্রেরি ব্যবহার করতে চাইলে আপনি উপরের কমান্ডে মোড_এনএসএলটি পরিবর্তিত করতে পারেন (যা ব্যবহার করা সম্পূর্ণরূপে আপনার উপর ছেড়ে যায়, তবে আমরা এনএসএস ব্যবহার করব) এই নিবন্ধে এটি আরও দৃust়; উদাহরণস্বরূপ, এটি সাম্প্রতিক ক্রিপ্টোগ্রাফি মানকে সমর্থন করে যেমন পিকেসিএস # 11)।

অবশেষে, আপনি মোড_এনএস, বা বিপরীতমুখী ব্যবহার বেছে নিলে মোড_এসএল আনইনস্টল করুন।

# yum remove mod_ssl

এনএসএস কনফিগার (নেটওয়ার্ক সুরক্ষা পরিষেবা)

মোড_এনএস ইনস্টল হওয়ার পরে, এর ডিফল্ট কনফিগারেশন ফাইলটি /etc/httpd/conf.d/nss.conf হিসাবে তৈরি করা হয়। তারপরে আপনার নিশ্চিত হওয়া উচিত যে শুনুন এবং ভার্চুয়ালহোস্টের সমস্ত নির্দেশিকা 443 পোর্ট (এইচটিটিপিএসের জন্য ডিফল্ট পোর্ট) নির্দেশ করে:

Listen 443
VirtualHost _default_:443

তারপরে অ্যাপাচি পুনরায় চালু করুন এবং মোড_এনএসএস মডিউলটি লোড হয়েছে কিনা তা পরীক্ষা করুন:

# apachectl restart
# httpd -M | grep nss

এরপরে, নীচের সম্পাদনাগুলি /etc/httpd/conf.d/nss.conf কনফিগারেশন ফাইলে করা উচিত:

1. এনএসএস ডাটাবেস ডিরেক্টরি নির্দেশ করুন। আপনি ডিফল্ট ডিরেক্টরি ব্যবহার করতে পারেন বা একটি নতুন তৈরি করতে পারেন। এই টিউটোরিয়ালে আমরা ডিফল্ট ব্যবহার করব:

NSSCertificateDatabase /etc/httpd/alias

2. /etc/httpd/nss-db-password.conf- এ ডাটাবেস ডিরেক্টরিতে পাসওয়ার্ড সংরক্ষণ করে প্রতিটি সিস্টেমে ম্যানুয়াল পাসফ্রেজ এন্ট্রি এড়ান:

NSSPassPhraseDialog file:/etc/httpd/nss-db-password.conf

যেখানে /etc/httpd/nss-db-password.conf কেবলমাত্র নীচের লাইনটি উপস্থিত রয়েছে এবং মাইপ্যাসওয়ার্ডটি এমন পাসওয়ার্ড যা আপনি পরে এনএসএস ডাটাবেসের জন্য সেট করবেন:

internal:mypassword

তদতিরিক্ত, এর অনুমতি এবং মালিকানা যথাক্রমে 0640 এবং মূল: অ্যাপাচি সেট করা উচিত:

# chmod 640 /etc/httpd/nss-db-password.conf
# chgrp apache /etc/httpd/nss-db-password.conf

৩. রেড হ্যাট পুডেল এসএসএলভি ৩ এর দুর্বলতার কারণে এখানে টিএসএলএস-এর পূর্ববর্তী সমস্ত টিএসএল এবং টিএলএস-এর সমস্ত সংস্করণ অক্ষম করার পরামর্শ দিয়েছে (আরও তথ্য এখানে)।

নিশ্চিত হয়ে নিন যে এনএসএসপ্রোটোকল নির্দেশের প্রতিটি উদাহরণ নীচে পড়েছে (আপনি যদি অন্য ভার্চুয়াল হোস্টগুলি হোস্ট না করে থাকেন তবে আপনি কেবল একটির সন্ধান করতে পারেন):

NSSProtocol TLSv1.0,TLSv1.1

৪. এটি স্ব-স্বাক্ষরিত শংসাপত্র হওয়ায় অ্যাপাচি পুনরায় চালু করতে অস্বীকার করবে এবং ইস্যুকারীকে বৈধ হিসাবে স্বীকৃতি দেবে না। এই কারণে, এই বিশেষ ক্ষেত্রে আপনাকে যুক্ত করতে হবে:

NSSEnforceValidCerts off

৫. কঠোরভাবে প্রয়োজনীয় না হলেও এনএসএস ডাটাবেসের জন্য একটি পাসওয়ার্ড নির্ধারণ করা গুরুত্বপূর্ণ:

# certutil -W -d /etc/httpd/alias