تضيف هذه الخطوات مصادقة Basic المعتمدة على NCSA إلى بروكسي Squid 6.13 مقيد بالمصدر. مساعد 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.

مقالات ذات صلة