ডিডিওএস (সার্ভিস অ্যাটাকের বিতরণ অস্বীকৃতি) ঠিক কোন সার্ভার স্তরে অবরুদ্ধ থাকে?
এটি কি পিএইচপি স্তরে অবরুদ্ধ করার কোনও উপায় আছে, বা কমপক্ষে এটি হ্রাস করতে পারে?
যদি তা না হয় তবে ডিডিওএস আক্রমণ বন্ধ করার সবচেয়ে দ্রুত ও সাধারণ উপায় কোনটি?
ডিডিওএস (সার্ভিস অ্যাটাকের বিতরণ অস্বীকৃতি) ঠিক কোন সার্ভার স্তরে অবরুদ্ধ থাকে?
এটি কি পিএইচপি স্তরে অবরুদ্ধ করার কোনও উপায় আছে, বা কমপক্ষে এটি হ্রাস করতে পারে?
যদি তা না হয় তবে ডিডিওএস আক্রমণ বন্ধ করার সবচেয়ে দ্রুত ও সাধারণ উপায় কোনটি?
উত্তর:
ডিডিওএস হ'ল একটি আক্রমণাত্মক পরিবার যা ডেটাসেন্টারে মূল সিস্টেমগুলিকে ছাপিয়ে দেয়:
আপনি আপনার ডিডিওএস প্রতিরক্ষা তৈরির কাজ শুরু করার আগে, বিবেচনায় নিন যে সবচেয়ে খারাপ-ঝুঁকিটি কী-কী ঝুঁকিপূর্ণ। একটি অল্প সংখ্যক সম্প্রদায়ের জন্য অ-সমালোচনামূলক, বিনামূল্যে ব্যবহারযোগ্য পরিষেবার জন্য, ঝুঁকির মোট মানটি চিনাবাদাম হতে পারে। একটি প্রতিষ্ঠিত বহু-বিলিয়ন ডলারের ব্যবসায়ের জন্য অর্থ প্রদানের জন্য, জন-মুখোমুখি, মিশন-সমালোচনামূলক সিস্টেমের জন্য মূল্যটি সংস্থার মূল্য হতে পারে। এই পরবর্তী ক্ষেত্রে, আপনার স্ট্যাকএক্সচেঞ্জ ব্যবহার করা উচিত নয় :) যাইহোক, ডিডিওএসের বিরুদ্ধে রক্ষা করার জন্য, আপনার প্রতিরক্ষা গভীরতর পদ্ধতির প্রয়োজন:
আপনার সমস্ত সিস্টেম এবং সফ্টওয়্যার প্যাকেজগুলি সর্বশেষতম সুরক্ষা প্যাচগুলির সাথে আপডেট করুন - এবং আমি সেগুলি বোঝাতে চাইছি:
নিশ্চিত করুন যে আপনার কাছে একটি ভাল ফায়ারওয়াল বা সুরক্ষা সরঞ্জাম স্থাপন করা আছে এবং নিয়মিত কোনও যোগ্য সুরক্ষা বিশেষজ্ঞ দ্বারা পর্যালোচনা করা হয় । ফায়ারওয়ালে শক্তিশালী নিয়মগুলি অনেকগুলি সহজ আক্রমণগুলির বিরুদ্ধে ভাল প্রতিরক্ষা। প্রতিটি ওপেন পরিষেবার জন্য উপলব্ধ ব্যান্ডউইথ পরিচালনা করতে সক্ষম হওয়াও দরকারী।
ভাল জায়গায় নেটওয়ার্ক মনিটরিং সরঞ্জাম রয়েছে - এটি আপনাকে বুঝতে সাহায্য করতে পারে:
আক্রমণটি কেবল বৈধ ওয়েব সাইট পরিষেবার ভারী ব্যবহার হতে পারে (যেমন 'আইনী' ইউআরআইগুলিকে আঘাত করা বা ডেটা প্রবেশ / আপডেট / ডিলিট করে দেওয়া) - হাজার হাজার বা লক্ষ লক্ষ অনুরোধ বিভিন্ন আইপি অ্যাড্রেস থেকে দশকে আসা কোনও সাইটকে এনে দেবে হাঁটু. বিকল্পভাবে, কিছু পরিষেবাদি চালাতে এত ব্যয়বহুল হতে পারে যে কেবল কয়েকটি অনুরোধের ফলে ডস তৈরি হয় - সত্যিই ব্যয়বহুল রিপোর্ট মনে করুন। সুতরাং আপনার যা চলছে তা সম্পর্কে ভাল প্রয়োগ স্তর পর্যবেক্ষণের দরকার :
আপনার অ্যাপ্লিকেশনটিতে উপলব্ধিযোগ্য বাধা এবং সীমাবদ্ধতা । উদাহরণস্বরূপ, আপনি:
সর্বশেষে, তবে কমপক্ষে, একটি ডস রেসপন্স প্ল্যান নথিটি লিখুন এবং এটি সমস্ত প্রাসঙ্গিক পক্ষের দ্বারা অভ্যন্তরীণভাবে পর্যালোচনা করুন: ব্যবসায়, পরিচালনা, এসডাব্লু ডেভেল টিম, আইটি দল এবং সুরক্ষা বিশেষজ্ঞ। দস্তাবেজটি লেখার প্রক্রিয়াটি আপনাকে এবং আপনার দলটিকে সমস্যাগুলি নিয়ে ভাবতে বাধ্য করবে এবং আপনার ছুটির দিন সকাল 3 টায় সবচেয়ে খারাপটি ঘটতে থাকলে আপনাকে প্রস্তুত হতে সাহায্য করবে। দস্তাবেজটি কভার করা উচিত (অন্যান্য জিনিসগুলির মধ্যে):
সুতরাং, উপস্থাপন একপাশে, এখানে কিছু নির্দিষ্ট উত্তর দেওয়া হয়েছে:
ডিডিওএস সাধারণত সার্ভার স্তরে অবরুদ্ধ থাকে, তাই না?
সত্যই নয় - সবচেয়ে খারাপ ডিডিওএস আক্রমণগুলি নিম্ন-স্তরের (আইপি প্যাকেট স্তরে) হয় এবং ডিডিওএস আক্রমণ পরিচালনা করার জন্য তৈরি রুটিং বিধি, ফায়ারওয়ালস এবং সুরক্ষা ডিভাইসগুলির দ্বারা পরিচালিত হয়।
এটি কি পিএইচপি স্তরে অবরুদ্ধ করার কোনও উপায় আছে, বা কমপক্ষে এটি হ্রাস করতে পারে?
কিছু ডিডিওএস আক্রমণ নিজেই অ্যাপ্লিকেশনকে লক্ষ্য করে বৈধ ইউআরআই এবং এইচটিটিপি অনুরোধ প্রেরণ করে। যখন অনুরোধের হার বাড়তে থাকে, আপনার সার্ভার (গুলি) লড়াই শুরু করে এবং আপনার কাছে একটি এসএলএ আউটেজ হবে। এই ক্ষেত্রে, পিএইচপি স্তরে আপনি করতে পারেন এমন কিছু জিনিস রয়েছে:
অ্যাপ্লিকেশন স্তর পর্যবেক্ষণ: প্রতিটি পরিষেবা / পৃষ্ঠার লগগুলি অনুরোধগুলি এমনভাবে নিশ্চিত করুন যাতে আপনি কী চলতে পারেন তা দেখতে পারেন (যাতে আপনি আক্রমণটি প্রশমিত করতে পদক্ষেপ নিতে পারেন)। কিছু ধারণা:
একটি লগ ফর্ম্যাট করুন যা আপনি সহজেই একটি লগ সরঞ্জামে (বা এক্সেল বা অনুরূপ) লোড করতে পারেন এবং কমান্ড-লাইন সরঞ্জামগুলি (গ্রেপ, সেড, অ্যাডক) দিয়ে পার্স করতে পারেন। মনে রাখবেন যে একটি ডিডিওএস কয়েক মিলিয়ন লাইন লগ তৈরি করবে। আপনার লগগুলি টুকরো টুকরো করতে হবে (বিশেষত ইউআরআই, সময়, আইপি এবং ব্যবহারকারীর প্রতি শ্রদ্ধা সহ) যা চলছে তা কাজ করার জন্য এবং ডেটা তৈরি করার দরকার যেমন:
প্রতিটি অনুরোধের আইপি ঠিকানা লগ ইন করুন। এটি ডিএনএসকে বিপরীত করবেন না - হাস্যকরভাবে এটি করার ব্যয় আক্রমণকারীদের জন্য একটি ডিডিওএসকে সহজ করে তোলে
সংবেদনশীল হার সীমা: আপনি প্রদত্ত আইপি বা ব্যবহারকারীর নির্দিষ্ট সময়ের মধ্যে কতগুলি অনুরোধ করতে পারে তার সীমাবদ্ধতা প্রয়োগ করতে পারেন। কোনও বৈধ গ্রাহক প্রতি সেকেন্ডে 10 টিরও বেশি অনুরোধ করতে পারবেন? বেনাম ব্যবহারকারীরা কি ব্যয়বহুল রিপোর্টগুলি অ্যাক্সেস করতে পারেন?
বেনামে অ্যাক্সেসের জন্য ক্যাপচা: সমস্ত বেনামে অনুরোধের জন্য ব্যবহারকারী একটি ডিডিওএস বট নয়, তা নিশ্চিত করার জন্য একটি ক্যাপচা প্রয়োগ করুন।
ডিডিওএস আক্রমণ বন্ধ করার দ্রুততম এবং সাধারণ উপায় কোনটি?
দ্রুততমটি সম্ভবত ব্ল্যাকমেলকে দিতে হবে যদিও এটি আকাঙ্ক্ষিত নয়।
অন্যথায়, আপনি প্রথম কাজটি হ'ল আপনার হোস্টিং এবং / অথবা সিডিএন সরবরাহকারীর সাথে যোগাযোগ করুন এবং তাদের সাথে কাজ করুন (যদি তারা ইতিমধ্যে আপনার সাথে যোগাযোগ না করে তবে কী ঘটছে জিজ্ঞাসা করছেন ...)। যখন কোনও ডিডিওএস হয়, সম্ভবত এটি হোস্টিং সরবরাহকারীর অন্যান্য গ্রাহকদেরকে সমান্তরালভাবে প্রভাবিত করবে এবং সরবরাহকারীর কেবলমাত্র তাদের সংস্থানগুলি রক্ষার জন্য আপনার সাইটটি বন্ধ করার জন্য যথেষ্ট চাপের মধ্যে থাকতে পারে। আপনার লগগুলি সরবরাহকারীর সাথে (যে কোনও এবং সমস্ত তথ্য) ভাগ করে নেওয়ার জন্য প্রস্তুত থাকুন; এই লগগুলি, তাদের নেটওয়ার্ক মনিটরের সাথে একত্রিত হয়ে আক্রমণ আক্রমণ কমাতে / প্রশমিত করতে একসাথে পর্যাপ্ত তথ্য সরবরাহ করতে পারে।
আপনি যদি কোনও ডিডিওএসের প্রত্যাশা করে থাকেন তবে আপনার হোস্টিং সরবরাহকারীর যে স্তরের সুরক্ষা তারা সরবরাহ করতে পারে তার যোগ্যতা অর্জন করা খুব ভাল ধারণা। এটিকে প্রশমিত করার জন্য তাদের কাছে ডিডিওএসের অভিজ্ঞতা এবং সরঞ্জাম থাকা উচিত - তাদের সরঞ্জামগুলি, প্রক্রিয়াগুলি এবং ক্রমবর্ধমান পদ্ধতিগুলি বুঝতে। হোস্টিং প্রদানকারী তাদের আপস্ট্রিম সরবরাহকারীদের কাছ থেকে কী সমর্থন জানায় সে সম্পর্কে জিজ্ঞাসা করুন । এই পরিষেবাগুলির অর্থ আরও আপ-ফ্রন্ট বা মাসিক ব্যয় হতে পারে তবে এটি বীমা পলিসি হিসাবে বিবেচনা করে।
আক্রমণে থাকাকালীন, আপনাকে আপনার লগগুলি ধরতে হবে এবং সেগুলি খনন করতে হবে - আক্রমণ করার ধরণটি চেষ্টা করে দেখুন out আপনার বেনামে অ্যাক্সেস বন্ধ করা এবং আক্রমণের অধীনে পরিষেবাগুলি থ্রটল করা বিবেচনা করা উচিত (অর্থাত্ সেবার জন্য আবেদনের হার সীমা হ্রাস করুন)।
ভাগ্যবান এবং আপনার যদি একটি ছোট, স্থির গ্রাহক-বেস থাকে তবে আপনি আপনার বৈধ গ্রাহকদের আইপি ঠিকানাগুলি নির্ধারণ করতে সক্ষম হতে পারেন। যদি এটি হয় তবে আপনি অল্প সময়ের জন্য একটি সাদা-তালিকা পদ্ধতির দিকে যেতে পারেন। নিশ্চিত হয়ে নিন যে আপনার সমস্ত গ্রাহকরা জানেন যে এটি চলছে তাই তারা যদি নতুন আইপি থেকে অ্যাক্সেসের প্রয়োজন হয় তবে তারা কল করতে পারেন :)
ডগ ম্যাকক্লিয়েনের এখানে দুর্দান্ত পরামর্শ রয়েছে: https://stackoverflow.com/a/1029613/1395668
প্রশ্নের পিএইচপি অংশ অনুযায়ী;
যদিও আমি এর জন্য পিএইচপি-র উপর নির্ভর করি না, এটি কার্যকর করা যেতে পারে তবে এই সমস্ত সম্ভাব্যতা বা আরও বেশি বিবেচনা করা দরকার;
সরল ছদ্ম;
<?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;
?>
অনুরোধ চেইনে পিএইচপি স্তরটি খুব দেরিতে।
কোনও ওপেন সোর্স অ্যাপ্লায়েন্সের পিছনে আপনার অ্যাপাচি সার্ভার স্থাপন করা আপনার পক্ষে ভাল বিকল্প হতে পারে।
http://tengine.taobao.org/ এর ডিডিওএস প্রতিরোধের উদ্দেশ্যে কিছু ডকুমেন্টেশন এবং সোর্স কোড রয়েছে আরও মডিউল। এটি এনগিনেক্সের সম্প্রসারণ, যাতে আপনি সহজেই এটি আপনার অ্যাপাচের উদাহরণের জন্য বিপরীত প্রক্সি হিসাবে সেট আপ করতে পারেন।
দেখুন: http://blog.zhuzhaoyuan.com/2012/01/a-mechanism-to-help-write-web-application-firewalls-for-nginx/ কীভাবে সংঘর্ষের লড়াইয়ের জন্য ডস আক্রমন হয়েছে।
সম্পূর্ণরূপে ভুলে গেছি, http://www.cloudflare.com হ'ল শীর্ষস্থানীয় একটি ফ্রি ওয়েব অ্যাপ্লিকেশন ফায়ারওয়াল, তাদের বিনামূল্যে এবং অর্থ প্রদানের পরিকল্পনা রয়েছে এবং আমরা আপনার গাধা ডিডিওএস থেকে সংরক্ষণ করব আমরা এটি কেবল আমাদের উচ্চ ট্র্যাফিক সাইটগুলিকে কেবল ক্যাচিংয়ের জন্য ব্যবহার করি । এটা দারুণ!
আপনি পিএইচপি স্তরে এটি করতে পারবেন না। ডিডিওএস হ'ল এক ধরণের আক্রমণ যা আপনার ওয়েবসারকে অনেকগুলি অনুরোধ প্রেরণ করে। আপনার ওয়েবসার্ভার এটি আপনার পিএইচপি স্ক্রিপ্ট কল করার আগে অনুরোধ প্রত্যাখ্যান করবে।
আপনি Apache ব্যবহার করে থাকেন, এখানে অ্যাপাচি থেকে কিছু টিপস হল: http://httpd.apache.org/docs/trunk/misc/security_tips.html
ডিডিওএস খুব ব্যয়বহুল, উদ্দেশ্য-নির্মিত নেটওয়ার্ক অ্যাপ্লায়েন্স দ্বারা সেরা পরিচালনা করা হয়। হোস্টগুলি সাধারণত ডিডোএস সুরক্ষা করা ভাল নয় কারণ এগুলি তুলনামূলকভাবে কম কর্মক্ষমতা, রাষ্ট্রীয় ক্লান্তি, সীমিত ব্যান্ডউইথ ইত্যাদির সাপেক্ষে iptables, অ্যাপাচি মোডগুলি এবং এই জাতীয় পরিষেবাদি কিছু পরিস্থিতিতে সহায়তা করতে পারে যদি আপনার ডিডিওএস প্রশমন হার্ডওয়্যারটিতে অ্যাক্সেস না থাকে if বা ডিডিওএস প্রশমন পরিষেবা, তবে এটি আদর্শ থেকে দূরে এবং এখনও আপনাকে আক্রমণের ঝুঁকিতে ফেলে দেয়।
পিএইচপি সাইডে এরকম কিছু সম্পর্কে কীভাবে:
//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;
}
আপনি ডিপোস / ডসের জন্য অ্যাপাচে ব্যবহার করতে পারেন এমন প্লাগইন রয়েছে। এখানে শুভ সূচনা করুন
আপনি যদি এলইএমপিতে থাকেন তবে আপনি এখানে পরীক্ষা করতে পারেন। http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html
এগুলি ভাল সস্তা শুরুর পয়েন্ট।
পিএইচপি-ভিত্তিক সুরক্ষা ব্যবহার করবেন না , এটি ভয়ঙ্কর এবং এর প্রভাব খুব কমই পড়বে! রেট-সীমা অনুরোধগুলিতে আপনার ওয়েবসভারটি কনফিগার করুন, উদাহরণস্বরূপ Nginx এ সীমা_আরক মডিউলটি ব্যবহার করে ( http://nginx.org/en/docs/http/ngx_http_limit_req_module.html )
যদিও, আমি স্তর -4 কে লড়াই করার জন্য ক্লাউডফ্লেয়ার ব্যবহার করার পরামর্শ দেব - তবে আপনি প্রদান করতে ইচ্ছুক না হলে স্তর -7 ভিত্তিক আক্রমণগুলি নয়।
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- র মাধ্যমে পুরোপুরি রক্ষণাবেক্ষণগুলি বন্ধ করে দেয়, এতে অবশ্যই কার্য সম্পাদনের ক্ষেত্রে অন্যান্য ত্রুটি রয়েছে। অন্যান্য মডিউল দ্বারা সরবরাহিত বিভিন্ন সময়সীমা সম্পর্কিত নির্দেশাবলীর মানগুলি পরীক্ষা করা উচিত।
ক্লায়েন্ট ইনপুট দ্বারা চালিত রিসোর্স খরচ সীমাবদ্ধ করার জন্য সীমাবদ্ধতার সীমাবদ্ধতার নির্দেশাবলী সীমাবদ্ধতাবেস্টফিল্ডস, সীমাবদ্ধতাফিল্ডসাইজ, লিমিটরেক্সেস্টাইন এবং লিমিটএক্সএমএলআরেক্সেস্টবডি সাবধানতার সাথে কনফিগার করা উচিত। সংস্থান ছাড়াই সার্ভারকে সর্বাধিক সংখ্যক একযোগে সংযোগ পরিচালনা করার অনুমতি দেওয়ার জন্য ম্যাকআরকয়েস্ট ওয়ার্কার্সের নির্দেশকে টিউন করুন।
অ্যান্টি ডিডিওএস পদক্ষেপগুলি: