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