PAM - Pluggable Authentication Modules

Support HackTricks

Basic Information

PAM (Pluggable Authentication Modules) एक सुरक्षा तंत्र के रूप में कार्य करता है जो उन उपयोगकर्ताओं की पहचान की पुष्टि करता है जो कंप्यूटर सेवाओं तक पहुँचने का प्रयास कर रहे हैं, उनके पहुँच को विभिन्न मानदंडों के आधार पर नियंत्रित करता है। यह एक डिजिटल गेटकीपर के समान है, यह सुनिश्चित करता है कि केवल अधिकृत उपयोगकर्ता विशिष्ट सेवाओं के साथ संलग्न हो सकें जबकि संभावित रूप से उनके उपयोग को सीमित करता है ताकि सिस्टम ओवरलोड से बचा जा सके।

Configuration Files

  • Solaris और UNIX-आधारित सिस्टम आमतौर पर एक केंद्रीय कॉन्फ़िगरेशन फ़ाइल का उपयोग करते हैं जो /etc/pam.conf पर स्थित होती है।

  • Linux सिस्टम एक निर्देशिका दृष्टिकोण को प्राथमिकता देते हैं, जिसमें सेवा-विशिष्ट कॉन्फ़िगरेशन /etc/pam.d के भीतर संग्रहीत होते हैं। उदाहरण के लिए, लॉगिन सेवा के लिए कॉन्फ़िगरेशन फ़ाइल /etc/pam.d/login पर पाई जाती है।

लॉगिन सेवा के लिए PAM कॉन्फ़िगरेशन का एक उदाहरण इस प्रकार हो सकता है:

auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_nologin.so
auth sufficient /lib/security/pam_ldap.so
auth required /lib/security/pam_unix_auth.so try_first_pass
account sufficient /lib/security/pam_ldap.so
account required /lib/security/pam_unix_acct.so
password required /lib/security/pam_cracklib.so
password required /lib/security/pam_ldap.so
password required /lib/security/pam_pwdb.so use_first_pass
session required /lib/security/pam_unix_session.so

PAM प्रबंधन क्षेत्र

ये क्षेत्र, या प्रबंधन समूह, auth, account, password, और session शामिल हैं, प्रत्येक प्रमाणीकरण और सत्र प्रबंधन प्रक्रिया के विभिन्न पहलुओं के लिए जिम्मेदार हैं:

  • Auth: उपयोगकर्ता की पहचान को मान्य करता है, अक्सर पासवर्ड के लिए संकेत देकर।

  • Account: खाता सत्यापन को संभालता है, जैसे समूह सदस्यता या समय-सीमा प्रतिबंधों की जांच करना।

  • Password: पासवर्ड अपडेट का प्रबंधन करता है, जिसमें जटिलता जांच या शब्दकोश हमलों की रोकथाम शामिल है।

  • Session: सेवा सत्र की शुरुआत या अंत के दौरान क्रियाओं का प्रबंधन करता है, जैसे निर्देशिकाओं को माउंट करना या संसाधन सीमाएँ सेट करना।

PAM मॉड्यूल नियंत्रण

नियंत्रण मॉड्यूल की सफलता या विफलता पर प्रतिक्रिया को निर्धारित करते हैं, जो समग्र प्रमाणीकरण प्रक्रिया को प्रभावित करते हैं। इनमें शामिल हैं:

  • Required: एक आवश्यक मॉड्यूल की विफलता अंततः विफलता का परिणाम देती है, लेकिन केवल तब जब सभी बाद के मॉड्यूल की जांच की जाती है।

  • Requisite: विफलता पर प्रक्रिया का तात्कालिक समाप्ति।

  • Sufficient: सफलता उसी क्षेत्र के बाकी जांचों को बायपास करती है जब तक कि कोई बाद का मॉड्यूल विफल न हो।

  • Optional: केवल विफलता का कारण बनता है यदि यह स्टैक में एकमात्र मॉड्यूल है।

उदाहरण परिदृश्य

कई auth मॉड्यूल के साथ सेटअप में, प्रक्रिया एक सख्त क्रम का पालन करती है। यदि pam_securetty मॉड्यूल लॉगिन टर्मिनल को अनधिकृत पाता है, तो रूट लॉगिन अवरुद्ध हो जाते हैं, फिर भी सभी मॉड्यूल को इसके "required" स्थिति के कारण संसाधित किया जाता है। pam_env पर्यावरण चर सेट करता है, जो उपयोगकर्ता अनुभव में सहायता कर सकता है। pam_ldap और pam_unix मॉड्यूल एक साथ मिलकर उपयोगकर्ता को प्रमाणीकरण करते हैं, pam_unix पहले से दिए गए पासवर्ड का उपयोग करने का प्रयास करता है, प्रमाणीकरण विधियों में दक्षता और लचीलापन बढ़ाता है।

संदर्भ

Support HackTricks

Last updated