কীভাবে ডিডোএস সুরক্ষা সক্ষম করবেন?


87

ডিডিওএস (সার্ভিস অ্যাটাকের বিতরণ অস্বীকৃতি) ঠিক কোন সার্ভার স্তরে অবরুদ্ধ থাকে?

এটি কি পিএইচপি স্তরে অবরুদ্ধ করার কোনও উপায় আছে, বা কমপক্ষে এটি হ্রাস করতে পারে?

যদি তা না হয় তবে ডিডিওএস আক্রমণ বন্ধ করার সবচেয়ে দ্রুত ও সাধারণ উপায় কোনটি?


এর চেয়ে ভাল আর কিছু না পেয়ে, এখানে অ্যাপাচি মডিউলগুলির একটি তালিকা রয়েছে যা সম্ভবত সম্ভাব্যভাবে সহায়তা করতে পারে। তবে এটি খুব সমৃদ্ধ বলে মনে হচ্ছে না এবং চারটি প্রকল্প ('ডস' দ্বারা অনুসন্ধান করা) কোথাও দেখানো হয়েছে।
অড্রিয়াস মেসকাউকাস

এটার মতো কিছু? mod-antiloris.sourceforge.net
কে-গান

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

উত্তর:


189

ডিডিওএস হ'ল একটি আক্রমণাত্মক পরিবার যা ডেটাসেন্টারে মূল সিস্টেমগুলিকে ছাপিয়ে দেয়:

  • হোস্টিং সেন্টারের ইন্টারনেট সংযোগ নেটওয়ার্ক
  • হোস্টিং সেন্টারের অভ্যন্তরীণ নেটওয়ার্ক এবং রাউটারগুলি
  • আপনার ফায়ারওয়াল এবং ভার ভারসাম্যকারী
  • আপনার ওয়েব সার্ভার, অ্যাপ্লিকেশন সার্ভার এবং ডাটাবেস।

