見出し画像

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を再起動したら作業完了♩

この記事が気に入ったらサポートをしてみませんか?