Làm thế nào để thiết lập một Proxy mực với xác thực tên người dùng và mật khẩu cơ bản? [đóng cửa]


85

Tôi hiện đang sử dụng ip trong acl và tôi muốn sử dụng tên người dùng và mật khẩu để thực hiện việc này.


Dưới đây là một ví dụ khác làm thế nào để thiết lập squid3 với một xác thực theo phong cách htdigest: dabase.com/blog/Minimal_squid3_proxy_configuration
Hendry

đây là một hướng dẫn đầy đủ cho việc cài đặt và cấu hình squid3 với xác thực hevi.info/2015/09/...
hevi

Câu trả lời:


202

Đây là những gì tôi phải làm để thiết lập auth cơ bản trên Ubuntu 14.04 (không tìm thấy hướng dẫn ở bất kỳ nơi nào khác)

Câu mực cơ bản

/etc/squid3/squid.conf thay vì tệp cấu hình mặc định siêu cồng kềnh

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

Xin lưu ý rằng chương trình basic_ncsa_auth thay vì ncsa_auth

mực 2.x

Đối với mực 2.x, bạn cần chỉnh sửa /etc/squid/squid.conftệp và đặt:

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

Thiết lập người dùng

sudo htpasswd -c /etc/squid3/passwords username_you_like

và nhập mật khẩu hai lần cho tên người dùng đã chọn, sau đó

sudo service squid3 restart

mực 2.x

sudo htpasswd -c /etc/squid/passwords username_you_like

và nhập mật khẩu hai lần cho tên người dùng đã chọn, sau đó

sudo service squid restart

htdigest vs htpasswd

Đối với nhiều người đã hỏi tôi: 2 công cụ tạo ra các định dạng tệp khác nhau:

  • htdigest lưu trữ mật khẩu dưới dạng văn bản thuần túy.
  • htpasswd lưu trữ mật khẩu đã được băm (có nhiều thuật toán băm khác nhau)

Bất chấp sự khác biệt về định dạng basic_ncsa_auth này, bạn vẫn có thể phân tích cú pháp tệp mật khẩu được tạo bằnghtdigest . Do đó, bạn có thể sử dụng cách khác:

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

Lưu ý rằng cách tiếp cận này là theo kinh nghiệm, không có tài liệu và có thể không được các phiên bản Squid trong tương lai hỗ trợ .

Trên Ubuntu 14.04 htdigesthtpasswdcả hai đều có sẵn trong [apache2-utils][1]gói.

Hệ điều hành Mac

Tương tự như trên áp dụng, nhưng đường dẫn tệp khác nhau.

Cài đặt mực

brew install squid

Bắt đầu dịch vụ mực

brew services start squid

Tệp cấu hình Squid được lưu trữ tại /usr/local/etc/squid.conf.

Nhận xét hoặc xóa dòng sau:

http_access allow localnet

Sau đó, tương tự như cấu hình linux (nhưng với các đường dẫn được cập nhật), thêm điều này:

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

Lưu ý rằng đường dẫn đến basic_ncsa_authcó thể khác vì nó phụ thuộc vào phiên bản đã cài đặt khi sử dụng brew, bạn có thể xác minh điều này bằng ls /usr/local/Cellar/squid/. Cũng lưu ý rằng bạn nên thêm phần trên vào bên dưới phần sau:

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

Bây giờ hãy tạo cho mình một người dùng: thông tin xác thực cơ bản bằng mật khẩu (lưu ý: htpasswdhtdigestcả hai đều có sẵn trên MacOS)

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

Khởi động lại dịch vụ câu mực

brew services restart squid

1
Đã sửa ngay. Cảm ơn Mark.
Stefano Fratini

11
Đối với tôi, lệnh htdigest không hoạt động, tuy nhiên khi tôi đã thay thế nó cho "sudo htpasswd -cd / etc / ink3 / password admin", nó đã hoạt động như mong đợi.
Phil Hannent

1
Đó là những gì tôi nghĩ ngay cả khi nó có hiệu quả với tôi. Có một cuộc thảo luận liên kết đến bài đăng này với 50% người nói rằng nó hoạt động và 50% đề xuất thay đổi htpasswd. Tôi không có đủ uy tín để tham gia vào các cuộc thảo luận mặc dù ... :(
Stefano Fratini

2
đã làm việc cho tôi, nhưng tôi cũng phải sử dụng htpasswd thay vì htdigest, tôi không biết tại sao nhưng theo cách này thì nó đã hoạt động.
Pisu

21
Nếu hệ thống của bạn không có, htpasswdvui lòng làm sudo apt-get install apache2-utils.
exebook
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.