আপনি আপনার ডিডিওএস প্রতিরক্ষা তৈরির কাজ শুরু করার আগে, বিবেচনায় নিন যে সবচেয়ে খারাপ-ঝুঁকিটি কী-কী ঝুঁকিপূর্ণ। একটি অল্প সংখ্যক সম্প্রদায়ের জন্য অ-সমালোচনামূলক, বিনামূল্যে ব্যবহারযোগ্য পরিষেবার জন্য, ঝুঁকির মোট মানটি চিনাবাদাম হতে পারে। একটি প্রতিষ্ঠিত বহু-বিলিয়ন ডলারের ব্যবসায়ের জন্য অর্থ প্রদানের জন্য, জন-মুখোমুখি, মিশন-সমালোচনামূলক সিস্টেমের জন্য মূল্যটি সংস্থার মূল্য হতে পারে। এই পরবর্তী ক্ষেত্রে, আপনার স্ট্যাকএক্সচেঞ্জ ব্যবহার করা উচিত নয় :) যাইহোক, ডিডিওএসের বিরুদ্ধে রক্ষা করার জন্য, আপনার প্রতিরক্ষা গভীরতর পদ্ধতির প্রয়োজন:

  1. তারা যে অফার করে তাদের ইন্টারনেট সংযোগ এবং ফায়ারওয়াল পরিষেবাগুলিতে তাদের নেটওয়ার্ক সংযোগে আইপি এবং পোর্ট ফিল্টারিং সহ তারা যে পরিষেবাগুলি সরবরাহ করে সেগুলি বুঝতে আপনার হোস্টিং সেন্টারের সাথে কাজ করুন । এটি সমালোচনামূলক: অনেকগুলি সাইট হোস্টিং সংস্থার দ্বারা ইন্টারনেট থেকে টানা হয় কারণ হোস্টিং সংস্থাটি কোনও গ্রাহকের কাছে ডিডিওএসের ফলে ডেটা সেন্টার-ব্যাপী বিঘ্ন ঘটায়। এছাড়াও, ডিডিওএস আক্রমণের সময় আপনি হোস্টিং সেন্টারের কর্মীদের সাথে খুব নিবিড়ভাবে কাজ করবেন, সুতরাং তাদের জরুরি নম্বরগুলি জেনে নিন এবং তাদের সাথে ভাল শর্তে থাকুন :) তাদের পুরো আন্তর্জাতিক অঞ্চলগুলি ব্লক করতে, নির্দিষ্ট পরিষেবাগুলি বা নেটওয়ার্ককে পুরোপুরি অবরুদ্ধ করতে সক্ষম হওয়া উচিত প্রোটোকল এবং অন্যান্য বিস্তৃত বর্ণালী প্রতিরক্ষামূলক ব্যবস্থা বা বিকল্পভাবে কেবল শ্বেত তালিকাভুক্ত আইপিগুলিকে অনুমতি দেয় (আপনার ব্যবসায়ের মডেলের উপর নির্ভর করে)
  2. হোস্টিং সেন্টারে থাকাকালীন - আপনার শেষ ব্যবহারকারীদের নিকটবর্তী পরিষেবাগুলি (প্রধানত স্ট্যাটিক) বিতরণ করতে এবং ডিডিওএস স্থপতিদের থেকে আপনার প্রকৃত সার্ভারগুলি আড়াল করতে একটি সামগ্রী বিতরণ নেটওয়ার্ক ব্যবহার করুন । কোনও সিডিএন সমস্ত দেশের সমস্ত নোড বের করার জন্য সম্পূর্ণ সিডিএন খুব বড়; ডিডিএস যদি একটি দেশের দিকে মনোনিবেশ করে তবে কমপক্ষে অন্যান্য ব্যবহারকারীরা এখনও ঠিক আছেন।
  3. আপনার সমস্ত সিস্টেম এবং সফ্টওয়্যার প্যাকেজগুলি সর্বশেষতম সুরক্ষা প্যাচগুলির সাথে আপডেট করুন - এবং আমি সেগুলি বোঝাতে চাইছি:

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

  5. ভাল জায়গায় নেটওয়ার্ক মনিটরিং সরঞ্জাম রয়েছে - এটি আপনাকে বুঝতে সাহায্য করতে পারে:

    • যে আপনি ভারী বোঝার নিচে থাকার চেয়ে আক্রমণে রয়েছেন
    • আক্রমণটি কোথা থেকে আসছে (এর মধ্যে আপনি যে দেশগুলির সাথে সাধারণত ব্যবসা করেন না সেগুলি অন্তর্ভুক্ত থাকতে পারে) এবং
    • আক্রমণটি আসলে কী (বন্দর, পরিষেবা, প্রোটোকল, আইপি এবং প্যাকেটের সামগ্রী)
  6. আক্রমণটি কেবল বৈধ ওয়েব সাইট পরিষেবার ভারী ব্যবহার হতে পারে (যেমন 'আইনী' ইউআরআইগুলিকে আঘাত করা বা ডেটা প্রবেশ / আপডেট / ডিলিট করে দেওয়া) - হাজার হাজার বা লক্ষ লক্ষ অনুরোধ বিভিন্ন আইপি অ্যাড্রেস থেকে দশকে আসা কোনও সাইটকে এনে দেবে হাঁটু. বিকল্পভাবে, কিছু পরিষেবাদি চালাতে এত ব্যয়বহুল হতে পারে যে কেবল কয়েকটি অনুরোধের ফলে ডস তৈরি হয় - সত্যিই ব্যয়বহুল রিপোর্ট মনে করুন। সুতরাং আপনার যা চলছে তা সম্পর্কে ভাল প্রয়োগ স্তর পর্যবেক্ষণের দরকার :

    • কোন পরিষেবাগুলি চাওয়া হয়েছে এবং কোন যুক্তি / ডেটা প্রেরণ করা হয়েছে (যেমন আপনার অ্যাপ্লিকেশনটিতে লগইন করা)
    • কোন ব্যবহারকারীগণ আমন্ত্রণমূলক কাজটি করছে এবং কোন আইপিগুলি (যেমন আপনার অ্যাপ্লিকেশনটিতে লগইন করছে)
    • ডিবি করণীয়গুলি কীভাবে অনুসন্ধান এবং সন্নিবেশ / আপডেট / মুছবে
    • আপনার সিস্টেমে লোড গড়, সিপিইউ ব্যবহার, ডিস্ক আই / ও, সমস্ত কম্পিউটারে নেটওয়ার্ক ট্র্যাফিক (এবং ভিএম)
    • এই সমস্ত তথ্য সহজেই পুনরুদ্ধারযোগ্য এবং আপনি বিভিন্ন কম্পিউটার এবং পরিষেবাদি (যেমন এনটিপি ব্যবহার করে সমস্ত কম্পিউটারের সময় সিঙ্ক্রোনাইজ করা হয়েছে তা নিশ্চিত করে) থেকে লগগুলি সম্পর্কিত করতে পারেন তা নিশ্চিত করা।
  7. আপনার অ্যাপ্লিকেশনটিতে উপলব্ধিযোগ্য বাধা এবং সীমাবদ্ধতা । উদাহরণস্বরূপ, আপনি:

    • লগড-অন ব্যবহারকারীরা অন্য সেট ব্যবহার করার সময় আপনার ক্লাস্টারে অ্যাপ্লিকেশন সার্ভারগুলি পৃথক করতে সমস্ত বেনামী সেশন প্রেরণের জন্য লোড ব্যালেন্সারে একটি QoS বৈশিষ্ট্য ব্যবহার করুন। এটি কোনও অ্যাপ্লিকেশন-স্তরের বেনামে ডিডিওএসকে মূল্যবান গ্রাহকরা নেওয়া থেকে বাধা দেয়
    • বেনামে পরিষেবাগুলি রক্ষার জন্য একটি শক্তিশালী CAPCHA ব্যবহার করা
    • সেশন সময়সীমা
    • প্রতিবেদনের মতো নির্দিষ্ট ধরণের অনুরোধের একটি সেশন-সীমা বা রেট-সীমা রয়েছে। আপনি প্রয়োজন বেনামে অ্যাক্সেস বন্ধ করতে পারেন তা নিশ্চিত করুন
    • নিশ্চিত হয়ে নিন যে ব্যবহারকারীর সমকালীন সেশনের সংখ্যার সীমা রয়েছে (একটি মিলিয়ন বার হ্যাক হওয়া অ্যাকাউন্টে প্রবেশ রোধ করতে)
    • বিভিন্ন পরিষেবার জন্য বিভিন্ন ডাটাবেস অ্যাপ্লিকেশন ব্যবহারকারী রয়েছে (যেমন লেনদেনের ব্যবহার বনাম প্রতিবেদনের ব্যবহার) এবং একাধিক ওয়েব অনুরোধকে অন্য সকলকে পরাভূত করতে রোধ করতে ডাটাবেস রিসোর্স ম্যানেজমেন্ট ব্যবহার করুন
    • সম্ভব হলে এই সীমাবদ্ধতাগুলি গতিশীল করুন, বা কমপক্ষে কনফিগারযোগ্য। এইভাবে, আপনি আক্রমণে থাকাকালীন, আপনি জায়গায় আক্রমণাত্মক অস্থায়ী সীমাবদ্ধতা স্থাপন করতে পারেন (আক্রমণকে 'থ্রোটলিং') যেমন ব্যবহারকারী হিসাবে কেবল একটি সেশন, এবং কোনও বেনামে অ্যাক্সেস নেই। এটি অবশ্যই আপনার গ্রাহকদের পক্ষে দুর্দান্ত নয়, তবে কোনও পরিষেবা না দেওয়ার চেয়ে অনেক ভাল।
  8. সর্বশেষে, তবে কমপক্ষে, একটি ডস রেসপন্স প্ল্যান নথিটি লিখুন এবং এটি সমস্ত প্রাসঙ্গিক পক্ষের দ্বারা অভ্যন্তরীণভাবে পর্যালোচনা করুন: ব্যবসায়, পরিচালনা, এসডাব্লু ডেভেল টিম, আইটি দল এবং সুরক্ষা বিশেষজ্ঞ। দস্তাবেজটি লেখার প্রক্রিয়াটি আপনাকে এবং আপনার দলটিকে সমস্যাগুলি নিয়ে ভাবতে বাধ্য করবে এবং আপনার ছুটির দিন সকাল 3 টায় সবচেয়ে খারাপটি ঘটতে থাকলে আপনাকে প্রস্তুত হতে সাহায্য করবে। দস্তাবেজটি কভার করা উচিত (অন্যান্য জিনিসগুলির মধ্যে):

    • কি ঝুঁকি আছে, এবং ব্যবসায়ের জন্য ব্যয়
    • সম্পদ রক্ষার জন্য নেওয়া ব্যবস্থা
    • কীভাবে আক্রমণ ধরা পড়ে
    • পরিকল্পিত প্রতিক্রিয়া এবং ক্রমবর্ধমান পদ্ধতি
    • সিস্টেম এবং এই দস্তাবেজটি আপ টু ডেট রাখার প্রক্রিয়াগুলি

