เพิ่มการยืนยันตัวตน Basic ให้พร็อกซี Squid 6.13
ตั้ง helper NCSA ของ Squid 6.13 ร่วมเงื่อนไข IP ไคลเอนต์ที่อนุญาตกับการเข้าสู่ระบบที่ถูกต้อง และเข้าใจว่า Basic ป้องกันอะไร
ขั้นตอนนี้เพิ่ม Basic ที่ใช้ NCSA ให้พร็อกซี Squid 6.13 ที่จำกัดต้นทาง helper ของ 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 เห็น ต้องตรงทั้งสองเงื่อนไข ลบกฎอนุญาตไคลเอนต์แบบกว้างที่อยู่ก่อนหน้าและจะข้ามกฎเข้าสู่ระบบ แต่เก็บข้อจำกัด listener และไฟร์วอลล์ไว้
ตรวจไวยากรณ์ โหลดใหม่ แล้วเทียบสองคำขอ
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 ให้ดูค่าของเวอร์ชันนั้น