VPS-কে DDoS আক্রমণ থেকে কীভাবে রক্ষা করবেন
একটি ডিস্ট্রিবিউটেড ডিনায়াল-অফ-সার্ভিস (DDoS) আক্রমণ সার্ভার বা এর নেটওয়ার্ক সংযোগে এত বেশি ট্রাফিক পাঠায় যে প্রকৃত ভিজিটররা প্রবেশ করতে পারেন না। কিছু আক্রমণ এতটাই বড় হয় যে সার্ভার নিজে তা সামলাতে পারে না, তাই স্তরে স্তরে সুরক্ষা সবচেয়ে কার্যকর: প্রথমে নেটওয়ার্কের এজে ফিল্টারিং, তারপর VPS-এর ফায়ারওয়াল ও অ্যাপ্লিকেশন সেটিংস। ONIE তার নেটওয়ার্ক এজে DDoS Shield সহ ক্লাউড সার্ভার হো চি মিন সিটিতে অতিরিক্ত খরচ ছাড়াই সুরক্ষা দেয়, এবং আপনি কয়েক মিনিটের মধ্যে DDoS সুরক্ষাসহ একটি VPS ডিপ্লয় করতে পারেন।
আক্রমণের ধরন
- ভলিউমেট্রিক (লেয়ার ৩ ও ৪): নেটওয়ার্ক লিংক ভরিয়ে দেওয়া প্যাকেটের বন্যা, যেমন UDP ফ্লাড।
- প্রোটোকল আক্রমণ: সংযোগ ব্যবস্থাপনার অপব্যবহার, যেমন SYN ফ্লাড যা কানেকশন টেবিল ভরে দেয়।
- অ্যাপ্লিকেশন লেয়ার (লেয়ার ৭): বৈধ দেখতে অনেক HTTP অনুরোধ, যা ওয়েব সার্ভার বা ডেটাবেসকে ক্লান্ত করে ফেলে।
প্রতিটি ধরনের জন্য আলাদা প্রতিরোধ দরকার। ভলিউমেট্রিক ট্রাফিক সার্ভারে পৌঁছানোর আগেই থামাতে হবে; অ্যাপ্লিকেশন ফ্লাড সার্ভারে কমানো যায়।
১. নেটওয়ার্ক এজে ফিল্টার করুন
এজ ফিল্টারিং খারাপ ট্রাফিক আপনার VPS-এ পৌঁছানোর আগেই বাতিল করে দেয়, ফলে লিংক সম্পূর্ণ ভরে যায় না। DDoS Shield-এ ফিল্টারিং XDP/eBPF ব্যবহার করে নেটওয়ার্কের এজে চলে, এবং কনসোলে প্রতিটি IP-এর ট্রাফিক ও আক্রমণের ঘটনা দেখা যায়। যেকোনো প্রদানকারী মূল্যায়ন করার সময় জিজ্ঞাসা করুন কী কী অন্তর্ভুক্ত, ফিল্টারিং কোথায় হয় এবং এর জন্য অতিরিক্ত খরচ লাগে কি না।
২. যা ব্যবহার করেন না তা বন্ধ রাখুন
sudo ufw default deny incoming
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enableডেটাবেস বা অ্যাডমিন প্যানেল ইন্টারনেটে উন্মুক্ত করবেন না। সেগুলোকে 127.0.0.1 বা একটি প্রাইভেট নেটওয়ার্কে বাঁধুন।
৩. SYN ফ্লাডের জন্য কার্নেল টিউন করুন
বেশিরভাগ ডিস্ট্রিবিউশনে SYN cookies ডিফল্টভাবে চালু থাকে। যাচাই করুন:
sysctl net.ipv4.tcp_syncookiesঅন্যান্য কার্নেল পরিবর্তন সীমিত রাখুন এবং পরীক্ষা করে নিন, কারণ ভুল মান স্বাভাবিক ট্রাফিককে ক্ষতিগ্রস্ত করতে পারে।
৪. Nginx-এ অনুরোধের রেট সীমিত করুন
http ব্লকে:
limit_req_zone $binary_remote_addr zone=perip:10m rate=10r/s;
limit_conn_zone $binary_remote_addr zone=connperip:10m;server বা location ব্লকে:
limit_req zone=perip burst=20 nodelay;
limit_conn connperip 20;sudo nginx -t && sudo systemctl reload nginx দিয়ে রিলোড করুন। স্ট্যাটিক ফাইল ক্যাশ থেকে পরিবেশন করুন এবং WordPress-এ ক্যাশিং প্লাগইন ব্যবহার করুন, যাতে প্রতিটি অনুরোধের খরচ কমে। দেখুন Nginx দিয়ে WordPress ইনস্টল করা।
৫. ট্রাফিক মনিটর করুন
ss -s
sudo ss -ntu state established | wc -l
sudo apt install -y nload && nloadসংযোগ বা ব্যান্ডউইডথে হঠাৎ বৃদ্ধি, অথবা কম CPU ব্যবহারেও সার্ভার ধীর হয়ে গেলে আক্রমণ হতে পারে। দ্রুত জানতে অ্যালার্ট সেট করুন।
৬. ঘটনা মোকাবিলার চেকলিস্ট
- কনসোলে নিশ্চিত হোন ট্রাফিকটি আক্রমণ, নাকি প্রকৃত বৃদ্ধি।
- আক্রমণের ঘটনা ও আক্রান্ত IP পরীক্ষা করুন।
- শনাক্ত করা যায় এমন অপব্যবহারকারী সোর্স ঠিকানা বা রেঞ্জ ব্লক করুন।
- কঠোরতর রেট লিমিট বা রক্ষণাবেক্ষণ পেজ চালু করুন।
- সময় ও IP সহ প্রদানকারীর সাপোর্টে যোগাযোগ করুন।
- পরে লগ পর্যালোচনা করুন এবং এই পরিকল্পনা হালনাগাদ করুন। ব্যাকআপ ও স্ন্যাপশট হালনাগাদ রাখুন।
সাধারণ জিজ্ঞাসা
একটি VPS-এর ফায়ারওয়াল কি বড় DDoS থামাতে পারে?
একা পারে না। ট্রাফিক নেটওয়ার্ক লিংক ভরিয়ে দিলে সার্ভার তা ফিল্টার করতে পারে না। সার্ভারের উজানে ফিল্টারিং দরকার।
CDN কি সাহায্য করে?
ওয়েবসাইটের জন্য CDN বা রিভার্স প্রক্সি ওয়েব ট্রাফিক শোষণ করতে পারে, তবে আপনার প্রকৃত সার্ভার IP DNS বা ইমেইল হেডারে প্রকাশ না পেলে।
DDoS সুরক্ষার জন্য কি বিশেষ প্ল্যান লাগে?
এটি প্রদানকারীর উপর নির্ভর করে। আপনার প্ল্যান ও লোকেশনে কী অন্তর্ভুক্ত তা দেখুন।