সুতরাং, উপস্থাপন একপাশে, এখানে কিছু নির্দিষ্ট উত্তর দেওয়া হয়েছে:

ডিডিওএস সাধারণত সার্ভার স্তরে অবরুদ্ধ থাকে, তাই না?

সত্যই নয় - সবচেয়ে খারাপ ডিডিওএস আক্রমণগুলি নিম্ন-স্তরের (আইপি প্যাকেট স্তরে) হয় এবং ডিডিওএস আক্রমণ পরিচালনা করার জন্য তৈরি রুটিং বিধি, ফায়ারওয়ালস এবং সুরক্ষা ডিভাইসগুলির দ্বারা পরিচালিত হয়।

এটি কি পিএইচপি স্তরে অবরুদ্ধ করার কোনও উপায় আছে, বা কমপক্ষে এটি হ্রাস করতে পারে?

কিছু ডিডিওএস আক্রমণ নিজেই অ্যাপ্লিকেশনকে লক্ষ্য করে বৈধ ইউআরআই এবং এইচটিটিপি অনুরোধ প্রেরণ করে। যখন অনুরোধের হার বাড়তে থাকে, আপনার সার্ভার (গুলি) লড়াই শুরু করে এবং আপনার কাছে একটি এসএলএ আউটেজ হবে। এই ক্ষেত্রে, পিএইচপি স্তরে আপনি করতে পারেন এমন কিছু জিনিস রয়েছে:

  • অ্যাপ্লিকেশন স্তর পর্যবেক্ষণ: প্রতিটি পরিষেবা / পৃষ্ঠার লগগুলি অনুরোধগুলি এমনভাবে নিশ্চিত করুন যাতে আপনি কী চলতে পারেন তা দেখতে পারেন (যাতে আপনি আক্রমণটি প্রশমিত করতে পদক্ষেপ নিতে পারেন)। কিছু ধারণা:

    • একটি লগ ফর্ম্যাট করুন যা আপনি সহজেই একটি লগ সরঞ্জামে (বা এক্সেল বা অনুরূপ) লোড করতে পারেন এবং কমান্ড-লাইন সরঞ্জামগুলি (গ্রেপ, সেড, অ্যাডক) দিয়ে পার্স করতে পারেন। মনে রাখবেন যে একটি ডিডিওএস কয়েক মিলিয়ন লাইন লগ তৈরি করবে। আপনার লগগুলি টুকরো টুকরো করতে হবে (বিশেষত ইউআরআই, সময়, আইপি এবং ব্যবহারকারীর প্রতি শ্রদ্ধা সহ) যা চলছে তা কাজ করার জন্য এবং ডেটা তৈরি করার দরকার যেমন:

      • কি ইউআরআই অ্যাক্সেস করা হচ্ছে
      • ইউআরআই কী উচ্চ হারে ব্যর্থ হচ্ছে (আক্রমণকারীরা যে নির্দিষ্ট ইউআরআইরা আক্রমণ করছে তার সম্ভবত একটি সূচক)
      • কোন ব্যবহারকারীরা পরিষেবাটি অ্যাক্সেস করছে
      • প্রতিটি ব্যবহারকারী কতগুলি আইপি থেকে পরিষেবাটি অ্যাক্সেস করছে
      • ইউআরআই কি অজ্ঞাত ব্যবহারকারীদের অ্যাক্সেস করছে
      • প্রদত্ত পরিষেবার জন্য কী যুক্তি ব্যবহার করা হচ্ছে
      • নির্দিষ্ট ব্যবহারকারীদের ক্রিয়া নিরীক্ষণ করুন
    • প্রতিটি অনুরোধের আইপি ঠিকানা লগ ইন করুন। এটি ডিএনএসকে বিপরীত করবেন না - হাস্যকরভাবে এটি করার ব্যয় আক্রমণকারীদের জন্য একটি ডিডিওএসকে সহজ করে তোলে

    • পুরো ইউআরআই এবং এইচটিটিপি পদ্ধতি লগইন করুন, যেমন "জিইটি http://example.com/path/to/service?arg1=ddos "
    • উপস্থিত থাকলে ব্যবহারকারীর আইডি লগ করুন
    • গুরুত্বপূর্ণ HTTP আর্গুমেন্ট লগ করুন
  • সংবেদনশীল হার সীমা: আপনি প্রদত্ত আইপি বা ব্যবহারকারীর নির্দিষ্ট সময়ের মধ্যে কতগুলি অনুরোধ করতে পারে তার সীমাবদ্ধতা প্রয়োগ করতে পারেন। কোনও বৈধ গ্রাহক প্রতি সেকেন্ডে 10 টিরও বেশি অনুরোধ করতে পারবেন? বেনাম ব্যবহারকারীরা কি ব্যয়বহুল রিপোর্টগুলি অ্যাক্সেস করতে পারেন?

  • বেনামে অ্যাক্সেসের জন্য ক্যাপচা: সমস্ত বেনামে অনুরোধের জন্য ব্যবহারকারী একটি ডিডিওএস বট নয়, তা নিশ্চিত করার জন্য একটি ক্যাপচা প্রয়োগ করুন।

