این روش احراز هویت 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 و نشانی‌های link-local قرار دهید:

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 پیکربندی ویژهٔ همان نسخه را ببینید.

مقالات مرتبط