পিএইচপিএমআইএডমিন লগইন সুরক্ষিত করতে কীভাবে এইচটিটিপিএস (এসএসএল শংসাপত্র) সেটআপ করবেন


এই টিপটি পরিচয় করিয়ে দেওয়ার জন্য, একটি ক্লায়েন্ট মেশিন এবং ডেবিয়ান 8 সার্ভারের মধ্যে এইচটিটিপি ট্রাফিককে ঘ্রাণ দেওয়া যাক যেখানে আমরা আমাদের শেষ নিবন্ধে ডাটাবেস রুট ব্যবহারকারীর শংসাপত্রগুলি ব্যবহার করে লগইন করার জন্য নির্দোষ ভুল করেছি: পরিবর্তন এবং সুরক্ষা ডিফল্ট পিএইচপিএমআইএডমিন লগইন ইউআরএল

আমরা পূর্ববর্তী টিপ হিসাবে উল্লেখ করেছি, আপনি যদি নিজের শংসাপত্রগুলি প্রকাশ করতে না চান তবে এখনও এটি করার চেষ্টা করবেন না। ট্র্যাফিক স্নিগ্ধ করা শুরু করতে, আমরা নিম্নলিখিত কমান্ডটি টাইপ করে এন্টার টিপলাম:

# tcpdump port http -l -A | egrep -i 'pass=|pwd=|log=|login=|user=|username=|pw=|passw=|passwd=|password=|pass:|user:|username:|password:|login:|pass |user ' --line-buffered -B20

নীচের চিত্রটিতে tcpdump এর কাটা আউটপুটে আপনি দেখতে পাচ্ছেন যে প্লেইন টেক্সট ফর্ম্যাটে ব্যবহারকারীর নাম এবং পাসওয়ার্ডটি তারের উপর দিয়ে পাঠানো হয়েছে তা বুঝতে আমাদের বেশি সময় লাগবে না।

দয়া করে নোট করুন যে আমরা মূল পাসওয়ার্ডের একটি অংশ নীল চিহ্ন সহ এটিতে লুকিয়ে রেখেছি:

এটি এড়াতে, আসুন একটি শংসাপত্র সহ লগইন পৃষ্ঠাটি সুরক্ষিত করি। এটি করতে, CentOS ভিত্তিক বিতরণগুলিতে mod_ssl প্যাকেজ ইনস্টল করুন।

# yum install mod_ssl

যদিও আমরা দেবিয়ান/উবুন্টু পাথ এবং নামগুলি ব্যবহার করব, আপনি যদি নীচের কমান্ড এবং পাথগুলিকে সেন্টোস সমতুল্য করে প্রতিস্থাপন করেন তবে একই পদ্ধতিটি সেন্টস এবং আরএইচএল-এর জন্য বৈধ।

কী এবং শংসাপত্র সংরক্ষণ করার জন্য একটি ডিরেক্টরি তৈরি করুন:

# mkdir /etc/apache2/ssl    [On Debian/Ubuntu based systems]
# mkdir /etc/httpd/ssl      [On CentOS based systems]

কী এবং শংসাপত্র তৈরি করুন:

----------- On Debian/Ubuntu based systems ----------- 
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