ডিডিওএস আক্রমণ বন্ধ করার দ্রুততম এবং সাধারণ উপায় কোনটি?

দ্রুততমটি সম্ভবত ব্ল্যাকমেলকে দিতে হবে যদিও এটি আকাঙ্ক্ষিত নয়।

অন্যথায়, আপনি প্রথম কাজটি হ'ল আপনার হোস্টিং এবং / অথবা সিডিএন সরবরাহকারীর সাথে যোগাযোগ করুন এবং তাদের সাথে কাজ করুন (যদি তারা ইতিমধ্যে আপনার সাথে যোগাযোগ না করে তবে কী ঘটছে জিজ্ঞাসা করছেন ...)। যখন কোনও ডিডিওএস হয়, সম্ভবত এটি হোস্টিং সরবরাহকারীর অন্যান্য গ্রাহকদেরকে সমান্তরালভাবে প্রভাবিত করবে এবং সরবরাহকারীর কেবলমাত্র তাদের সংস্থানগুলি রক্ষার জন্য আপনার সাইটটি বন্ধ করার জন্য যথেষ্ট চাপের মধ্যে থাকতে পারে। আপনার লগগুলি সরবরাহকারীর সাথে (যে কোনও এবং সমস্ত তথ্য) ভাগ করে নেওয়ার জন্য প্রস্তুত থাকুন; এই লগগুলি, তাদের নেটওয়ার্ক মনিটরের সাথে একত্রিত হয়ে আক্রমণ আক্রমণ কমাতে / প্রশমিত করতে একসাথে পর্যাপ্ত তথ্য সরবরাহ করতে পারে।

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

