【0】前提条件
* 以下の関連記事を参考に、Squid を設定しておくこと
https://dk521123.hatenablog.com/entry/2017/06/23/223438
【1】準備
* htpasswdコマンドを使うための設定を行う * Basic認証の場合、パスワードファイルはハッシュ化する必要があるため
コマンド例
sudo yum -y install httpd-tools
http://tanihiro.hatenablog.com/entry/2014/02/05/172938
【2】構築手順
* Basic認証のための設定を行う
[1] 設定ファイル「squid.conf」を修正する
* 設定の説明は、以下のサイトを参照
http://www.satlab-gineiden.com/pc-soft/proxy_server.html/2
http://blog.jojo.jp/?eid=1296553
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 -=-=-=-=-=-=-=-=
[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」)】
【3】Squid / Basic認証あれこれ
1)大文字・小文字を区別するには
* 「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. # [意訳] ユーザ名が大文字小文字を区別する場合、指定する
参考文献
http://skkskynw.hateblo.jp/entry/2016/09/04/163713
https://www.server-world.info/query?os=CentOS_7&p=squid&f=3
http://kimagureneet.hatenablog.com/entry/2017/02/02/115212
のちに役立ちそうなサイト : squid で Digest 認証
https://futuremix.org/2011/05/squid-proxy-digest-auth
関連記事
【ネットワーク】プロキシ / Proxy
https://dk521123.hatenablog.com/entry/2017/08/08/224300
プロキシサーバ / Squid ~ Linux / 初期設定編 ~
https://dk521123.hatenablog.com/entry/2017/06/23/223438