কীভাবে এনগিনেক্স এথ_ব্যাসিক পুনরায় চেষ্টা সীমাবদ্ধ করবেন?


14

আমি এনগিনেক্সের এথ_ব্যাসিক মডিউল সহ একটি ওয়েব ফোল্ডার সুরক্ষিত করেছি। সমস্যাটি হ'ল, এটি কাজ না করা পর্যন্ত আমরা বেশ কয়েকটি পাসওয়ার্ড চেষ্টা করতে পারি (ব্রুট ফোর্স আক্রমণ)। ব্যর্থ পুনরায় চেষ্টা সংখ্যা সীমাবদ্ধ করার কোন উপায় আছে কি?

উত্তর:


29

যতদূর আমি জানি, আথ বেসিক মডিউলটি এই বৈশিষ্ট্যটি সমর্থন করে না, তবে আপনি ফেলাইল 2 ব্যবহার করে এটি করতে পারেন ।

অস্তিত্বহীন ব্যবহারকারীর সাথে পরীক্ষা করা, আপনি ত্রুটি লগতে নীচের মতো কিছু দেখতে পাবেন:

2012/08/25 10:07:01 [error] 5866#0: *1 no user/password was provided for basic authentication, client: 127.0.0.1, server: localhost, request: "GET /pma HTTP/1.1", host: "localhost:81" 2012/08/25 10:07:04 [error] 5866#0: *1 user "ajfkla" was not found in "/etc/nginx/htpasswd", client: 127.0.0.1, server: localhost, request: "GET /pma HTTP/1.1", host: "localhost:81"

তারপরে প্রয়োজনীয় ফিল্টার তৈরি করুন:

/etc/fail2ban/filter.d/nginx-auth.conf

[Definition]
failregex = no user/password was provided for basic authentication.*client: <HOST>
              user .* was not found in.*client: <HOST>
              user .* password mismatch.*client: <HOST>
ignoreregex = </host></host></host> 

/etc/fail2ban/jail.conf