আক্রমণে থাকাকালীন, আপনাকে আপনার লগগুলি ধরতে হবে এবং সেগুলি খনন করতে হবে - আক্রমণ করার ধরণটি চেষ্টা করে দেখুন out আপনার বেনামে অ্যাক্সেস বন্ধ করা এবং আক্রমণের অধীনে পরিষেবাগুলি থ্রটল করা বিবেচনা করা উচিত (অর্থাত্ সেবার জন্য আবেদনের হার সীমা হ্রাস করুন)।

ভাগ্যবান এবং আপনার যদি একটি ছোট, স্থির গ্রাহক-বেস থাকে তবে আপনি আপনার বৈধ গ্রাহকদের আইপি ঠিকানাগুলি নির্ধারণ করতে সক্ষম হতে পারেন। যদি এটি হয় তবে আপনি অল্প সময়ের জন্য একটি সাদা-তালিকা পদ্ধতির দিকে যেতে পারেন। নিশ্চিত হয়ে নিন যে আপনার সমস্ত গ্রাহকরা জানেন যে এটি চলছে তাই তারা যদি নতুন আইপি থেকে অ্যাক্সেসের প্রয়োজন হয় তবে তারা কল করতে পারেন :)


ডগ ম্যাকক্লিয়েনের এখানে দুর্দান্ত পরামর্শ রয়েছে: https://stackoverflow.com/a/1029613/1395668


