আমি কীভাবে আমার সার্ভারের সমস্ত সাইট থেকে কোনও ব্যবহারকারী এজেন্টকে ব্লক করতে পারি?


9

আমি মূলত এটি ওয়েবমাস্টার্স.স্ট্যাককেক্সচেঞ্জ.কম এ পোস্ট করেছি তবে আমাকে বলা হয়েছিল আমি এখানে আরও ভাল অভ্যর্থনা পাব।


গত কয়েক দিন ধরে, আমি ডিডোস আক্রমণ (সম্ভবত অসাবধানতা) বলে মনে হচ্ছে যা ভুগছি। আমি "মোজিলা / ৫.০ (সামঞ্জস্যপূর্ণ; আইসিএস)" হিসাবে চিহ্নিত এজেন্টের কাছ থেকে অনেকগুলি অনুরোধ পেয়েছি যা সমস্ত উপলব্ধ স্মৃতিতে অ্যাপাচি খায়।

ফলস্বরূপ, আমি এই ব্যবহারকারী এজেন্টের সাথে থাকা সমস্ত অনুরোধগুলি অবরুদ্ধ করতে চাই, তাই আমি httpd.conf এ করার চেষ্টা করেছি:

SetEnvIfNoCase User-Agent "Mozilla/4.0 (compatible; ICS)" bad_user
Deny from env=bad_user

তবে আমি যখন অ্যাপাচি পুনরায় চালু করব তখন এটি denyএখানে ব্যবহার সম্পর্কে অভিযোগ করে । এটিকে কোনও locationবা directoryব্লকে মোড়ানো না রেখে , যার অর্থ হ'ল প্রতিটি সাইটের জন্য আমাকে একটি নতুন ব্লক যুক্ত করতে হবে, এমন কোনও উপায় আছে যা আমি পুরো সার্ভারে অ্যাক্সেস অস্বীকার করতে পারি?


আপডেট: ত্রুটিটি আমি পেয়েছি


  • /Etc/apache2/httpd.conf এর 4 লাইনে ওয়েব সার্ভার অ্যাপাচি 2 সিনট্যাক্স ত্রুটি পুনরায় চালু করা হচ্ছে: এখানে অনুমোদিত নয় অস্বীকার করুন [ব্যর্থ]

উত্তর:


7

এখন পুরানো প্রশ্নের মতো মনে হচ্ছে, তবে আমিও এটি করতে চেয়েছিলাম এবং উপরের স্নায়ু থেকে উত্তরটি খুঁজে পেয়েছি। এটি যেমনটি ঠিক তেমন সঠিক নয় - আমার কাছে মনে হয় এটি হওয়া উচিত <Location "/">, এবং SetEnvIfনিয়মিত অভিব্যক্তিগুলির প্রয়োজন যাতে বন্ধনীগুলি উদ্ধৃত করা দরকার।

এটি আমার জন্য সমস্ত vhosts জুড়ে অ্যাক্সেস নিয়ন্ত্রণ প্রয়োগ করার জন্য কাজ করেছে:

SetEnvIfNoCase User-Agent "^Mozilla/4.0 \(compatible; Synapse\)" bad_ua
<Location "/">
    Deny from env=bad_ua
</Location>

ভোস্ট সংজ্ঞাগুলির আগে কেবল এটি অন্তর্ভুক্ত করুন।


(অ্যাপাচি ২.৪ এর সমতুল্যর জন্য) ব্যবহারে সাবধান থাকুন <Location>কারণ এটি <Directory>যোগ না করা পর্যন্ত এটি অন্য কোনও অনুমোদন বিধিনিষেধগুলিকে ওভাররাইড করে AuthMerging Andঅ্যাপাচিRequire ডক্স সম্পর্কে সুরক্ষা সতর্কতা দেখুন : httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require
সিড্রিক নাইট

4

মোড_উইরাইট ডক্স অনুসারে সার্ভার স্তরে কনফিগার করা যায়:

RewriteCond %{HTTP_USER_AGENT} "Mozilla/4\.0 \(compatible; ICS\)" [nocase]
RewriteRule ^.*$ - [forbidden,last]

এর মধ্যে রেজেক্স থেকে বাঁচতে ভুলবেন না RewriteCond


1
সাবধানতা: অনুলিপি করার সময় ড্যাশটি আসল ড্যাশ নয়। আমি সম্পাদনার চেষ্টা করেছি, তবে এসএফ অভিযোগ করবে যে আমার সম্পাদনা খুব ছোট is যাইহোক ধন্যবাদ, একটি ট্রিট কাজ!
থাইবাট ব্যারারে

@ ThibautBarrère আপনি কি সত্যিই করার দরকার হয়, আপনি যা করতে পারেন অদৃশ্য যোগ করে ছোট সম্পাদন করা সীমা বাইপাস <!-- -->সম্পাদনা
hanshenrik

1

প্রদত্ত সিটএনভি লাইনে সিনট্যাক্সটি সঠিক, আপনি এটি কনফের মতো ফেলে দিতে সক্ষম হবেন:

<Location *>
SetEnvIfNoCase User-Agent "Mozilla/4.0 (compatible; ICS)" bad_user
Deny from env=bad_user
</Location>

সমস্ত ভার্চুয়াল হোস্ট জুড়ে এটি পরিচালনা করার অনুমতি দেওয়া উচিত - কেবল ২.২.২৪-তে পরীক্ষা করা হয়েছে, একটি কবজির মতো কাজ করেছে।


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