Skip to main content
CheckTown
डेव टूल

htpasswd जेनरेटर: Apache और Nginx बेसिक प्रमाणीकरण

प्रकाशित 5 मिनट का पठन
इस लेख में

htpasswd क्या है?

एक htpasswd फ़ाइल एक फ़्लैट-फ़ाइल डेटाबेस है जिसका उपयोग Apache और Nginx वेब सर्वर HTTP Basic Authentication के लिए उपयोगकर्ता नाम और हैश किए गए पासवर्ड संग्रहीत करने हेतु करते हैं। हर पंक्ति में एक कोलन द्वारा अलग किए गए एक उपयोगकर्ता नाम और एक पासवर्ड हैश होता है, जैसे admin:$2y$10$abc...। यह फ़ाइल किसी पूर्ण प्रमाणीकरण बैकएंड की आवश्यकता के बिना वेब संसाधनों की सुरक्षा का एक सरल तरीका प्रदान करती है।

htpasswd उपयोगिता मूल रूप से Apache HTTP Server परियोजना का हिस्सा थी, लेकिन यह फ़ाइल प्रारूप कई वेब सर्वरों, रिवर्स प्रॉक्सी और विकास टूल द्वारा समर्थित एक वास्तविक मानक बन गया है। आधुनिक htpasswd जनरेटर bcrypt, SHA-1 और MD5 सहित कई हैशिंग एल्गोरिदम का समर्थन करते हैं, जिनमें bcrypt सुरक्षा के लिए अनुशंसित विकल्प है।

htpasswd जनरेशन कैसे काम करता है

एक htpasswd प्रविष्टि उत्पन्न करने में एक सादे-टेक्स्ट पासवर्ड को चुने गए एल्गोरिदम से हैश करना और उसे उपयोगकर्ता नाम के साथ प्रारूपित करना शामिल है। परिणामी हैश की मज़बूती एल्गोरिदम और उसके कॉन्फ़िगरेशन पर निर्भर करती है।

  • bcrypt ($2y$) — सबसे सुरक्षित विकल्प, एक कॉन्फ़िगर करने योग्य लागत कारक (डिफ़ॉल्ट 10) का उपयोग करता है जो नियंत्रित करता है कि प्रत्येक हैश गणनात्मक रूप से कितना महँगा है, जिससे ब्रूट-फ़ोर्स हमले अव्यावहारिक हो जाते हैं
  • SHA-1 ({SHA}) — {SHA} से उपसर्गित एक Base64-एन्कोडेड SHA-1 डाइजेस्ट उत्पन्न करता है; bcrypt से तेज़ है लेकिन आधुनिक GPU-आधारित हमलों के विरुद्ध काफ़ी कमज़ोर है
  • MD5 ($apr1$) — एक यादृच्छिक सॉल्ट के साथ Apache का कस्टम MD5 रूप; लेगेसी प्रारूप अभी भी समर्थित है लेकिन ज्ञात कमज़ोरियों के कारण नए डिप्लॉयमेंट के लिए अनुशंसित नहीं है

निःशुल्क आज़माएँ — कोई साइनअप आवश्यक नहीं

htpasswd प्रविष्टि उत्पन्न करें →

htpasswd के सामान्य उपयोग

htpasswd-आधारित प्रमाणीकरण का व्यापक रूप से हल्के पहुँच नियंत्रण के लिए उपयोग किया जाता है जहाँ एक पूर्ण प्रमाणीकरण प्रणाली अत्यधिक होगी।

  • स्टेजिंग साइट सुरक्षा — प्री-प्रोडक्शन एनवायरनमेंट तक पहुँच को प्रतिबंधित करें ताकि केवल टीम के सदस्य और हितधारक ही प्रगति पर काम देख सकें
  • एडमिन पैनल सुरक्षा — CMS एडमिन पैनल, डेटाबेस प्रबंधन टूल, या मॉनिटरिंग डैशबोर्ड के आगे प्रमाणीकरण की एक अतिरिक्त परत जोड़ें
  • विकास एनवायरनमेंट पहुँच — OAuth या LDAP सेट किए बिना स्थानीय या साझा विकास सर्वरों को अनधिकृत पहुँच से सुरक्षित रखें

अक्सर पूछे जाने वाले प्रश्न

मुझे htpasswd के लिए bcrypt, SHA-1, या MD5 में से किसका उपयोग करना चाहिए?

जब भी संभव हो हमेशा bcrypt का उपयोग करें। Bcrypt एक कॉन्फ़िगर करने योग्य लागत कारक के साथ पासवर्ड हैशिंग के लिए विशेष रूप से बनाया गया है जो इसे ब्रूट-फ़ोर्स हमलों के प्रति प्रतिरोधी बनाता है। SHA-1 और MD5 तेज़ हैश फ़ंक्शन हैं जो पासवर्ड के लिए डिज़ाइन नहीं किए गए हैं — इन्हें bcrypt की तुलना में कई गुना तेज़ी से क्रैक किया जा सकता है। कुछ पुराने Apache वर्ज़न bcrypt का समर्थन नहीं कर सकते, लेकिन कोई भी आधुनिक इंस्टॉलेशन करता है।

मुझे अपने सर्वर पर htpasswd फ़ाइल कहाँ रखनी चाहिए?

htpasswd फ़ाइल को अपने वेब रूट के बाहर संग्रहीत करें ताकि इसे विज़िटर्स को परोसा न जाए। एक सामान्य स्थान /etc/apache2/.htpasswd या /etc/nginx/.htpasswd है। फिर अपने सर्वर कॉन्फ़िगरेशन में AuthUserFile (Apache) या auth_basic_user_file (Nginx) के साथ इसका संदर्भ दें। इसे कभी भी सार्वजनिक रूप से सुलभ डायरेक्टरी में न रखें।

क्या HTTP Basic Authentication प्रोडक्शन के लिए पर्याप्त सुरक्षित है?

Basic Authentication हर अनुरोध के साथ क्रेडेंशियल को Base64-एन्कोडेड टेक्स्ट (एन्क्रिप्टेड नहीं) के रूप में भेजता है, इसलिए इसका उपयोग हमेशा HTTPS पर किया जाना चाहिए। HTTPS के साथ भी, इसमें सत्र प्रबंधन, दर सीमन और अकाउंट लॉकआउट जैसी सुविधाएँ नहीं हैं। यह स्टेजिंग साइटों या आंतरिक टूल जैसे कम-जोखिम वाले परिदृश्यों के लिए उपयुक्त है, लेकिन प्रोडक्शन में उपयोगकर्ता-सामने वाले प्रमाणीकरण को टोकन-आधारित सत्रों के साथ एक उचित प्रमाणीकरण प्रणाली का उपयोग करना चाहिए।

संबंधित टूल