20

প্রশ্নের পিএইচপি অংশ অনুযায়ী;

যদিও আমি এর জন্য পিএইচপি-র উপর নির্ভর করি না, এটি কার্যকর করা যেতে পারে তবে এই সমস্ত সম্ভাব্যতা বা আরও বেশি বিবেচনা করা দরকার;

  1. আক্রমণকারী প্রতিটি অনুরোধের জন্য আইপি পরিবর্তন করতে পারে
  2. আক্রমণকারী ইউআরআইতে প্যারামিটারগুলি পাস করতে পারে যে টার্গেট সাইটের এই পরামিতিগুলির যত্ন নেই
  3. আক্রমণকারী মেয়াদ শেষ হওয়ার আগে সেশনটি পুনরায় চালু করতে পারে ...

সরল ছদ্ম;

<?php
// Assuming session is already started
$uri = md5($_SERVER['REQUEST_URI']);
$exp = 3; // 3 seconds
$hash = $uri .'|'. time();
if (!isset($_SESSION['ddos'])) {
    $_SESSION['ddos'] = $hash;
}

list($_uri, $_exp) = explode('|', $_SESSION['ddos']);
if ($_uri == $uri && time() - $_exp < $exp) {
    header('HTTP/1.1 503 Service Unavailable');
    // die('Easy!');
    die;
}

// Save last request
$_SESSION['ddos'] = $hash;
?>

8

অনুরোধ চেইনে পিএইচপি স্তরটি খুব দেরিতে।

কোনও ওপেন সোর্স অ্যাপ্লায়েন্সের পিছনে আপনার অ্যাপাচি সার্ভার স্থাপন করা আপনার পক্ষে ভাল বিকল্প হতে পারে।

http://tengine.taobao.org/ এর ডিডিওএস প্রতিরোধের উদ্দেশ্যে কিছু ডকুমেন্টেশন এবং সোর্স কোড রয়েছে আরও মডিউল। এটি এনগিনেক্সের সম্প্রসারণ, যাতে আপনি সহজেই এটি আপনার অ্যাপাচের উদাহরণের জন্য বিপরীত প্রক্সি হিসাবে সেট আপ করতে পারেন।

দেখুন: http://blog.zhuzhaoyuan.com/2012/01/a-mechanism-to-help-write-web-application-firewalls-for-nginx/ কীভাবে সংঘর্ষের লড়াইয়ের জন্য ডস আক্রমন হয়েছে।

সম্পূর্ণরূপে ভুলে গেছি, http://www.cloudflare.com হ'ল শীর্ষস্থানীয় একটি ফ্রি ওয়েব অ্যাপ্লিকেশন ফায়ারওয়াল, তাদের বিনামূল্যে এবং অর্থ প্রদানের পরিকল্পনা রয়েছে এবং আমরা আপনার গাধা ডিডিওএস থেকে সংরক্ষণ করব আমরা এটি কেবল আমাদের উচ্চ ট্র্যাফিক সাইটগুলিকে কেবল ক্যাচিংয়ের জন্য ব্যবহার করি । এটা দারুণ!


5

