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

আপনার PHP সাইট কেন হ্যাক হয়: সাধারণ ব্রহ্মান্ডের ও সমাধান

PHP-ভিত্তিক ওয়েবসাইট হ্যাক – PHP ব্রহ্মান্ডের ও ফিক্সিং

PHP আজ প্রায় সব জনপ্রিয় CMS-এর বক্রীভূত। এর সহজতা এবং লাইসেন্স-ফ্রি প্রকৃতির কারণে, PHP ডাইনামিক ওয়েবসাইট ডেভেলপমেন্টের জন্য পছন্দের পছন্দ। যাইহোক, দুর্বল কোডিং স্ট্যান্ডার্ডের কারণে, PHP সাইট কমপ্রোমাইজ করা তুলনামূলকভাবে সহজ হয়ে উঠেছে। ইন্টারনেট কাস্টম PHP ওয়েবসাইট হ্যাক বা PHP ওয়েবসাইট রিডাইরেক্ট হ্যাক নিয়ে সাহায্য চেয়ে ব্যবহারকারীদের থ্রেড দিয়ে পূর্ণ। এর ফলে PHP-র জন্য বড় পরিমাণ নেতিবাচক প্রচার ঘটেছে যা এর জন্য দায়ী নয়।

অতএব, যদি PHP দায়ী নয়, তবে কী কারণ PHP ওয়েবসাইট রিডাইরেক্ট হ্যাকের? এই আর্টিকেলটি একটি PHP ওয়েবসাইটকে কমপ্রোমাইজ করার নিরাপত্তা ত্রুটিগুলো এবং সেগুলো কীভাবে প্রতিরোধ করবেন তা ব্যাখ্যা করবে।

কাস্টম PHP ওয়েবসাইট হ্যাক: উদাহরণ

অधিকাংশ সাইট মালিক শুধু ডেভেলপমেন্ট পার্টে ফোকাস করেন নিরাপত্তা দিকে না। তাই, যখন PHP ব্যবহার করে ডিজাইন করা ওয়েবসাইট হ্যাক হয়, সাইট মালিকরা कहीं যেতে পারেন না কারণ তারা ডেভেলপারদের শুধু ডেভেলপমেন্টের জন্য টাকা দিয়েছিল। কষ্টপ্রাপ্ত ব্যবহারকারী অনলাইন ফোরামে সাহায্য খুঁজতে পাওয়া যায় এবং এই ধরনের আর্টিকেল পড়তে পারে। এখানে কিছু এমন উদাহরণ।

আপনার PHP সাইট কেন হ্যাক হয়: সাধারণ ব্রহ্মান্ডের ও সমাধান আপনার PHP সাইট কেন হ্যাক হয়: সাধারণ ব্রহ্মান্ডের ও সমাধান আপনার PHP সাইট কেন হ্যাক হয়: সাধারণ ব্রহ্মান্ডের ও সমাধান

কাস্টম PHP ওয়েবসাইট হ্যাক: লক্ষণ

  • আপনার PHP সাইটে ফিশিং পেজ প্রদর্শিত হচ্ছে যা ব্যবহারকারীদের সংবেদনশীল ইনফো দিতে ফুসফুসায়।
  • ব্যবহারকারী আপনার সাইটের নির্দিষ্ট লিঙ্কে ক্লিক করলে অন্য ডোমেনে চলে যায়। যা সম্ভবত মিসকনফিগারেশন বা PHP ওয়েবসাইট রিডাইরেক্ট হ্যাকের কারণে।
  • অ্যাডব্লকার আপনার সাইটের নির্দিষ্ট এলিমেন্টকে ক্রিপ্টোকারেন্সি মাইনিংয়ের জন্য লেবেল ও ব্লক করছে।
  • অজানা PHP ফাইল ম্যানেজার সাইটে প্রদর্শিত হচ্ছে এবং PHP সাইট ম্যালিশিয়াস অ্যাডভার্টাইজমেন্ট দেখাচ্ছে।
  • PHP ফাইলগুলো অজানা কোড দ্বারা মডিফাইড হয়েছে যা রিডাইরেক্ট সৃষ্টি করছে বা মাছলি সাইটের জন্য ব্যাকলিঙ্ক তৈরি করছে।
  • কাস্টম PHP ওয়েবসাইটে গিবারিশ কন্টেন্ট প্রদর্শিত হচ্ছে যা সম্ভবত জাপানি কিওয়ার্ড হ্যাক বা ফার্মা হ্যাক ইত্যাদির কারণে।
  • থার্ড-পার্টি হোস্টিং কাস্টম PHP সাইটের জন্য ব্যবহার করার সময় অ্যাকাউন্ট সাসপেনশনের ওয়ার্নিং মেসেজ প্রদর্শিত হচ্ছে।
  • কাস্টম PHP সাইট ম্যালওয়্যার স্প্যাম ইত্যাদির জন্য Google এবং অন্যান্য সার্চ ইঞ্জিন দ্বারা ব্ল্যাকলিস্ট হওয়ার ওয়ার্নিং মেসেজ দেখাচ্ছে।
  • phpMyAdmin কিছু নতুন এবং অজানা ডাটাবেস অ্যাডমিনিস্ট্রেটর দেখাচ্ছে।
  • আপনার PHP ওয়েবসাইটের ডোমেন থেকে পাঠানো ইমেইল স্প্যাম হিসেবে লেবেল করা হয়েছে।
  • সাইটে অপ্রত্যাশিত এরর মেসেজ এবং PHP সাইট স্লো ও অনুপ্রতিক্রিয়াশীল হয়েছে।

