কম্পিউটার টিউটোরিয়াল

Log4Shell কী এবং লিনাক্স সিস্টেমকে কীভাবে রক্ষা করবেন

Log4Shell (CVE-2021-44228) ভালনারেবিলিটি অনেক সাইবারসিকিউরিটি গবেষক এবং এক্সপার্টস দ্বারা সবসময়ের সবচেয়ে ক্রিটিক্যাল জিরো-ডে ভালনারেবিলিটি বলে বর্ণিত হয়েছে। এটি একটি ব্যাপকভাবে ব্যবহৃত জাভা ইউটিলিটি Log4j-কে প্রভাবিত করে, যা ২০০১ থেকে লগিং এবং ইভেন্ট যোগাযোগের জন্য ব্যবহৃত হচ্ছে - রুটিন সিস্টেম অপারেশন এবং সফটওয়্যার এরর সহ। এখানে আমরা দেখাবো কীভাবে আপনার লিনাক্স সিস্টেমকে এর বিরুদ্ধে রক্ষা করবেন।

Log4Shell ভালনারেবিলিটি কীভাবে কাজ করে?

মৌলিক স্তরে, এই ভালনারেবিলিটি অনुचিত ইনপুট ভ্যালিডেশন কারণ হয়। এটি ঘটে যখন সফটওয়্যার প্রাপ্ত ডেটাকে সঠিকভাবে ভ্যালিডেট করে না, যা সম্ভাব্য ভালনারেবিলিটির দিকে নিয়ে যায়, কারণ ভুল ভ্যালিডেট করা ইনপুট প্রোগ্রামকে তার কাজের বাইরে কাজ করতে বাধ্য করতে পারে।

Log4Shell বিশেষভাবে Log4j-এর সার্ভারে পাঠানো রিকোয়েস্টগুলোর সুযোগ নেয়, LDAP এবং JNDI ব্যবহার করে। এই রিকোয়েস্টগুলোর সুযোগ নিয়ে একজন আক্রমণকারী যেকোনো ভালনারেবল সিস্টেমে কোড এক্সিকিউট করতে পারে, যা একটি দুশ্চিন্তা আক্রমণকারীকে সিস্টেমের সম্পূর্ণ নিয়ন্ত্রণ দিতে পারে এবং র‍্যানসমওয়্যার ইনস্টল বা ডেটা চুরি করার ক্ষমতা দেয়।

Log4Shell কী কীকে প্রভাবিত করে?

যেহেতু জাভা একটি অত্যন্ত জনপ্রিয় প্রোগ্রামিং ভাষা, তাই Log4j ব্যবহার করে লগিং ফাংশনালিটির জন্য লেখা অনেক সফটওয়্যার এই ভালনারেবিলিটির আঘাতের আশ্রয়ী। সবচেয়ে পরিচিত এবং সাধারণত ব্যবহৃত সফটওয়্যারগুলোর মধ্যে Apache এবং Minecraft ভিডিও গেমটি এই ভালনারেবিলিটির আঘাতপ্রাপ্ত।

কোন সফটওয়্যারগুলো আঘাতপ্রাপ্ত তা কীভাবে জানবেন?

Log4Shell, অন্য যেকোনো সাইবারসিকিউরিটি ভালনারেবিলিটির মতো, এতে আঘাতপ্রাপ্ত সফটওয়্যার প্যাচ করে মিটিগেট করা যায়। তবে Log4Shell-এর ক্ষেত্রটি কিছুটা unik, কারণ এটি এমন ব্যাপক পরিসরের সফটওয়্যারকে প্রভাবিত করে, এবং কী আঘাতপ্রাপ্ত আর কী না তা তালিকা রাখা কঠিন।

خوشখবর হলো, দ্য ন্যাশনাল সাইবার সিকিউরিটি সেন্টার অফ দ্য নেদারল্যান্ডস GitHub-এ একটি ব্যাপক তালিকা প্রকাশ করেছে, যাতে বিভিন্ন সংস্থা দ্বারা বিকসিত সফটওয়্যারের নাম রয়েছে, যা জানায় সেগুলো Log4Shell-এরต่อ আঘাতপ্রাপ্ত কিনা।

