Next.js এ DDoS ও বট আক্রমণ প্রতিরোধের সম্পূর্ণ গাইড (২০২৫)

Frontendian
ফ্রন্টেন্ডিয়ান
Published on Sep, 07 2025 5 min read 0 comments
image

আধুনিক ওয়েব অ্যাপ্লিকেশনগুলো প্রতিনিয়ত DDoS (Distributed Denial of Service) আক্রমণবিভিন্ন ক্ষতিকর বট দ্বারা হুমকির মুখে থাকে। যদি আপনি একটি Next.js অ্যাপ চালান, তবে সেটিকে ট্রাফিক ফ্লাড থেকে সুরক্ষিত রাখা খুবই জরুরি — নাহলে অ্যাপ ডাউন হয়ে যেতে পারে, পারফরম্যান্স নষ্ট হবে এবং খরচ বেড়ে যাবে।  

এই আর্টিকেলে আমরা দেখবো কীভাবে Next.js অ্যাপকে DDoS ও বট আক্রমণ থেকে বাঁচানো যায় Middleware, CDN/WAF, caching ও monitoring ব্যবহারের মাধ্যমে।  
 

🚨 কেন DDoS ও বট আক্রমণ বিপজ্জনক

  • সার্ভার ক্র্যাশ → সেকেন্ডে হাজার হাজার রিকোয়েস্ট সার্ভারকে অচল করে দিতে পারে।  
  • অতিরিক্ত খরচ → Vercel বা AWS Lambda-এর মতো সার্ভারলেস প্ল্যাটফর্ম প্রতি রিকোয়েস্টে চার্জ করে, আক্রমণ হলে বিল আকাশছোঁয়া হয়ে যায়।  
  • ডাউনটাইম → আসল ব্যবহারকারীরা স্লো রেসপন্স বা পুরোপুরি ডাউন অবস্থায় পড়তে পারে। 
  • সিকিউরিটি রিস্ক → বটরা অনেক সময় brute-force login বা credential stuffing চেষ্টা করে।  

 

⚡ Middleware একা কেন যথেষ্ট নয়


Next.js Middleware দিয়ে rate limiting বা রিকোয়েস্ট ফিল্টারিং যোগ করা যায়। তবে:  

  • Middleware চালু হয় ট্রাফিক সার্ভারে পৌঁছানোর পর
  • বড় আকারের DDoS হলে serverless invocation খরচ বেড়ে যায় বা সার্ভার ডাউন হয়ে যায়।
  • Middleware মূলত ছোটখাটো অপব্যবহার ঠেকানোর জন্য কার্যকর, বড় ট্রাফিক ফ্লাডের জন্য নয়।  

👉 তাই শুধু Middleware নয়, বহু স্তরের (multi-layer) প্রতিরোধ ব্যবস্থা দরকার।  

 

🛡️ CDN ও WAF: প্রথম প্রতিরক্ষা স্তর


সবচেয়ে কার্যকর পদ্ধতি হলো ম্যালিসিয়াস ট্রাফিক সার্ভারে পৌঁছানোর আগেই ব্লক করা।  

  • Cloudflare → DDoS প্রোটেকশন, বট ম্যানেজমেন্ট, রেট-লিমিটিং রুল।
  • AWS CloudFront + WAF + Shield → AWS-এ হোস্ট করা অ্যাপের জন্য এন্টারপ্রাইজ-গ্রেড সিকিউরিটি।
  • Vercel Firewall ও Attack Challenge Mode → Vercel-এ ডেপ্লয় করা Next.js অ্যাপের জন্য বিল্ট-ইন প্রোটেকশন।

👉 এগুলোর মাধ্যমে আক্রমণগুলো **edge লেভেলেই বাদ পড়ে যায়**, ফলে সার্ভার সুরক্ষিত থাকে।  

 

⚙️ Next.js Middleware দিয়ে Rate Limiting