আপনি পিএইচপি স্তরে এটি করতে পারবেন না। ডিডিওএস হ'ল এক ধরণের আক্রমণ যা আপনার ওয়েবসারকে অনেকগুলি অনুরোধ প্রেরণ করে। আপনার ওয়েবসার্ভার এটি আপনার পিএইচপি স্ক্রিপ্ট কল করার আগে অনুরোধ প্রত্যাখ্যান করবে।

আপনি Apache ব্যবহার করে থাকেন, এখানে অ্যাপাচি থেকে কিছু টিপস হল: http://httpd.apache.org/docs/trunk/misc/security_tips.html


5

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


8
আমাদের একটি সমাধান প্রয়োজন, এবং যদি কোনও আদর্শ সমাধান না হয় তবে আংশিক সমাধানের প্রয়োজন ছিল। কারও কাছে "আপনি কেবল এটি করতে পারবেন না" এর মতো পরামর্শের প্রয়োজন নেই।
অড্রিয়াস মেসকাউকাস

5

পিএইচপি সাইডে এরকম কিছু সম্পর্কে কীভাবে:

//if user does not change IP, then ban the IP when more than 10 requests per second are detected in 1 second
$limitps = 10;
if (!isset($_SESSION['first_request'])){
    $_SESSION['requests'] = 0;
    $_SESSION['first_request'] = $_SERVER['REQUEST_TIME'];
}
$_SESSION['requests']++;
if ($_SESSION['requests']>=10 && strtotime($_SERVER['REQUEST_TIME'])-strtotime($_SESSION['first_request'])<=1){
    //write the IP to a banned_ips.log file and configure your server to retrieve the banned ips from there - now you will be handling this IP outside of PHP
    $_SESSION['banip']==1;
}elseif(strtotime($_SERVER['REQUEST_TIME'])-strtotime($_SESSION['first_request']) > 2){
    $_SESSION['requests'] = 0;
    $_SESSION['first_request'] = $_SERVER['REQUEST_TIME'];
}

if ($_SESSION['banip']==1) {
    header('HTTP/1.1 503 Service Unavailable');
    die;
}

4
এই কোডে কিছু ত্রুটি রয়েছে: 10 হার্ড কোডড, সার্ভার এবং সেশন ভেরিয়েবলগুলিতে স্ট্রোটোটাইমের প্রয়োজন হয় না, এবং $ _SESSION ['বান_আপ'] == 1 হওয়া উচিত = 1.
জেসন সিলভার

3

আপনি ডিপোস / ডসের জন্য অ্যাপাচে ব্যবহার করতে পারেন এমন প্লাগইন রয়েছে। এখানে শুভ সূচনা করুন

আপনি যদি এলইএমপিতে থাকেন তবে আপনি এখানে পরীক্ষা করতে পারেন। http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html

এগুলি ভাল সস্তা শুরুর পয়েন্ট।


2