আপনার Apache সার্ভারকে ভালনারেবিলিটির জন্য স্ক্যান করার পদ্ধতি

যেহেতু এই ভালনারেবিলিটি সাইবারসিকিউরিটি এবং সফটওয়্যার কমিউনিটিকে ব্যাপকভাবে প্রভাবিত করেছে, তাই এডমিনিস্ট্রেটরদের জন্য তাদের সার্ভার স্ক্যান করার টুল থাকা স্বাভাবিক।

একটি такое স্ক্যানার হলো Log4j-RCE-Scanner, যা Apache Log4j-তে রিমোট কমান্ড এক্সিকিউশন ভালনারেবিলিটি একাধিক ঠিকানায় স্ক্যান করতে দেয়।

Log4j-RCE-Scanner ইনস্টল করা

শুরু করার আগে, এর ডিপেন্ডেন্সি httpx এবং curl ইনস্টল করতে হবে।

Curl সহজে Ubuntu এবং Debian-ভিত্তিক সিস্টেমে apt কমান্ড দিয়ে ইনস্টল করা যায়:

sudo apt install curl

Arch Linux-এ pacman কমান্ড দিয়ে একইভাবে:

sudo pacman -Sy curl

CentOS এবং Fedora-এ yum কমান্ড দিয়ে:

sudo yum install curl

httpx ইনস্টল করতে নিচের কমান্ডগুলো ব্যবহার করুন:

git clone https://github.com/projectdiscovery/httpx
cd httpx/cmd/httpx && go build .
sudo mv httpx /usr/local/bin/

সকল প্রয়োজনীয় ডিপেন্ডেন্সি ইনস্টল করার পর, Log4j-RCE-Scanner রিপোজিটরি ক্লোন করুন:

git clone https://github.com/adilsoybali/Log4j-RCE-Scanner

নবিন তৈরি ডিরেক্টরিতে যান:

cd Log4j-RCE-Scanner/

শেষে, Bash স্ক্রিপ্টের জন্য প্রয়োজনীয় এক্সিকিউটেবল পারমিশন দিন:

chmod +x log4j-rce-scanner.sh

Log4j-RCE-Scanner ব্যবহার করা

স্ক্যানার ইনস্টল হলে, আপনি এখন আসলে এটি ব্যবহার করতে পারেন।

স্ক্রিপ্টের হেল্প সেকশন পড়তে টাইপ করুন:

bash log4j-rce-scanner.sh -h

এখন, আপনার Apache সার্ভারকে Log4Shell ভালনারেবিলিটির জন্য স্ক্যান করুন।

bash log4j-rce-scanner.sh -d [domain] -b [Burp collaborator]

আপনি -d এবং -b ফ্ল্যাগ ব্যবহার করে আপনার ডোমেইন এবং Burp Collaborator নির্দিষ্ট করতে পারেন। আপনার ডোমেইন ভালনারেবল হলে, DNS কলব্যাকস ভালনারেবল ডোমেইন নামের সাথে Burp Collaborator-এ পাঠানো হবে।

বিকল্পভাবে, -l ফ্ল্যাগও ডোমেইনগুলোর তালিকা নির্দিষ্ট করতে ব্যবহার করা যায়।

পাইথন-ভিত্তিক স্ক্যানার ইনস্টল ও ব্যবহার করা

আপনি যদি পাইথন স্ক্রিপ্ট ব্যবহার করতে পছন্দ করেন, তবে আপনি log4-scanner ব্যবহার করতে পারেন, যা যুক্তরাষ্ট্রের সাইবারসিকিউরিটি অ্যান্ড ইনফ্রাস্ট্রাকচার সিকিউরিটি এজেন্সি দ্বারা ডেভেলপ করা।

ইনস্টল করতে:

git clone https://github.com/cisagov/log4j-scanner/

ডিরেক্টরিতে যান:

cd log4j-scanner/log4-scanner/

আপনি পাইথন-ভিত্তিক pip3 কমান্ড দিয়ে প্রয়োজনীয় ডিপেন্ডেন্সি ইনস্টল করতে পারেন:

pip3 install -r requirements.txt

স্ক্রিপ্টদ্বারা প্রদত্ত "হেল্প" দেখতে -h ফ্ল্যাগ ব্যবহার করুন:

python3 log4j-scan.py -h

একক URL স্ক্যান করা সহজ এবং -u ফ্ল্যাগ দিয়ে করা যায়:

python3 log4j-scan.py -u example.com

আপনি -l ফ্ল্যাগ ব্যবহার করে URL-এর তালিকাও স্ক্যান করতে পারেন:

python3 log4j-scan.py -l list.txt

Apache প্যাচ করার পদ্ধতি

এই ভালনারেবিলিটির মোকাবিলায়, আপনার Apache কনফিগারেশন আপ-টু-ডেট রাখা অত্যন্ত গুরুত্বপূর্ণ।

Apache-এর ভার্সন চেক করা অনেকভাবে করা যায়: আপনার এডমিনিস্ট্রেশন প্যানেল থেকে (যেমন CPanel, WebHost Manager) অথবা httpd কমান্ড -v ফ্ল্যাগ দিয়ে চালিয়ে:

httpd -v

Apache কে সর্বশেষ, সবচেয়ে সুরক্ষিত ভার্সনে আপডেট করা যায় Debian এবং Ubuntu সিস্টেমে apt কমান্ড দিয়ে:

sudo apt update && sudo apt upgrade apache2

CentOS-এ yum কমান্ড দিয়ে একই ফলাফল পাওয়া যায়:

sudo yum install httpd

প্রশ্নোত্তর

১. Log4j-এর কোন ভার্সনগুলো ভালনারেবিলিটির আঘাতপ্রাপ্ত?

২.১৭.১ ভার্সনের নিচের ভার্সনগুলো এক্সপ্লয়েটের আঘাতপ্রাপ্ত। ভার্সন ২.১৫.০ সবচেয়ে সহজে এক্সপ্লয়েটযোগ্য উপাদানগুলো ফিক্স করেছিল, ২.১৭.১ একটি কঠিন এক্সপ্লয়েটযোগ্য রিমোট কোড এক্সিকিউশন ভালনারেবিলিটি ফিক্স করেছে।

২. Burp Collaborator ইউটিলিটি কি DNS কলব্যাকস পেতে ভালনারেবল ডোমেইন নামের সাথে প্রয়োজন?

Bash-ভিত্তিক স্ক্যানারের ডেভেলপারের মতে, Burp Collaborator স্ক্রিপ্টের পাশাপাশি ব্যবহার করা হয় DNS কলব্যাকস পেতে ভালনারেবল ডোমেইন নামের সাথে। বিকল্পভাবে, একটি Interact.sh ঠিকানা ব্যবহার করা যায়।

৩. Bash-ভিত্তিক স্ক্যানার ব্যবহার করার জন্য অন্য ডিপেন্ডেন্সি লাগে কি?

বেসিক ব্যবহারের জন্য, আপনার সিস্টেমে শুধু httpx এবং Curl ইনস্টল থাকলে চলে। তবে কিছু ফাংশনালিটি আনলক করতে হলে Subfinder, Assetfinder, এবং Amassও ইনস্টল থাকতে হবে।


  1. Alexa Guard কী এবং এটি কীভাবে আপনার বাড়ি রক্ষা করতে পারে?

  2. র‍্যানসমওয়্যার কী, কেন খतरনাক এবং কীভাবে নিজেকে রক্ষা করবেন

  3. আপনার কোম্পানির ডেটা রক্ষা করুন: চুরি ও অপব্যবহার রোধের প্রমাণিত কৌশল

  4. ম্যালওয়্যার থেকে পিসি রক্ষা: বিশেষজ্ঞের টিপস ও সিস্টেম সিকিউরিটি