কাস্টম PHP ওয়েবসাইট হ্যাক: ১৩টি কারণ কেন

আপনার PHP সাইট কেন হ্যাক হয়: সাধারণ ব্রহ্মান্ডের ও সমাধান

সার্ভার মিস-কনফিগারেশন

১. দুর্বল ফাইল পারমিশন

ফাইল পারমিশন একটি নির্দিষ্ট ধরনের ব্যবহারকারীকে একটি নির্দিষ্ট PHP ফাইল মডিফাই করার সুবিধা দেয়। তাই, যদি PHP ফাইল পারমিশন সঠিকভাবে সেট না করা হয়, তবে এটি আক্রমণকারীদের আপনার PHP ফাইলগুলে ম্যালওয়্যার, স্প্যাম ইত্যাদি ইনজেক্ট করতে দিতে পারে।

২. ডিফল্ট পাসওয়ার্ড

দুর্বল বা সাধারণত ব্যবহৃত পাসওয়ার্ড ব্যবহার করা কাস্টম PHP ওয়েবসাইট হ্যাকের একটি সাধারণ কারণ। একটি কাস্টমাইজড ডিকশনারি ব্যবহার করে পাসওয়ার্ডের সব সম্ভাব্য কম্বিনেশন চেষ্টা করা যায়। একবার কমপ্রোমাইজ হলে, আক্রমণ ভেক্টর অর্থাৎ FTP ব্রুট ফোর্স বা cPanel ব্রুট ফোর্সের উপর নির্ভর করে; আক্রমণকারী কাস্টম PHP সাইটের অ্যাডমিন এলাকা অ্যাক্সেস করতে পারে। আক্রমণকারী তারপর একটি PHP ম্যালওয়্যার বা ব্যাকডোর আপলোড করতে পারে।

সম্পর্কিত আর্টিকেল – ওয়ার্ডপ্রেস ব্যাকডোর কীভাবে সরিয়ে ফেলবেন?

৩. ডিরেক্টরি ইন্ডেক্সিং সক্রিয়

ডিরেক্টরি ইন্ডেক্সিং সক্রিয় থাকলে আক্রমণকারীরা সংবেদনশীল PHP ফাইল পড়তে পারে। এটি আক্রমণকারীদের সার্ভার সংক্রান্ত সংবেদনশীল তথ্য দিয়ে দিতে পারে। আক্রমণকারী এই ইনফো ব্যবহার করে আপনার কাস্টম PHP সাইটে সাইবার আক্রমণ চালাতে পারে।

৪. ওপেন পোর্ট

ওপেন পোর্ট কাস্টম PHP ওয়েবসাইট হ্যাকের কারণ হতে পারে। علاৱে, ওপেন পোর্ট আক্রমণকারীদের আপনার PHP সাইটের ব্যাকএন্ড সার্ভিস ফিঙ্গারপ্রিন্ট করতে ব্যবহার করতে পারে। সেই ইনফো ব্যবহার করে আক্রমণকারী বা ব্যাকএন্ড সার্ভিস কমপ্রোমাইজ করতে পারে বা এক্সপ্লয়েট ব্যবহার করে ওপেন পোর্টগুলে।

৫. খারাপ হোস্টিং

সাধারণত, সস্তা PHP হোস্টিং নিরাপত্তার জন্য ভাড় দামে আসে। খারাপ হোস্টিং নিরাপত্তা অপারেশন কাটিয়ে সার্ভিস সস্তা করে। তাই, একবার এমন সার্ভারে ইনফেকশন ছড়িয়ে পড়লে, এটি আপনার PHP সাইট সহ একাধিক সাইট কমপ্রোমাইজ করতে পারে, যদিও এটি সরাসরি টার্গেট করা হয়নি।