[nginx-auth]
enabled = true
filter = nginx-auth
action = iptables[name=NoAuthFailures, port=80, protocol=tcp]
logpath = /var/log/nginx*/*error*.log
bantime = 3600 # 1 hour
maxretry = 3

ব্যর্থ 2 নিষেধাজ্ঞার পরীক্ষা করা:

fail2ban-regex /var/log/nginx/localhost.error_log /etc/fail2ban/filter.d/nginx-auth.conf

Failregex
|- Regular expressions:
|  [1] no user/password was provided for basic authentication.*client: <HOST>
|  [2] user .* was not found in.*client: <HOST>
|  [3] user .* password mismatch.*client: <HOST>
|
`- Number of matches:
   [1] 1 match(es)
   [2] 2 match(es)
   [3] 0 match(es)

Ignoreregex
|- Regular expressions:
|
`- Number of matches:

Summary
=======

Addresses found:
[1]
    127.0.0.1 (Sat Aug 25 10:07:01 2012)
[2]
    127.0.0.1 (Sat Aug 25 10:07:04 2012)
    127.0.0.1 (Sat Aug 25 10:07:07 2012)
[3]

পিএস: যেহেতু ফেইল2বান লগ ফাইলগুলি নিষিদ্ধ করতে আনছে, তাই logpathআপনার কনফিগারেশনের সাথে নিশ্চিত ম্যাচগুলি নিশ্চিত করুন ।


5

আমি বিস্মিত হয়েছি আর কেউই এই সমাধান / কার্যবিবরণী দেয় নি।

Nginx বেসিক-লেখক এবং and htpasswdচ্ছিক ব্যয় ভেরিয়েবলের সাহায্যে বিক্রিপ্ট পাসওয়ার্ড এনক্রিপশন সমর্থন করে। Bcrypt ধীর হওয়ার জন্য ডিজাইন করা হয়েছে, এভাবে আপনি কীভাবে বিভিন্ন পাসওয়ার্ড চেষ্টা করতে পারেন তার একটি কঠোর সীমা সরবরাহ করে।

আপনার বুনিয়াদি লেখক ব্যবহারকারীর নাম / পাসওয়ার্ড ব্যবহার করার সময়

htpasswd -B -C 12 path/to/users.db <username>

12 টির দাম সহ আপনার সার্ভারটি সম্ভবত কয়েক সেকেন্ডের চেয়ে বেশি বার পাসওয়ার্ড ব্যবহার করতে সক্ষম হবে না, 14 বলতে বাড়াতে হবে এবং আপনি সম্ভবত পাসওয়ার্ডের প্রয়াসে প্রায় 1 এস খুঁজছেন।

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

একটি 8 অক্ষরের আলফানিউমেরিক পাসওয়ার্ড দ্বিতীয় পাশব বল আক্রমণ 10 পাসওয়ার্ড প্রচেষ্টা এ যেমন 692.351 বছর লাগতে হবে: 62**8 / (10*3600*24*365)

এটি "বুদ্ধিমান" অনুরোধ সীমাবদ্ধ করার চেয়ে কনফিগার করা অনেক সহজ এবং মূর্খ-প্রমাণ।


2
আপনি যদি bcryptএনগিনেক্সের মৌলিক লেখার সাথে এড পাসওয়ার্ড ব্যবহার করতে পারতেন তবে এটি কার্যকর হবে তবে দৃশ্যত আপনি পারবেন না
কিউন

আমি চেষ্টা করেছি, এটি আমার পক্ষে একেবারে ঠিক কাজ করে। এখন এটি উত্পাদন ব্যবহার।
এসকোলভিন

উবুন্টুতে ভ্যানিলা এনজিক্সে কাজ করছেন না যেমনটি @ কেউন বলেছেন
ফ্যাবিয়ান

4
উল্লেখযোগ্য যে এটি পাসওয়ার্ডের প্রচেষ্টাগুলিকে সীমাবদ্ধ করবে, তবে কেবলমাত্র আপনার সার্ভারটি ব্যয়বহুল হ্যাশগুলি গণনা করা থেকে ওভারলোড হবে load উত্পাদনের পরিবেশে এটি সম্ভবত আপনি চান না।
টমাসজ পি। জাজিনালস্কি

শক্ত এবং সহজ, হ্যাঁ। সিপিইউ ব্যবহারের বিরুদ্ধে ডস আক্রমণকে অনুমতি দেয়।
রেনার রিল্ক

1

আমি বিশ্বাস করি না এনজিনেক্সের এটি করার জন্য কোনও অভ্যন্তরীণ সুবিধা রয়েছে। ডকুমেন্টেশন পৃষ্ঠাটিতে এটা সম্ভব সুপারিশ নেই।

আপনি ব্যর্থ লগইন প্রচেষ্টা বারবার হয়েছে এমন আইপি ঠিকানাগুলি ব্লক করতে Fail2Ban ব্যবহার করতে পারেন।

Fail2Ban উইকিতে কিছু nginx- নির্দিষ্ট নিদর্শন রয়েছে

Fail2Ban বেশিরভাগ বড় ডিস্ট্রোজে প্যাকেজ হিসাবে পাওয়া উচিত।


0

এনগিনেক্স-এইচটিটিপি-আথ-ডাইজেস্ট মডিউলটি পুনরায় চেষ্টা ও সময়সীমা হিসাবে অতিরিক্ত অতিরিক্ত বৈশিষ্ট্য স্তন্যপান সহ বেসিক লেখক মডিউলটি প্রতিস্থাপন করতে পারে। অতিরিক্ত ডকুমেন্টেশন এখানে উপলব্ধ

একমাত্র ক্ষতি হ'ল এটির জন্য সম্ভবত পুনর্নির্মাণের এনজিনেক্স প্রয়োজন

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