পিএইচপি-ভিত্তিক সুরক্ষা ব্যবহার করবেন না , এটি ভয়ঙ্কর এবং এর প্রভাব খুব কমই পড়বে! রেট-সীমা অনুরোধগুলিতে আপনার ওয়েবসভারটি কনফিগার করুন, উদাহরণস্বরূপ Nginx এ সীমা_আরক মডিউলটি ব্যবহার করে ( http://nginx.org/en/docs/http/ngx_http_limit_req_module.html )

যদিও, আমি স্তর -4 কে লড়াই করার জন্য ক্লাউডফ্লেয়ার ব্যবহার করার পরামর্শ দেব - তবে আপনি প্রদান করতে ইচ্ছুক না হলে স্তর -7 ভিত্তিক আক্রমণগুলি নয়।


হ্যাঁ, মহান আমার জন্য পাশাপাশি, আমার অভিজ্ঞতা এখানে কাজ softwareengineeringsolutions.co.uk/...
এলভিস Ciotti

2

DDOS সাধারণত একটি সার্ভার স্তরে অবরুদ্ধ থাকে, দয়া করে আপনার সার্ভার স্তরে DDOS সুরক্ষা সক্ষম করুন। DDOS সুরক্ষার জন্য দয়া করে নীচের নোটগুলি দেখুন।

অ্যাডিচি HTTP সার্ভার কনফিগারেশন সেটিংস যা ডিডিওএস সমস্যাগুলি রোধ করতে সহায়তা করতে পারে:

রিকোয়েস্টআরটাইমআউট নির্দেশিকা কোনও ক্লায়েন্টকে অনুরোধ প্রেরণ করতে সময় নিতে পারে তা সীমাবদ্ধ করার অনুমতি দেয়।

শিরোনাম সহ অনুরোধটি পেতে 10 সেকেন্ড এবং অনুরোধের বডিটি পাওয়ার জন্য 30 সেকেন্ডের অনুমতি দিন:

RequestReadTimeout header=10 body=30

অনুরোধের বডিটি পেতে কমপক্ষে 10 সেকেন্ডের অনুমতি দিন। যদি ক্লায়েন্ট ডেটা প্রেরণ করে থাকে তবে প্রাপ্ত প্রতি 1000 বাইটের জন্য টাইমআউটটি 1 সেকেন্ড বাড়িয়ে নিন, সময়সীমার জন্য কোনও উচ্চতর সীমা ছাড়াই (লিমিটরেক্সেস্টবডি দ্বারা পরোক্ষভাবে দেওয়া সীমা ব্যতীত):

RequestReadTimeout body=10,MinRate=1000

RequestReadTimeout header=10-30,MinRate=500
RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500

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

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


2

অ্যান্টি ডিডিওএস পদক্ষেপগুলি:

  • খুব প্রথম গুরুত্বপূর্ণ বিষয়টি হ'ল প্রথমে ডিডস আক্রমণটি চিহ্নিত করা। আরও প্রাথমিকভাবে ডিডোস আক্রমণ চিহ্নিত করা আপনার সার্ভারের জন্য আরও ভাল।
  • আপনার সার্ভারের জন্য আরও ভাল ব্যান্ডউইথ পাওয়া যায়। সর্বদা আপনার সার্ভারের জন্য প্রয়োজনীয় যে পরিমাণ ব্যান্ডউইথের চেয়ে বেশি রাখুন। এটি ডিডিওএস আক্রমণ প্রতিরোধ করবে না তবে এতে আরও বেশি সময় লাগবে। যার মাধ্যমে আপনি অভিনয়ের জন্য কিছু অতিরিক্ত সময় পাবেন।
  • যদি আপনি নিজের নিজের ওয়েব সার্ভারের মালিক হন তবে আপনি নিজের রাউটারকে সীমাবদ্ধ রেখে নেটওয়ার্ক প্যারামিটারে ডিফেন্ড করতে পারেন, আক্রমণের বিভিন্ন উত্সগুলিতে প্যাকেট ফেলে দেওয়ার জন্য ফিল্টার যুক্ত করতে পারেন, অর্ধেক খোলা সংযোগগুলি আরও আক্রমণাত্মকভাবে শেষ করতে পারেন। এছাড়াও নিম্ন এসওয়াইএন, আইসিএমপি এবং ইউডিপি বন্যার ড্রপ থ্রেশহোল্ডগুলি সেট করুন।
  • আপনার যদি এই বিষয়গুলি সম্পর্কে খুব বেশি ধারণা না থাকে, তবে যান এবং আপনার হোস্টিং সরবরাহকারীদের সাথে দ্রুত যোগাযোগ করুন। তারা ডিডিওএস আক্রমণ প্রতিরোধে তাদের সর্বোত্তম চেষ্টা করতে পারেন।
  • ক্লাউডফ্লেয়ার এবং অন্যান্য অনেক সংস্থার সরবরাহ করা বিশেষ ডিডিওএস প্রশমন পরিষেবা রয়েছে । যার সাহায্যে তারা আপনাকে ডিডিওএস আক্রমণ প্রতিরোধ করতে সহায়তা করতে পারে। এছাড়াও অনেক সংস্থা সস্তা ddos সুরক্ষা এবং ডস সুরক্ষা দেয়
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.