ব্রহ্মান্ডেরযোগ্য PHP কোড

৬. PHP SQL ইনজেকশন

PHP-এ SQL ইনজেকশন প্রাথমিকভাবে অ-স্যানিটাইজড ইউজার ইনপুটের অভাবের কারণে হয়। দুর্বল কোডিং স্ট্যান্ডার্ডের কারণে, অ-স্যানিটাইজড ইনপুট সরাসরি ডাটাবেস সার্ভারে পৌঁছায় এবং এক্সিকিউট হয়। কাস্টম PHP পেজে SQLi-এর কিছু প্রধান কারণ:

  • স্পেস ক্যারেক্টার ফিল্টার করার অভাব।
  • স্ট্রিং ডিলিমিট করার জন্য কোটেশন مار্ক ব্যবহার।
  • অ-স্যানিটাইজড ইউজার ইনপুট ডাটাবেসে পাস করা।
  • ইউনিকোড এনকোডিং এর অপ্রোপার ইমপ্লিমেন্টেশন।
  • কোড এবং ডেটার ইন্টার-মিক্সিং।
  • ইমপার টাইপ হ্যান্ডলিং।

৭. PHP ক্রস-সাইট স্ক্রিপ্টিং

SQL ইনজেকশনের পর XSS কাস্টম PHP সাইট হ্যাকের আরেকটি সাধারণ কারণ। এই দুটি আক্রমণই ওয়েবে এতটুকু প্রাচুর্যে আছে যে তারা প্রতি বছর OWASP টপ ১০-এ জায়গা পায়। XSSও ইউজার ইনপুট স্যানিটাইজেশনের অভাবের কারণে হয়। PHP সাইটে এবং সাধারণত, XSS আক্রমণ মূলত তিন ধরনের:

  • স্টোরড XSS: এই ধরনের XSS ওয়েব অ্যাডমিনকে একটি নির্দিষ্ট লিঙ্কে ক্লিক করতে বাধ্য করে যেটি একটি ম্যালিশিয়াস স্ক্রিপ্ট লোড করে কুকি চুরি করতে।
  • রিফ্লেক্টেড XSS: এটি একটি খুব গম্ভীর XSS এবং সাধারণত ফোরাম, ডিসকাশন ইত্যাদি থাকা PHP সাইটে পাওয়া যায়। এই ধরনের XSS-এ ম্যালিশিয়াস কোড সার্ভারে স্টোর হয় এবং যেকোনো ব্যবহারকারী সেই PHP পেজ ভিজিট করলে এক্সিকিউট হয়।
  • DOM ভিত্তিক XSS: এই ধরনের XSS উপরের দুটির যেকোনো একটি হতে পারে। কিন্তু, এই ধরনের XSS শনাক্ত করা খুব কঠিন এবং কোড অডিটের পরেও পাচার হতে পারে।

XSS-এ ব্রহ্মান্ডেরযোগ্য সাইটগুলো সাধারণত PHP ওয়েবসাইট রিডাইরেক্ট হ্যাক বা অ্যাডমিন কুকি চুরির জন্য টার্গেট করা হয়।

৮. PHP ক্রস-সাইট রিকোয়েস্ট ফরজারি

CSRF আক্রমণগুলো PHP সাইট ব্যবহারকারীদের অবাঞ্ছিত অ্যাকশন انجام দিতে ফুসফুসাতে লক্ষ্যবস্তু। আপনার কাস্টম PHP সাইট যদি সাইনআপ অনুমতি দেয়, তবে একটি CSRF মানুষকে র‍্যান্ডম অ্যাকাউন্ট ডিলিট করতে বা অন্যান্য অ্যাকশন করতে দিতে পারে। যাইহোক, অ্যাকশনের ইমপ্লিকেশন সরাসরি আক্রমণকারীর কাছে দৃশ্যমান নাও হয়, CSRF PHP সাইটের ব্যবহারকারীদের ডিলিট করতে পারে যাতে সাইট ট্রাফিক কমে।

৯. PHP লোকাল ফাইল ইনক্লুژن

ফাইল ইনক্লুژن ব্রহ্মান্ডের ঘটে যখন একজন আক্রমণকারী রুট 'www' ডিরেক্টরির বাইরে ফাইল অ্যাক্সেস করতে পারে। এই ব্রহ্মান্ডেরের প্রধান দায়ী হলো ফাইলনেম প্যারামিটার হিসেবে নেওয়া দুর্বল কোড করা স্ক্রিপ্টগুলো। এই ব্রহ্মান্ডের আক্রমণকারীকে আপনার কাস্টম PHP সাইটের সংবেদনশীল কনফিগারেশন এবং পাসওয়ার্ড ফাইল পড়তে দেয়। এই ফাইলগুলো থেকে প্রাপ্ত ইনফো আক্রমণকারীদের অ্যাডমিন রাইটস দিয়ে লগইন করতে দিতে পারে যার ফলে PHP ওয়েবসাইট হ্যাক হয়।