----------- On CentOS based systems ----------- 
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt
........................+++
.....................................................+++
writing new private key to '/etc/httpd/ssl/apache.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:IN
State or Province Name (full name) []:Maharashtra
Locality Name (eg, city) [Default City]:Mumbai
Organization Name (eg, company) [Default Company Ltd]:TecMint
Organizational Unit Name (eg, section) []:TecMint
Common Name (eg, your name or your server's hostname) []:TecMint
Email Address []:[email 

পরবর্তী, কী এবং শংসাপত্র যাচাই করুন।

# cd /etc/apache2/ssl/   [On Debian/Ubuntu based systems]
# cd /etc/httpd/ssl/     [On CentOS based systems]
# ls -l

total 8
-rw-r--r--. 1 root root 1424 Sep  7 15:19 apache.crt
-rw-r--r--. 1 root root 1704 Sep  7 15:19 apache.key

ডেবিয়ান/উবুন্টুতে, নিশ্চিত হয়ে নিন যে অ্যাপাচি 443 পোর্টে ডিফল্ট সাইটের জন্য শুনছে (/etc/apache2/sites- উপলভ্য/1000-default.conf) এবং ভার্চুয়ালহোস্ট ঘোষণার ভিতরে 3 টি এসএসএল-সম্পর্কিত লাইন যুক্ত করুন:

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key

সেন্টোস ভিত্তিক বিতরণগুলিতে, অ্যাপাচি-কে 443 পোর্টে শোনার জন্য বলুন এবং /etc/httpd/conf/httpd.conf এ শোনার নির্দেশিকাটি অনুসন্ধান করুন এবং তার নীচের উপরের লাইনগুলি যুক্ত করুন।

SSLEngine on
SSLCertificateFile /etc/httpd/ssl/apache.crt
SSLCertificateKeyFile /etc/httpd/ssl/apache.key

পরিবর্তনগুলি সংরক্ষণ করুন, দেবিয়ান/উবুন্টু বিতরণগুলিতে এসএসএল অ্যাপাচি মডিউলটি লোড করুন (সেন্টোজে আপনি পূর্বে মোড_এসএসএল ইনস্টল করার সময় এটি স্বয়ংক্রিয়ভাবে লোড হবে):

# a2enmod ssl

পিএইচপিএমইডমিনকে এসএসএল ব্যবহার করতে বাধ্য করুন, নীচের লাইনটি /etc/phpmyadmin/config.inc.php বা /etc/phpMyAdmin/config.inc.php ফাইলে উপস্থিত রয়েছে তা নিশ্চিত করুন:

$cfg['ForceSSL'] = true;

এবং ওয়েব সার্ভারটি পুনরায় চালু করুন:

# systemctl restart apache2   [On Debian/Ubuntu based systems]
# systemctl restart httpd     [On Debian/Ubuntu based systems]

এরপরে, আপনার ওয়েব ব্রাউজারটি আরম্ভ করুন এবং <কড> https://আমার (পিএইচপিএমআইএডমিন লগইন ইউআরএল কীভাবে পরিবর্তন করবেন তা শিখুন) টাইপ করুন।

গুরুত্বপূর্ণ: দয়া করে নোট করুন যে এটি কেবল বলছে যে সংযোগটি নিরাপদ নয় কারণ আমরা স্ব-স্বাক্ষরিত শংসাপত্রটি ব্যবহার করছি। উন্নত ক্লিক করুন এবং সুরক্ষা ব্যতিক্রম নিশ্চিত করুন:

সুরক্ষা ব্যতিক্রম নিশ্চিত করার পরে এবং লগ ইন করার আগে আসুন এইচটিটিপি এবং এইচটিটিপিএস ট্র্যাফিক স্নিগ্ধ করা শুরু করুন:

# tcpdump port http or port https -l -A | egrep -i 'pass=|pwd=|log=|login=|user=|username=|pw=|passw=|passwd=|password=|pass:|user:|username:|password:|login:|pass |user ' --line-buffered -B20

তারপরে আগের মতো একই শংসাপত্র ব্যবহার করে লগইন করুন। ট্র্যাফিক স্নিফার কেবলমাত্র বেপরোয়াভাবে ক্যাপচার করবে:

এটি এই মুহূর্তে, পরবর্তী নিবন্ধে আমরা আপনাকে পিএইচপিএমওয়াই অ্যাডমিন ব্যবহারকারীর নাম/পাসওয়ার্ড দিয়ে সীমাবদ্ধ রাখতে ভাগ করব, ততক্ষণ পর্যন্ত টেকমিন্টে থাকি না।