จะตั้งค่า Squid Proxy ด้วยการตรวจสอบชื่อผู้ใช้และรหัสผ่านเบื้องต้นได้อย่างไร? [ปิด]


88

ตอนนี้ฉันใช้ ip ใน acl และฉันต้องการใช้ชื่อผู้ใช้และรหัสผ่านเพื่อทำสิ่งนี้


นี่คืออีกตัวอย่างหนึ่งในการตั้งค่า Squid3 ด้วยการพิสูจน์ตัวตนสไตล์htdigest
hendry

นี่คือคำแนะนำฉบับสมบูรณ์สำหรับการติดตั้ง Squid3 และการกำหนดค่าด้วยการรับรองความถูกต้องhevi.info/2015/09/…
hevi

คำตอบ:


205

นี่คือสิ่งที่ฉันต้องทำเพื่อตั้งค่าการตรวจสอบสิทธิ์พื้นฐานบนUbuntu 14.04 (ไม่พบคำแนะนำจากที่อื่น)

พื้นฐานปลาหมึก Conf

/etc/squid3/squid.conf แทนที่จะเป็นไฟล์กำหนดค่าเริ่มต้นที่ป่องสุด ๆ

auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

# Choose the port you want. Below we set it to default 3128.
http_port 3128

โปรดสังเกตโปรแกรมbasic_ncsa_authแทนncsa_auth แบบเก่า

ปลาหมึก 2.x

สำหรับ Squid 2.x คุณต้องแก้ไข/etc/squid/squid.confไฟล์และวาง:

auth_param basic program /usr/lib/squid/digest_pw_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

การตั้งค่าผู้ใช้

sudo htpasswd -c /etc/squid3/passwords username_you_like

และป้อนรหัสผ่านสองครั้งสำหรับชื่อผู้ใช้ที่เลือกจากนั้น

sudo service squid3 restart

ปลาหมึก 2.x

sudo htpasswd -c /etc/squid/passwords username_you_like

และป้อนรหัสผ่านสองครั้งสำหรับชื่อผู้ใช้ที่เลือกจากนั้น

sudo service squid restart

htdigest กับ htpasswd

สำหรับหลาย ๆ คนที่ถามฉันว่าเครื่องมือ 2 ตัวสร้างรูปแบบไฟล์ที่แตกต่างกัน:

  • htdigest จัดเก็บรหัสผ่านเป็นข้อความธรรมดา
  • htpasswd จัดเก็บรหัสผ่านแฮช (มีการแฮชอัลกอสต่างๆ)

แม้จะมีความแตกต่างนี้ในรูปแบบจะยังคงสามารถที่จะแยกไฟล์รหัสผ่านที่สร้างขึ้นด้วยbasic_ncsa_auth htdigestดังนั้นคุณสามารถใช้:

sudo htdigest -c /etc/squid3/passwords realm_you_like username_you_like

โปรดระวังว่าแนวทางนี้เป็นวิธีการเชิงประจักษ์ไม่มีเอกสารและอาจไม่ได้รับการสนับสนุนจาก Squid ในอนาคต

บน Ubuntu 14.04 htdigestและhtpasswdมีอยู่ใน[apache2-utils][1]แพ็คเกจ

MacOS

คล้ายกับข้างต้น แต่เส้นทางของไฟล์จะแตกต่างกัน

ติดตั้งปลาหมึก

brew install squid

เริ่มบริการปลาหมึก

brew services start squid

ไฟล์กำหนดค่า Squid ถูกเก็บไว้ที่/usr/local/etc/squid.conf.

แสดงความคิดเห็นหรือลบบรรทัดต่อไปนี้:

http_access allow localnet

จากนั้นคล้ายกับ linux config (แต่มีเส้นทางที่อัปเดต) เพิ่มสิ่งนี้:

auth_param basic program /usr/local/Cellar/squid/4.8/libexec/basic_ncsa_auth /usr/local/etc/squid_passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

โปรดทราบว่าเส้นทางไปbasic_ncsa_authอาจจะแตกต่างกันเพราะมันขึ้นอยู่กับรุ่นที่ติดตั้งเมื่อใช้คุณสามารถตรวจสอบนี้กับbrew ls /usr/local/Cellar/squid/โปรดทราบว่าคุณควรเพิ่มข้อความข้างต้นในส่วนต่อไปนี้:

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

ตอนนี้สร้างผู้ใช้ด้วยตัวคุณเอง: ข้อมูลรับรองการรับรองความถูกต้องของรหัสผ่านขั้นพื้นฐาน (หมายเหตุ: htpasswdและhtdigestยังมีอยู่ใน MacOS)

htpasswd -c /usr/local/etc/squid_passwords username_you_like

เริ่มบริการปลาหมึกใหม่

brew services restart squid

1
แก้ไขแล้ว ขอบคุณมาร์ค
Stefano Fratini

11
สำหรับฉันคำสั่ง htdigest ใช้ไม่ได้ แต่เมื่อฉันแทนที่มันสำหรับ "sudo htpasswd -cd / etc / squid3 / passwords admin" มันก็ทำงานได้ตามที่คาดไว้
Phil Hannent

2
นั่นคือสิ่งที่ฉันคิดแม้ว่ามันจะได้ผลสำหรับฉัน มีการสนทนาที่เชื่อมโยงกับโพสต์นี้โดยมีคน 50% บอกว่าได้ผลและ 50% แนะนำให้เปลี่ยนเป็น htpasswd ฉันไม่มีชื่อเสียงมากพอที่จะเข้าร่วมการสนทนาแม้ว่า ... :(
Stefano Fratini

2
ทำงานให้ฉัน แต่ฉันก็ต้องใช้ htpasswd แทน htdigest ด้วยฉันไม่รู้ว่าทำไม แต่วิธีนี้มันได้ผล
Stefano

23
หากระบบของคุณไม่ได้โปรดทำhtpasswd sudo apt-get install apache2-utils
exebook
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.