web-dev-qa-db-ja.com

基本的なユーザー名とパスワード認証を使用してsquidプロキシを設定する方法は?

現在、aclでipを使用していますが、これを行うにはユーザー名とパスワードを使用します。

77
www

buntu 14.04で基本認証を設定するために私がしなければならなかったことは以下のとおりです(他のどこにもガイドが見つかりませんでした)

基本的なイカの設定

/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

古いncsa_authの代わりにbasic_ncsa_authプログラムに注意してください

squid 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

選択したユーザー名のパスワードを2回入力してから

Sudo service squid3 restart

squid 2.x

Sudo htpasswd -c /etc/squid/passwords username_you_like

選択したユーザー名のパスワードを2回入力してから

Sudo service squid restart

htdigest vs htpasswd

私に尋ねた多くの人々のために:2つのツールは異なるファイル形式を生成します:

  • htdigestは、パスワードをプレーンテキストで保存します。
  • htpasswdはハッシュされたパスワードを保存します(さまざまなハッシュアルゴが利用可能です)

フォーマットbasic_ncsa_authのこの違いにもかかわらずhtdigestで生成されたパスワードファイルを解析することはできます。したがって、代わりに使用することができます:

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

このアプローチは経験的で、文書化されておらず、Squidの将来のバージョンではサポートされない可能性があることに注意してください

Ubuntu 14.04では、htdigesthtpasswdは両方とも[Apache2-utils][1]パッケージで利用できます。

マックOS

上記と同様ですが、ファイルパスは異なります。

Squidをインストールする

brew install squid

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
#

ここで、user:password基本認証資格情報を生成します(注:htpasswdhtdigestはどちらもMacOSでも使用可能です)

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

Squidサービスを再起動します

brew services restart squid
177
Stefano Fratini