ড্রুপাল খুব সিকিউর বলে বিবেচিত হয় এবং এটিই এর জনপ্রিয়তার কারণ। ড্রুপাল একটি ওপেন-সোর্স CMS এবং রোবাস্ট হিসেবে পরিচিত। ওপেন-সোর্স হলে এর সোর্স কোড পাবলিকলি ভিজিবল। এটি বাগ বাউন্টি হান্টারদের জন্য একটি সোনার খনি। ড্রুপাল সাম্প্রতিক কয়েক ماهে বিখ্যাত "ফার্মা হ্যাক" থেকে "কিটি ক্রিপ্টো মাইনিং ম্যালওয়্যার" পর্যন্ত ভোগেছে। আরেকটি বৃদ্ধিমান ইনফেকশন হলো "ড্রুপাল হ্যাক রিডাইরেক্ট" যা আপনার ওয়েবসাইটের ভিজিটরদের স্প্যামি ওয়েব পেজে রিডাইরেক্ট করে।
ড্রুপাল রিডাইরেক্ট হ্যাক আক্রমণকারী আপনার ওয়েবসাইটে ভালনারেবিলিটি এক্সপ্লয়েট করে সাইট কন্টেন্ট মডিফাই করে ম্যালওয়্যার ইনস্টল করার পর ঘটে। ফলে, আপনার ওয়েবসাইটের ভিজিটররা স্প্যামি এবং প্রশ্নবিদ্ধ লিংকে রিডাইরেক্ট হয়। ওয়েবসাইট ওনাররা শিকায়ত করেছেন যে এই ম্যালওয়্যার ব্যবহারকারীদের ফিশিং এবং অ্যাডাল্ট পেজে রিডাইরেক্ট করছে যা ভিয়াগ্রা বা পর্ন বিক্রি করে।
ড্রুপাল হ্যাক রিডাইরেক্ট সমস্যা কেমন দেখায়?
এই রিডাইরেকশন ইনফেকশনের একাধিক টাইপ আছে:
- ওয়েবসাইট ভিজিটররা হোমপেজ ভিজিট করার সাথে সাথে স্প্যামি পেজে রিডাইরেক্ট হয়
- যখনই কোনো বাটন/লিংক ক্লিক করা হয়, পেজ নকল ফার্মেসি পেজে রিডাইরেক্ট হয় যা ভিয়াগ্রা, সিয়ালিস বিক্রি করে
দ্বিতীয় ভেরিয়েন্টে আপনার ড্রুপাল সাইট ইনফেক্টেড কিনা দেখতে আপনি একটি গুগল דорк ব্যবহার করতে পারেন। নিচের গুগল ডорк আমাদের একটি ইণ্ট্রো দেয় যে আমরা কীতে ডুবব।
site:your-website.com "viagra"
এই ডоркটি ভিয়াগ্রা পেজে রিডাইরেক্ট করা সকল ড্রুপাল ওয়েবসাইট দেখায়। তবে, আপনি 'viagra' শব্দটি 'poker', 'porn', 'loans' ইত্যাদি কীওয়ার্ড দিয়ে রিপ্লেস করে আরও রিডাইরেকশন খুঁজে বের করতে পারেন।
প্রথম ওয়েবসাইট লিংক ক্লিক করলে নিচের এররগুলো দেখায়।
এটি মানে আক্রমণকারী ওয়েবসাইট এক্সপ্লয়েট করেছিল এবং এটি রিডাইরেক্ট করছিল। তবে, অন্যান্য ফ্যাক্টরের কারণে রিডাইরেক্ট এখন কাজ নাও করতে পারে।
ড্রুপাল হ্যাক রিডাইরেক্টের টাইপ (HTTP স্ট্যাটাস কোড):
- 301 রিডাইরেক্ট: এটিকে পার্মানেন্ট রিডাইরেক্টও বলা হয়। গুগল বা অন্য যেকোনো সার্চ ইঞ্জিন এই URL দেখলে বলে যে URL নতুন লোকেশনে শিফ্ট করেছে তাই সকল পুরনো রিলেশন আপডেট করুন। আক্রমণকারীরা এই রিডাইরেক্ট সবচেয়ে বেশি ব্যবহার করতে পারে এর সিম্পলিসিটির কারণে।
- 302 রিডাইরেক্ট: ৩০২ এর ব্যবহার এখন রিডান্ডেন্ট কারণ এটি ৩০৩ দ্বারা রিপ্লেস করা হয়েছে। ৩০৩ রিডাইরেক্ট বলে যে একটি ডকুমেন্ট সাময়িকভাবে উপলব্ধ।
- 303 রিডাইরেক্ট: এটি ৩০২-এর রিফাইনড ভার্সন। ৩০৩ রিডাইরেক্ট একটি সাময়িক পেজ সরবরাহ করে যা ভবিষ্যতে একই অ্যাড্রেসে থাকতে পারে না। এটি ক্রেডিট কার্ড ডেটা ফর্ম, টেম্পোরারি ডিটেইল জেনারেটর ইত্যাদি হতে পারে। এটি আক্রমণকারীর দিক থেকে কম অপেক্ষিত যদি না এটি খুব সোফিস্টিকেটেড আক্রমণ হয়।
- 307 রিডাইরেক্ট: এটি ৩০৩ রিডাইরেক্টের একটি ভেরিয়েন্ট কিছু পার্থক্যের সাথে। আরও ৩০৮ রিডাইরেক্ট আছে যা এক্সপেরিমেন্টাল রিডাইরেক্ট। খুব কম ব্যবহৃত হলেও সম্ভাবনা বাদ দেওয়া যাবে না।
ড্রুপাল ম্যালওয়্যার রিডাইরেক্টের লক্ষণ:
- অস্বাভাবিকভাবে উচ্চ ওয়েবসাইট ট্রাফিক
- আপনার ড্রুপাল সাইটে অজানা ফাইল যোগ হয়েছে
- অ্যাডমিন অধিকারসহ নতুন ইউজার তৈরি হয়েছে
- ওয়েবসাইট হোমপেজের লিংক ক্লিক করলে স্প্যামে রিডাইরেক্ট
- ওয়েবসাইটে ম্যালিশিয়াস বিজ্ঞাপন বা পর্ন পপ আপ
- নতুন অজানা নোড, ফাইল ইত্যাদি দেখতে পাওয়া যেতে পারে
- সার্চ ইঞ্জিন স্প্যাম কন্টেন্ট দেখাতে পারে
- গুগল, বিং ইত্যাদি সার্চ ইঞ্জিন দ্বারা সিকিউরিটি ওয়ার্নিং বা ব্ল্যাকলিস্টিং
ড্রুপাল হ্যাক রিডাইরেক্ট সমস্যার কারণ:
ড্রুপাল হ্যাক রিডাইরেক্টের কারণ খুব ডাইভার্স এবং এক আর্টিকেলে সমেটা যায় না। তবে, আমরা সংক্ষেপে প্রধান কারণগুলো দেখতে পারি:
DNS রিডাইরেক্ট
DNS রিডাইরেক্ট ঘটে যখন কেউ আপনার DNS সার্ভারের এন্ট্রি মডিফাই করে। তখন কেউ আপনার ওয়েবসাইট চাইলে, DNS সার্ভার ইউজারকে সেই এন্ট্রিতে পাঠায়। হিউরিস্টিক টেস্ট হিসেবে, আপনি DNS লুকআপ করতে পারেন। উইন্ডোজের ডিফল্ট টুল traceroute। কমান্ড লাইন tracert www.your-site.com দিয়ে অ্যাক্সেস করা যায়। একইভাবে, লিনাক্স ইউজাররা host www.your-site.com ব্যবহার করতে পারেন। যদি DNS লুকআপ ভুল IP অ্যাড্রেস রিটার্ন করে, তবে আপনার সমস্যা DNS-এ, আপনার ওয়েবসাইটে না। আরও অ্যাডভান্সড ইউজাররা রোগ DNS সার্ভার এন্ট্রি চেক করতে পারেন।
ফাইল টেম্পারিং
আক্রমণকারী .htaccess এবং index.php ফাইলগুলো টেম্পার করতে পারেন। সেগুলোর ভিতরে ম্যালিশিয়াস কোড খুঁজে বের করুন। কোডটি নিচের ফরম্যাটে হতে পারে:
data:text/html,<html><meta http-equiv="refresh" content="0; url=https://malicious_site.com/process/route/1673246826.html?refresh=non-ie&bl=0"></html>
এখানে, এই কোডটি ওয়েবসাইটকে https://malicious_site.com ডোমেইনে রিডাইরেক্ট করছে।
কোর ইন্টিগ্রিটি
এই সকল ফাইল ভালোভাবে ম্যানুয়ালি চেক করা সম্ভব নয়। তাই ইনস্টলড ফাইলগুলোর কোর ইন্টিগ্রিটি ভ্যালু চেক করা প্রथम ধাপ। শুরু করুন:
mkdir drupal-8.3.5
cd drupal-8.3.5
wget https://github.com/drupal/core/archive/8.3.5.tar.gz
tar -zxvf core-8.3.5.tar.gz
এই কোডটি Drupal-8.3.5 নামে একটি ডিরেক্টরি তৈরি করল এবং সেখানে চেঞ্জ করল। এর তৃতীয় লাইন GitHub রিপোজিটরি থেকে আসল ইনস্টলেশন ফাইল ডাউনলোড করল এবং চতুর্থ লাইন এক্সট্র্যাক্ট করল। এখন তুলনার গুরুত্বপূর্ণ অংশ। diff -r core-8.3.5 ./public_html এই কমান্ড আমাদের ফাইল বনাম আসল ইনস্টলেশনের পরিবর্তনগুলো দেবে। এই ফরম্যাটে সকল ফাইল চেক করুন।
অন্যান্য কারণ
- SQL ইনজেকশন সম্পর্কে প্রথম পাবলিক ডিস্কশন ১৯৯৮ সালে লেখা হয়েছিল। আজও এটি ওয়েবসাইটকে হ কম্প्रोไমজ করার কারণ। SQL ইনজেকশন ঘটার কারণ হলো আনস্যানিটাইজড ইনপুট। কোডিং-এ শুধু একটি সেমিকোলন বাদ দিলেও SQL ইনজেকশন ভালনারেবিলিটি হতে পারে।
- মাছিল মডিউল নাম খুঁজে বের করুন যেমন
modules/system/wxeboa.php। এগুলো আসল ইনস্টলেশনের অংশ নয়। - গুগল ট্রান্সপারেন্সি রিপোর্ট ড্রুপাল হ্যাক রিডাইরেক্টের কারণ হান্ট করার জন্য বড় সাহায্য করতে পারে। এটি আপনার ওয়েবসাইট সম্পর্কে অনেক কিছু বলতে পারে।
- দুর্বল FTP বা ওয়েবসাইট পাসওয়ার্ড ড্রুপাল হ্যাক রিডাইরেক্টের কারণ হতে পারে। আপনি যদি ডিফল্ট কনফিগারেশন ব্যবহার করেন তবে এখনই পরিবর্তন করুন!
ড্রুপাল হ্যাক রিডাইরেক্ট ইস্যুর জন্য ড্যামেজ কন্ট্রোল:
রেফারার আধারিত যাতে স্প্যাম কীওয়ার্ড থাকে
সাইবার সিকিউরিটির আঙ্গুলের নিয়ম হলো আপনি আক্রমণের সম্ভাবনা nooit শূন্য করতে পারেন, শুধু বিলম্বিত করতে পারেন। এই দিক থেকে, আরেকটি চতুর ট্রিক হলো .htaccess ফাইল এডিট করা। ফাইলটি এমনভাবে এডিট করা যায় যাতে ভবিষ্যতে ইনফেকশন হলেও, আপনার ওয়েবসাইট ব্যবহারকারীদের স্প্যাম এক্সেস করার থেকে ব্লক করে। এটি ব্যবহারকারীদের মধ্যে আস্থা বাড়াবে। তাই ইনফেকশন থাকলেও, সার্চ ইঞ্জিন আপনাকে ব্ল্যাকলিস্ট করবে না কারণ আপনি অটোমেটিক্যালি স্প্যাম ব্লক করছেন। এটি আপনাকে কিছু সময় কিনবে এবং আপনার সার্চ র্যাঙ্কিং গরতে বাঁচাবে। এভাবে এটি ড্যামেজ কন্ট্রোল হিসেবে কাজ করে।
<Limit GET>
order allow, deny
allow from all
deny from env = spammer
SetEnvIfNoCase Referer ". * (Poker | credit | money). *" Spammer
</ Limit>
এই কোডটি পোকার, ক্রেডিট, মানি ইত্যাদি লিংকসহ পেজ এক্সেস করার থেকে ইউজারদের ব্লক করে আইডেন্টিফায়ার (HTTP রেফারার) আধারে। যেহেতু আমাদের ওয়েবসাইটে এগুলো নেই, আমরা এই শব্দগুলো ব্লক করে ফেলতে পারি। এটি ওয়াইল্ডকার্ডসহ একটি ফিল্টার হিসেবে কাজ করে।
নিজস্ব আইডেন্টিফায়ার আধারিত
দ্বিতীয় পদ্ধতি হলো নিজস্ব আইডেন্টিফায়ার (HTTP REFERRERS) আধারে অ্যাক্সেস ব্লক করা
Rewrite Engine On
RewriteBase /
# allow referrals from search engines:
RewriteCond% {HTTP_REFERER}!. * xyz \ .com /.*$ [NC]
RewriteCond% {HTTP_REFERER}! ^ Http: // ([^ /] +) google \ .. * $ [NC]
গুগল ফ্রেজটি যাহু, বিং ইত্যাদি সকল সার্চ ইঞ্জিন দিয়ে রিপ্লেস করুন যেগুলো আপনি অ্যালো করতে চান।
# Conditions for don`t wanted referrals
RewriteCond% {HTTP_REFERER} ^. * Loans. * $ [OR]
লোান শব্দটি স্প্যাম শব্দ যেমন ভিয়াগ্রা, পর্ন ইত্যাদি দিয়ে রিপ্লেস করুন যেগুলো আপনি ব্লক করতে চান। তবে, এখানে মনে রাখা জরুরি যে Apache's ModRewrite অন থাকতে হবে এটি কাজ করার জন্য। 더불어, আপনি পাবলিকলি পরিচিত স্প্যামিং IP কিছু রেস্ট্রিক্ট করতে পারেন।
ড্রুপাল ম্যালওয়্যার রিডাইরেক্ট ইনফেক্টেড ওয়েবসাইট ক্লিন করা।
ডাটাবেস ক্লিনআপ:
ইউজার চেক করা
প্রথমে, আমরা SQL ইনজেকশন প্রোব করব। Sqlmap-এর মতো মাছিল টেবিল খুঁজে বের করুন। Sqlmap নামে এই টেবিলটি ওটোমেটেড পেন টেস্ট টুল Sqlmap একটি ওয়েবসাইটের বিপরীতে ব্যবহার করার ফলে জাঙ্ক কোয়ারীর ফলাফল। সকল টেবিল দেখাতে কমান্ড ব্যবহার করুন। show tables ;। আক্রমণকারী নতুন ইউজার এন্ট্রি তৈরি করে অ্যাডমিন প্রিভিলেজ পেয়েছে হতে পারে। সেটি চেক করতে ব্যবহার করুন:
Select * from users as u
AND u.created > UNIX_TIMESTAMP(STR_TO_DATE('Oct 15 2018', '%M %d %Y '));
এখানে, এটি ১৫ অক্টোবর ২০১৮-এর পর তৈরি সকল ইউজার দেখাবে। আপনি আপনার পছন্দের তারিখে এই লাইন টিউন করতে পারেন। রোগ ইউজার বা টেবিল ডিটেক্ট হলে, drop database database-name.dbo; ব্যবহার করে ডিলিট করুন।
ইউজার ব্লক করা
আরো, আপনি ইউজার ব্লক করতে পারেন বা সকল ইউজারের পাসওয়ার্ড চেঞ্জ করতে পারেন। নিচের কমান্ড ব্যবহার করুন:
update users set pass = concat('ZZZ', sha(concat(pass, md5(rand()))));
এই SQL স্টেটমেন্ট ইউজার পাসওয়ার্ড MD5 ফরম্যাটে চেঞ্জ করে। MD5 ফরম্যাট একটি ক্রিপ্টোগ্রাফিক সিকিউরিটি ফাংশন। কখনও প্লেইন টেক্সট ফরম্যাটে পাসওয়ার্ড স্টোর করবেন না। কমপ্রোমাইজড ডাটাবেস থেকে প্লেইন টেক্সট পাসওয়ার্ড এক্সট্র্যাক্ট করা আক্রমণকারীর জন্য খুব সহজ। একটি MD5 ভ্যালু এখনও এক্সট্রা সিকিউরিটি লেয়ার দেয়। যেহেতু admin শব্দটির হ্যাশ হবে 86fb269d190d2c85f6e0468ceca42a20। একমুখী ফাংশন হওয়ায় এটি পিছনে থেকে কম্পিউট করা কঠিন।
ফাইল ক্লিনআপ:
- ইনস্টলেশনকে ব্যাকআপ কপি দিয়ে রোলব্যাক করুন।
- এক্সটার্নাল মডিউল ব্যবহার করে ইনফেকশন স্ক্যান করুন। হ্যাকড মডিউল একটি জনপ্রিয় প্রোডাক্ট।
- রুট ডিরেক্টরি এবং বাইরের সংবেদনশীল ফাইলে অ্যাক্সেস ডিজेबল করুন।
- এরর রিপোর্টিং ডিজেবল করুন সংবেদনশীল ইনফো লিক বন্ধ করতে।
- আপনার ইনস্টলেশন পুরনো হলে আপডেট করুন! আপডেট! আপডেট!
- পূর্বে ব্যবহৃত সকল API কী এবং FTP পাসওয়ার্ড রিসেট করুন। নিশ্চিত করুন আপনি শক্তিশালী পাসওয়ার্ড ব্যবহার করছেন।
- নিচের কমান্ড ব্যবহার করে ক্যাশ ক্লিয়ার করুন:
drush cache-rebuild(Drupal 8) বাdrush cache-clear all(Drupal 7)। - ড্রুপাল রিডাইরেক্ট হ্যাকের বিরুদ্ধে এক্সট্রা সিকিউরিটি লেয়ার হিসেবে কিছু WAF সলিউশন ব্যবহার করুন।
তবে, এখনও অনেক কিছু ভুল হতে পারে এবং ড্রুপাল হ্যাক রিডাইরেক্টের ফলাফল হতে পারে। আপনি যদি এখনও না বুঝতে পারেন, এক্সপার্টের সাথে যোগাযোগ করুন। ম্যানুয়ালি ক্লিন করা খুব ক্লান্তিকর লাগলে, অটোমেটিক টুল ব্যবহার করুন. আপনার CMS-এ আবিষ্কৃত ভালনারেবিলিটি সম্পর্কে ব্লগ, ওয়েবসাইট ইত্যাদি থেকে নিয়মিত আপডেটেড থাকুন।