squidでBASIC認証を設定する
今回は自分用のメモもかねて、ゆる〜く書いていきます!
squidはすでにインストールされた後の想定です。
htpasswdコマンドを使ってbasic認証をかけたいので、「httpd-tools」をインストールします。
Red Hat 系(Amazon Linux, CentOS など)
$ sudo yum -y install httpd-tools
Debian 系(Ubuntu など)
$ sudo apt install apache2-utils
squidの設定
squidの設定ファイルを書き換えます。
$ vi /etc/squid/squid.conf
[変更前]
http_access deny all
[変更後]
#http_access deny all
[変更前]
http_port 3128
[変更後]
#http_port 3128
「http_access deny all」と「http_port 3128」の先頭に「#」を入力して、コメントアウトしてください。コメントアウトした、箇所の設定が読み込まれなくなります。
#プロキシのポート番号 1024~49151の範囲の適当な数字を入れる
http_port 10986
# Basic認証の設定
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/.htpasswd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 5 hours
acl password proxy_auth REQUIRED
http_access allow password
# クライアントのローカルIPを転送しない
forwarded_for off
# 上記に当てはまらないアクセスは全て拒否する。
http_access deny all
# ホストネームは任意のものを変更(そのままでも大丈夫)
visible_hostname unknown
# 今回はキャッシュさせたくないのでOFF
no_cache deny all
# プロキシの存在を隠す。
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
reply_header_access X-Forwarded-For deny all
reply_header_access Via deny all
reply_header_access Cache-Control deny all
最終行に、上記のテキストを参考にしながら、自分に必要な箇所を貼り付けてください。
「# 上記に当てはまらないアクセスは全て拒否する。」を入れ忘れて、フリーアクセスプロキシにならないように注意してください。
※ 「http_port」はプロキシに接続するときのポート番号です。
1024~49151の範囲の適当な数字を入れてください。
.htpasswd ファイルの作成
$ htpasswd -c /etc/squid/.htpasswd ユーザー名
New password: パスワード
Re-type new password: パスワード
Adding password for user username
「htpasswd -c /etc/squid/.htpasswd ユーザー名」を実行後にパスワードを聞かれるので、任意のパスワードを設定してください。
squidを再起動したら作業完了♩
この記事が気に入ったらサポートをしてみませんか?