অতিরিক্ত সুরক্ষার জন্য প্রতিটি IP ভিত্তিতে rate limiting যোগ করা যায়। উদাহরণ (Upstash Redis + Middleware):  

// middleware.ts
import { NextResponse } from "next/server";
import type { NextRequest } from "next/server";
import { Ratelimit } from "@upstash/ratelimit";
import { Redis } from "@upstash/redis";
// Redis কানেকশন
const redis = new Redis({
 url: process.env.UPSTASH_REDIS_REST_URL!,
 token: process.env.UPSTASH_REDIS_REST_TOKEN!,
});
// প্রতি IP: মিনিটে সর্বোচ্চ ৬০ রিকোয়েস্ট
const ratelimit = new Ratelimit({
 redis: redis,
 limiter: Ratelimit.slidingWindow(60, "1 m"),
});
export async function middleware(req: NextRequest) {
 const ip = req.ip ?? req.headers.get("x-forwarded-for") ?? "unknown";
 const { success } = await ratelimit.limit(ip);
 if (!success) {
   return new NextResponse("অনেক বেশি রিকোয়েস্ট পাঠানো হয়েছে", { status: 429 });
 }
 return NextResponse.next();
}
export const config = {
 matcher: ["/api/:path*"],
};

✅ ছোটখাটো অপব্যবহার ঠেকাবে
❌ বড় DDoS আক্রমণ ঠেকাতে পারবে না (তার জন্য CDN/WAF দরকার)

📦 Caching ও Bandwidth কমানো

Caching ব্যবহার করলে আক্রমণের সময় সার্ভারের লোড অনেক কমে যায়:

  • Next.js ISR (Incremental Static Regeneration)stale-while-revalidate ব্যবহার করুন।
  • Static assets (JS, CSS, ইমেজ) CDN-এ cache করে রাখুন।
  • বড় ফাইল (ইমেজ/ভিডিও) আলাদা CDN-এ রাখুন।

🤖 Bot Challenge ও CAPTCHA

সন্দেহজনক রিকোয়েস্ট (যেমন লগইন, সাইনআপ, পেমেন্ট):

  • CAPTCHA (reCAPTCHA, hCaptcha) ব্যবহার করুন।
  • Cloudflare বা Vercel Firewall-এর challenge pages চালু করুন।
  • খারাপ IP reputation থেকে আসা ট্রাফিক ব্লক করুন।

📊 মনিটরিং ও Incident Response

Defensive ব্যবস্থা নিলেও মনিটরিং ছাড়া পূর্ণ নিরাপত্তা হয় না:

  • CloudWatch, Datadog, Sentry ব্যবহার করে স্পাইক মনিটর করুন।
  • ট্রাফিক হঠাৎ বেড়ে গেলে alert system চালু রাখুন।
  • রানবুক তৈরি করুন:
    1. Rate-limit IP
    2. Country/ASN ব্লক করুন
    3. WAF রুল আরও কড়াকড়ি করুন
    4. প্রয়োজনে সার্ভার স্কেল করুন

✅ উপসংহার

Next.js অ্যাপকে DDoS ও বট আক্রমণ থেকে বাঁচাতে চাই বহু স্তরের প্রতিরোধ ব্যবস্থা:

  1. CDN/WAF (Cloudflare, AWS WAF, Vercel Firewall) → বড় ট্রাফিক আক্রমণ ব্লক
  2. Middleware Rate Limiting → ছোটখাটো অপব্যবহার ঠেকানো
  3. Caching → ট্রাফিক স্পাইকেও সার্ভার লোড কমানো
  4. Bot Challenge → লগইন/সাইনআপ বট ঠেকানো
  5. Monitoring ও Alerts → রিয়েল-টাইমে প্রতিক্রিয়া জানানো

এই কৌশলগুলো একসাথে ব্যবহার করলে আপনার Next.js অ্যাপ হবে অনেক বেশি নিরাপদ 🚀

 

 

 

 

 

 

 

0 Comments