गलत पासवर्ड डालने के बाद होने वाली देरी को कैसे बदला जा सकता है?


32

लॉगिन प्रॉम्प्ट पर एक गलत पासवर्ड दर्ज करने के बाद, लगभग 3 सेकंड की देरी है। मैं PAM के साथ लिनक्स सिस्टम पर इसे कैसे बदल सकता हूं?


1
मैं एक सुरक्षा के नजरिए से एक देरी के लिए की जरूरत है, लेकिन डिफ़ॉल्ट देरी है बल्कि कष्टप्रद
माइक पेनिंगटन

3
यह दिलचस्प रहा है; हो सकता है कि मैं एक ऐसा मॉड्यूल लिखूंगा जो एन को बिना किसी देरी के किसी भी संख्या में देरी के साथ एन ट्राय करने की अनुमति देता है।
शॉन जे। गोफ

1
एक नए मॉड्यूल (मेरी पिछली टिप्पणी में सुझाव दिया) के बजाय, मैं प्रयोग किया जाता है pam_unixके साथ nodelayविकल्प और pam_tally2साथ deny=5 unlock_time=15; यह 5 तत्काल रिट्रीट के लिए अनुमति देता है, लेकिन 15 सेकंड के लिए (एक सफल पासवर्ड के साथ भी) एक्सेस से इनकार करता है। मैं अभी भी वर्णित मॉडल लिखने का प्रयास करने का इरादा रखता हूं, लेकिन अब यह एक बैक-बर्नर परियोजना है, क्योंकि यह उपयुक्त नहीं होगा यदि सिस्टम पर आपकी प्राथमिक पहुंच नेटवर्क-आधारित है क्योंकि यह डॉस हमले को तुच्छ बनाता है।
शॉन जे। गोफ

1
यदि आप टाइमआउट से एक नेटवर्क DoS के बारे में चिंतित हैं, तो विफलता 2ban का उपयोग करें ... वास्तव में इसका उपयोग करें, भले ही आपको लगता है कि आप सुरक्षित हैं :-)। मैं दो दिन के प्रतिबंध के समय का उपयोग करता हूं
माइक पेनिंगटन

जवाबों:


21

मुझे लगता है कि आप लिनक्स और पाम का उपयोग कर रहे हैं। देरी शायद इससे होती है pam_faildelay.so। में अपने PAM विन्यास की जाँच /etc/pam.dका उपयोग कर pam_faildelay, जैसे:

# Enforce a minimal delay in case of failure (in microseconds).
# (Replaces the `FAIL_DELAY' setting from login.defs)
# Note that other modules may require another minimal delay. (for example,
# to disable any delay, you should add the nodelay option to pam_unix)
auth       optional   pam_faildelay.so  delay=3000000

समय बदलने के लिए देरी पैरामीटर समायोजित करें। यदि आप देरी से छुटकारा चाहते हैं तो आप पूरी लाइन को हटा सकते हैं / टिप्पणी कर सकते हैं।

देरी के लिए एक और स्रोत हो सकता है pam_unix.so। पैरामीटर pam_unix.soजोड़ने के कारण हुई देरी को अक्षम करने के लिए nodelay, और वैकल्पिक रूप से pam_faildelay.soइसके बजाय (चर) देरी को जोड़ने के लिए एक लाइन कॉलिंग जोड़ें, जैसे:

auth       optional   pam_faildelay.so  delay=100000

2
इसमें कहीं भी देरी का कोई जिक्र नहीं है /etc/pam.d/*। निकटतम चीज pam_tally.soजो मैं देख रहा हूं, जो कुछ संख्या में प्रयासों के बाद लॉक करने की अनुमति देता है। लेकिन मेरे पास n है /etc/login.defs, जो मुझे चाहिए।
शॉन जे। गोफ

@ ShawnJ.Goff pam_tally.soजहां तक ​​मुझे पता है, देरी का कारण नहीं है। अन्य लोगों के लिए एक और स्रोत हो सकता है pam_unix.so- आप इसे nodelayविकल्प के साथ अक्षम कर सकते हैं - अधिक विवरण के लिए linux.die.net/man/8/pam_unix देखें
उलरिच

1
के साथ एक नई प्रविष्टि जोड़ने और जोड़ने का nodelayविकल्प देता है जिससे मुझे जो भी चाहिए वह सेट होता है। धन्यवाद! pam_unix.sopam_faildelay.so delay=$some_number
शॉन जे। गोफ

2
23 रनिंग फेडोरा, मुझे pam_unix.soदेरी को अक्षम करना पड़ा और pam_faildelay.so@ ShawnJ.Goff के रूप में उपयोग करना शुरू किया । हालाँकि, अधिकांश pam.dकॉन्फ़िगरेशन में " यह फ़ाइल स्वतः-जनरेट की गई है। उपयोगकर्ता परिवर्तन अगली बार ऑक्टेंकोफिग चलाए जाने पर नष्ट हो जाएंगे। " तो मैं देरी से स्थायी रूप से कहां कॉन्फ़िगर कर सकता हूं?
jozxyqk

11

आपको nodelayपैरामीटर को पास करने की आवश्यकता है auth pam_unix.so

आपके द्वारा प्रमाणित होने के आधार पर, जहां आपको पैरामीटर सेट करने की आवश्यकता होती है, भिन्न होता है। हालाँकि, अधिकांश linux distrubtions में कुछ ऐसा होता है, /etc/pam.d/system-authजो सभी अलग-अलग फाइलों में शामिल होता है।

तो उदाहरण के लिए /etc/pam.d/system-authआपके पास एक लाइन हो सकती है जो इस तरह दिखती है:

auth            sufficient      pam_unix.so try_first_pass nullok

इसे बदल दिया जाना चाहिए:

auth            sufficient      pam_unix.so try_first_pass nullok nodelay

pam_unix.soमॉड्यूल क्या खिलाफ प्रमाणीकरण प्रदर्शन करती है /etc/passwdऔर /etc/shadow। यदि आप LDAP या कुछ अन्य पासवर्ड बैकएंड का उपयोग कर रहे हैं, तो आप संभावित रूप से अभी भी nodelayइस पर सेटिंग कर रहे हैं pam_unix.soकि क्या प्रॉम्प्ट को नियंत्रित करता है (जब यह pam_unix.soविफल हो जाता है, यह आमतौर पर अगले मॉड्यूल को प्राप्त पासवर्ड को पास करता है)।

आप के बारे में और अधिक पढ़ सकते pam_unix.soकरकेman pam_unix


मेरे सिस्टम में system-authमौजूद नहीं था; यह था /etc/common-auth। धन्यवाद!
ल्यूक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.