কীভাবে স্বল্প সময়ের মধ্যে সার্ভারে অনেকগুলি হিট তৈরি করতে কোনও আইপি ঠিকানা স্বয়ংক্রিয়ভাবে এবং অস্থায়ীভাবে অবরুদ্ধ করবেন?


21

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

তাহলে আমি কীভাবে স্বল্প সময়ের মধ্যে আমার ল্যাম্প সার্ভারে অনেকগুলি হিট তৈরি করে একটি আইপি ঠিকানা স্বয়ংক্রিয়ভাবে এবং সাময়িকভাবে ব্লক করতে পারি? কাজের জন্য সর্বোত্তম সরঞ্জামটি কী এবং আমি কি অপারেটিং সিস্টেম স্তরে বা পিএইচপি এর মাধ্যমে সমাধান করা উচিত?

উত্তর:


25

Fail2Ban । লিনাক্স প্ল্যাটফর্মে এই সমস্যার সোনার মান / ডিফল্ট সমাধান।


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

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

5

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

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

আইপি ঠিকানাগুলিকে আপত্তিজনক নিষেধাজ্ঞার চেষ্টা করার পাশাপাশি আপনার সংস্থানগুলির আরও ভাল ব্যবহার করার চেষ্টা করা উচিত। যদি কোনও অনুরোধটি কম সংস্থান নেয় তবে আক্রমণ কার্যকর হতে আরও বেশি সময় লাগবে।

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

আরও অন্যান্য ওয়েব সার্ভার রয়েছে যেগুলি আরও সংস্থানীয় দক্ষ। Nginx আমার প্রিয়। লাইটটিপিডিও রয়েছে। লাইটস্পিডের মতো প্রচুর লোক (অ্যাপাচের পরিবর্তে ড্রপ)।

আপনি যদি আপাচে লেগে থাকতে চান তবে এটিকে যথাসম্ভব সেরা করার জন্য বিবেচনা করুন। .Htaccess নিষ্ক্রিয় করার বিষয়টি বিবেচনা করুন। কেন একটি ভাল ব্যাখ্যা এখানে


2

HTTP ট্র্যাফিক নিয়ন্ত্রণ বা অবরুদ্ধ করতে আপনি ব্যবহার করতে পারেন:

তবে, সচেতন থাকুন যে এই সরঞ্জামটি ওয়েবপায়ারদের ব্লক / ধীর করতে পারে এবং তাই এসইওকে প্রভাবিত করে।


2
iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP

ওস্যাক এই ধরণের জিনিসটি স্বয়ংক্রিয়ভাবে এবং স্বচ্ছভাবে সিসলোগসের উপর ভিত্তি করে করতে পারে।


1
আপনি কি দয়া করে ব্যাখ্যা করতে পারবেন কোডের প্রথম লাইনটি ঠিক কী করে? এছাড়াও, কীভাবে ওসেক ব্যর্থ 2ban এর সাথে তুলনা করে? ধন্যবাদ।
প্রোগ্রামারগার্ল

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

-3

NoooBS,

--- বন্যা ---

iptables -N লগড্রপ iptables -A লোগ্রড-মি সাম্প্রতিক --set - নাম ব্ল্যাকলিস্ট

iptables -A লগড্রপ-মি সীমা - লিমিট 1 / s - লিমিটেড-বিস্ফোরণ 1 -j এলওজি - লগ-উপসর্গ "বন্যা:"

iptables -A লোগ্রড -j DROP

iptables -N ddos ​​iptables -A ddos ​​-m সাম্প্রতিক --rcheck - নাম ব্ল্যাকলিস্ট - সেকেন্ডস 300 --হিটকন্ট 1 -জে লগড্রপ iptables -A ddos ​​-m সাম্প্রতিক --set - নাম আবার iptables -A ddos ​​-m সাম্প্রতিক --update - আবার নাম - সেকেন্ড 60 --হিটকাউন্ট 2 -j লগড্রপ iptables -A ddos ​​-j প্রত্যাবর্তন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.