यह प्रक्रिया स्रोत-सीमित Squid 6.13 प्रॉक्सी में NCSA-आधारित Basic प्रमाणीकरण जोड़ती है। Debian 13 का सहायक /usr/lib/squid/basic_ncsa_auth है; अपने पैकेज का पथ और सेवा खाता पक्का करें।

पहला खाता बनाएँ

वितरण का htpasswd उपकरण इस्तेमाल करें और पासवर्ड संवादात्मक रूप से भरें:

sudo htpasswd -c /etc/squid/users proxyuser
sudo chown root:proxy /etc/squid/users
sudo chmod 640 /etc/squid/users

स्वामित्व Debian के सेवा समूह को मानता है। Squid को फ़ाइल पढ़नी चाहिए, अन्य उपयोगकर्ताओं को नहीं। बाद के खातों के लिए -c छोड़ें; यह नई फ़ाइल बनाता है और मौजूदा प्रविष्टियाँ बदल सकता है।

एक ही अनुमति नियम में स्रोत और लॉगिन माँगें

इन्हें मौजूदा गंतव्य-पोर्ट, प्रबंधन, localhost और लिंक-लोकल सुरक्षा नियमों के बाद रखें:

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/users
auth_param basic realm PrivateProxy

acl proxy_client src 198.51.100.27/32
acl logged_in proxy_auth REQUIRED

http_access allow proxy_client logged_in
http_access deny all

क्लाइंट पता Squid को दिखने वाले स्रोत से बदलें। दोनों शर्तें मिलनी चाहिए। लॉगिन नियम को पार कर देने वाले पहले के व्यापक क्लाइंट अनुमति नियम हटाएँ, पर लिसनर और फ़ायरवॉल की सीमाएँ बनाए रखें।

पार्स करें, पुनः लोड करें और दो अनुरोधों की तुलना करें

sudo squid -k parse -f /etc/squid/squid.conf

पार्सर की त्रुटियाँ ठीक कर परीक्षण से पहले प्रबंधित Squid सेवा फिर लोड करें। अनुमत स्रोत से बिना क्रेडेंशियल अनुरोध को प्रमाणीकरण चुनौती मिलनी चाहिए। असली प्रॉक्सी होस्टनाम के साथ अधिकृत अनुरोध से तुलना करें:

curl --proxy http://proxy.example:3128 --proxy-basic --proxy-user proxyuser --noproxy '' --connect-timeout 5 --max-time 15 https://example.com/

केवल उपयोगकर्ता नाम देने से curl पासवर्ड पूछता है। सही अनुरोध गंतव्य तक पहुँचना चाहिए।

Basic क्लाइंट और प्रॉक्सी का आदान-प्रदान एन्क्रिप्ट नहीं करता। बाद में गंतव्य का HTTPS पहले ही स्पष्ट-पाठ प्रॉक्सी को भेजे क्रेडेंशियल सुरक्षित नहीं कर सकता; उचित सुरक्षित मार्ग लें। ये निर्देश Squid 6.13 के लिए हैं; Squid 8 की संस्करण-विशिष्ट सेटिंग देखें।

संबंधित लेख