PHP-এ জিরো-ডে ত্রুটি

১০. বাগি প্লাগইন বা থিম

PHP-এ দুর্বল কোডিং করা প্লাগইন বা থিম ব্রহ্মান্ডের যেগুলো আপনার সার্ভারে বসে আছে শুধু এক্সপ্লয়েট হওয়ার জন্য অপেক্ষা করছে। এমন উদাহরণ রয়েছে যখন আক্রমণকারীরা স্পেসিফিক্যালি বাগি প্লাগইন টার্গেট করে PHP সাইটে Масс আক্রমণ চালিয়েছে। আপনার PHP ওয়েবসাইট হ্যাক হলে, এটি সম্ভবত একটি দুর্বল কোডিং করা প্লাগইন বা থিম।

১১. কমপ্রোমাইজড PHP প্যাকেজ

একটি সম্ভাবনা আছে যে PHP লাইব্রেরি এবং প্যাকেজগুলো ব্রহ্মান্ডেরযোগ্য। অন্য কোনো ভাষার সাথে একই ঘটতে পারে। সম্প্রতি, PHP PEAR প্যাকেজ ম্যানেজার আক্রমণকারীদের দ্বারা কমপ্রোমাইজ করা হয়েছিল। আক্রমণকারীদের মূলটিকে তাদের ইনজেক্ট করা কোড দিয়ে রিপ্লেস করল যেটি অনসস্পেক্টিং ব্যবহারকারীদের দ্বারা ডাউনলোড করা হয়েছিল। এই প্যাকেজটি তারপর তাদের দ্বারা তাদের সাইটে PHP প্রোগ্রামিং ল্যাঙ্গুয়েজে লেখা ফ্রি লাইব্রেরি সার্চ ও ডাউনলোড করতে ব্যবহৃত হয়েছিল। যদিও এমন ঘটনা খুব কম ঘটে, কাস্টম PHP ওয়েবসাইট হ্যাকের কারণে জিরো-ডে ফ্লের সম্ভাবনা সম্পূর্ণরূপে উপেক্ষা করা যায় না।

সোশিয়াল ইঞ্জিনিয়ারিং আক্রমণ

১২. ফিশিং

আপনার কাস্টম PHP সাইটের অ্যাডমিন কি সম্প্রতি নাইজেরিয়ান প্রিন্স থেকে মেইল পেয়েছেন? এই ধরণের আক্রমণগুলো ওয়েব অ্যাডমিনকে ফুসফুসাতে ডিজাইন করা হয় PHP ওয়েবসাইটের সংবেদনশীল ইনফো দিতে যাতে PHP ওয়েবসাইট হ্যাক হয়। তাই, PHP সাইট ডোমেনে ফিশিং ফিল্টার ইমেইল করুন!

১৩. টেইলগেটিং

টেইলগেটিং ফিশিং আক্রমণের একটি অন্য ভারিয়েন্ট। এই আক্রমণে, একজন আক্রমণকারী প্রথমে একটি লো-লেভেল ইউজার অ্যাকাউন্ট কমপ্রোমাইজ করে এবং তারপর সেটি ব্যবহার করে প্রিভিলেজ এস্কেলেট করে। টেইলগেটিং আমাদের গবেষকদের একটি কেস স্টাডিতে দেখা গিয়েছিল এবং ডিটেকশন এড়াতে সাধারণত ব্যবহৃত হয়। টেইলগেটিং-এর পরিণতি ইনফো চুরি থেকে PHP সাইট হ্যাক পর্যন্ত হতে পারে।

কাস্টম PHP ওয়েবসাইট হ্যাক: সাইট সুরক্ষিত করা

আপনার PHP সাইট কেন হ্যাক হয়: সাধারণ ব্রহ্মান্ডের ও সমাধান

সঠিক পারমিশন সেট করুন

PHP-তে ফাইল পারমিশন চেক করার তিনটি ফাংশন রয়েছে:

  1. is_readable(): এই ফাংশন true বুলিয়ান ভ্যালু রিটার্ন করে যদি ইউজারকে একটি PHP ফাইল পড়তে দেওয়া হয়।
  2. is_writable(): এই ফাংশন true বুলিয়ান ভ্যালু রিটার্ন করে যদি ইউজারকে একটি PHP ফাইলে লেখতে দেওয়া হয়।
  3. is_executable(): এই ফাংশন true বুলিয়ান ভ্যালু রিটার্ন করে যদি ইউজারকে একটি PHP ফাইল এক্সিকিউট করতে দেওয়া হয়।

