【Linux】プロキシサーバソフト [2] ~ Squid / Basic認証編 ~

■ 前提条件

 * 以下の関連記事を参考に、Squid を設定しておくこと
https://blogs.yahoo.co.jp/dk521123/36956970.html

■ 準備

htpasswdコマンドを使う設定を行う

Basic認証の場合、パスワードファイルはハッシュ化する必要があるため
sudo yum -y install httpd-tools
http://tanihiro.hatenablog.com/entry/2014/02/05/172938

■ 構築手順

 * Basic認証のための設定を行う

[1] 設定ファイル「squid.conf」を修正する

sudo vi /etc/squid/squid.conf
acl CONNECT method CONNECT

#-= Add From -=-=-=-=-=-=-=-=
# 認証モジュールのPATHとパスワードファイルのPATHを指定
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/.htpasswd

# 認証用のプロセス数を制限
auth_param basic children 5

# 「auth_param basic realm 【ダイアログ表示の文言】」
auth_param basic realm Plz input your id and password for Basic Authentication

# 有効保持時間
auth_param basic credentialsttl 5 hours

# パスワードの大文字小文字を区別する
auth_param basic casesensitive on

# パスワード認証を許可
# acl [ルールの定義名] proxy_auth REQUIRED (acl : ACCESS CONTROL LIST) =>  password という制限を登録
acl password proxy_auth REQUIRED
# http_access allow [ルールの定義名] => password 有効化
http_access allow password
#-= Add To -=-=-=-=-=-=-=-=
設定の説明は、以下のサイトを参照
http://www.satlab-gineiden.com/pc-soft/proxy_server.html/2
http://blog.jojo.jp/?eid=1296553

[2] Basic認証用のパスワードファイル「.htpasswd」を作成

sudo htpasswd -c /etc/squid/.htpasswd 【ユーザ名】
# 新規作成
sudo htpasswd -c /etc/squid/.htpasswd admin
New password: 【パスワードを入力(例:「password」)】
Re-type new password: 【パスワードを入力(例:「password」)】
Adding password for user admin

# ユーザー追加
sudo htpasswd -b /etc/squid/.htpasswd guest password

# ユーザー削除
sudo htpasswd -D /etc/squid/.htpasswd guest

# 所有権の設定
sudo chown squid:squid -R /etc/squid

[3] Squid を再起動する

# 再起動
sudo systemctl restart squid

# 「active (running) 」であることを確認
sudo systemctl status squid

# 使用しているポート番号一覧表示し、「3128」が表示されることを確認
ss -tln

[4] 動作確認

 * プロキシを設定したFirefoxなどのブラウザで「yahoo.co.jp」をアクセスする

 => ダイアログ表示「・・・"Plz input your id and password for Basic Authentication"・・・」が表示されるはず。
 => 以下を入力する
  + ユーザ名 :【[2] で設定したユーザ名を入力(例:「admin」)】
  + パスワード:【[2] で設定したパスワードを入力(例:「password」)】

Squid / Basic認証あれこれ

大文字・小文字を区別するには...

 * 「auth_param basic casesensitive on」にする
casesensitive on について
http://www.squid-cache.org/Doc/config/auth_param/
http://squid.robata.org/Reference/squid3.4.0.3/auth_param.html ... 日本語訳
"casesensitive" on|off

 Specifies if usernames are case sensitive.
 # [意訳] ユーザ名が大文字小文字を区別する場合、指定する


関連記事

プロキシサーバソフト ~ Squid / 初期設定編 ~

https://blogs.yahoo.co.jp/dk521123/36956970.html

プロキシサーバソフト ~ Squid / SSLプロキシ構築編 ~

https://blogs.yahoo.co.jp/dk521123/36958786.html

Squid に関するトラブルシュート

https://blogs.yahoo.co.jp/dk521123/37044650.html

ポートに関するコマンド

https://blogs.yahoo.co.jp/dk521123/36964337.html

Java】プロキシ設定のチェック機能を考える ~ その1 ~

https://blogs.yahoo.co.jp/dk521123/37185366.html