এমনেম, PHP-এর chmod() ফাংশন ব্যবহার করে ফাইল পারমিশন এডিট করা যায়। সহজে, একটি ফাইলের নাম পাস করুন পারমিশন সহ। অর্থাৎ "chmod($RandomFile, 0644);"। নিচের ছবিতে ফাইল পারমিশন এবং তার কাজের সম্পূর্ণ তালিকা দেওয়া আছে। আরো, ফাইল পারমিশনের আগে '0' যুক্ত করতে ভুলবেন না PHP ইন্টারপ্রেটারকে জানাতে যে ইনপুটটি অক্টাল।

আপনার PHP সাইট কেন হ্যাক হয়: সাধারণ ব্রহ্মান্ডের ও সমাধান

একটি সিকিউর পাসওয়ার্ড সেট করুন

নিশ্চিত করুন যে আপনার কাস্টম PHP সাইটের পাসওয়ার্ড একটি সিকিউর পাসওয়ার্ড। এটিকে নম্বর, অ্যালফাবেট এবং সিম্বলের একটি ভালো মিশ্রণ করুন। পাসওয়ার্ড সেট করার আগে রকইউ.ট্যাক্সټ (Rockyou.txt) এর মত জনপ্রিয় পাসওয়ার্ড ডিকশনারি 통해서 চেক করলে ভালো যে আপনি যে পাসওয়ার্ড সেট করছেন সেটি সেখানে নেই। লিনাক্স ব্যবহারকারীদের জন্য, গ্রেপ (Grep) কমান্ড বড় ফাইলগুলে সার্চ করতে হ্যান্ডি হতে পারে। সহজে সার্চ করুন, grep -i ‘*YourNewpass*’ rockyou.txt। নতুন পাসওয়ার্ড বানানোর ঝামেলা এড়াতে অনলাইন টুলও ব্যবহার করা যায় একটি সিকিউর, লং এবং র‍্যান্ডম পাসওয়ার্ড পাওয়ার জন্য।

ডিরেক্টরি ইন্ডেক্সিং ডিজেবল করুন

একটি নির্দিষ্ট ডিরেক্টরিতে ইন্ডেক্সিং ডিজেবল করতে, এর .htaccess ফাইলে নিচের কোডটি অ্যাপেন্ড করুন (যদি .htaccess নেই, একটি তৈরি করুন):

Options -Indexes

সিকিউর হোস্টিং ব্যবহার করুন

সাধারণত হোস্টিং সার্ভিস খুঁজার সময়, নিশ্চিত করুন যে এটি ফায়ারওয়াল বা নিরাপত্তা সমাধান প্রদান করে যেমন Astra Security তার ইন্টিগ্রেটেড হোস্টিং পার্টনারদের সাথে করে। علاৱে, সাবনেটিং নিশ্চিত করুন আপনার সাইটকে একই সার্ভারে চলমান অন্যান্য সাইট থেকে আইসোলেট করতে।

PHP কোড অডিট

একবার কাস্টম PHP সাইট তৈরি হলে, আবার একটা নতুন তৈরি করা অর্থনৈতিকভাবে ফেইজিবল নয়। তাই, কোড অডিটিং হলো আক্রমণকারীদের আগে PHP ওয়েবসাইটের ব্রহ্মান্ডের ধরা পড়ার সেরা উপায়। Astra Security-এর হ্যাকারদের একটি চমৎকার কমিউনিটি রয়েছে আপনার সাইটের নিরাপত্তা অডিট এবং পেনিট্রেশন টেস্ট করতে।

  1. Symfony ওয়েবসাইট কম্প্রোমাইজড: মূল লক্ষণ, মূল কারণ এবং আপনার PHP অ্যাপ্লিকেশন সুরক্ষিত করার উপায়

  2. আপনার PHP সাইট কি কম্প্রোমাইজড? সাধারণ PHP লুকসান যেগুলো আপনাকে অবশ্যই সমাধান করতে হবে

  3. PHP ব্যাকডোর বোঝা: হ্যাকাররা কীভাবে আপনার ওয়েবসাইটকে স্থায়ীভাবে আক্রান্ত করে

  4. আপনার ওয়েবসাইটে PHP রিডাইরেক্ট হ্যাক চিহ্নিত করুন এবং বন্ধ করুন