ubuntu squid ユーザ名/パスワードの設定
トイレの便器で20分くらい寝たら尋常じゃないくらい足がしびれました。
どうも、伊藤くんです。
たまにubuntuのec2にsquid入れてプロキシとして利用するのですが、今までずっとIP認証で自分のWiFiのIPをviで書いて…ってやってました。
ですが今回、ユーザ名とパスワードで認証するBasic認証が必要になり、それの設定をしたのでメモします。
インストール
以下のコマンドでsquidインストール
$ sudo apt install squid
次に、以下のコマンドで何か必要な何かをインストール
$ sudo apt-get install apache2 apache2-utils
squidさん自身にはBasic認証の機能はないってことなんでしょうかねえ
ユーザ名/パスワード設定
以下のコマンドで、ユーザ/パスワードを作成
$ sudo htpasswd -c /etc/squid/.htpasswd kokoniUserMei
kokoniUserMeiの部分にユーザ名を入力し実行すると、パスワードどうする?って聞かれるので、お好きなパスワードを設定してください
これで、/etc/squid/.htpasswdにユーザ情報が保存されます
squid.confの編集
# basic認証に関する設定
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/.htpasswd
auth_param basic children 5
auth_param basic realm Basic Authentication
auth_param basic credentialsttl 5 hours
# 認証用acl名を追加する
acl password proxy_auth REQUIRED
# パスワード認証を許可
http_access allow password
とりあえずなんかこう追記すればいいらしいです(笑)
それぞれの行の意味はほぼ理解していません。5時間で認証が切れそうな雰囲気を感じ取ることしかできません。(それも定かではありませんww)
伊藤くんの設定ファイルの全体は、以下のようになりました。
# basic認証に関する設定
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/.htpasswd
auth_param basic children 5
auth_param basic realm Basic Authentication
auth_param basic credentialsttl 5 hours
# ローカル環境に関する設定
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
# 認証用acl名を追加する
acl password proxy_auth REQUIRED
# SSL接続時 443ポート以外は拒否
acl SSL_ports port 443
acl CONNECT method CONNECT
http_access deny CONNECT !SSL_ports
# 接続先の設定、設定されていないポートは拒否など
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
http_access deny !Safe_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
# パスワード認証を許可
http_access allow password
http_access deny all
# 使用するポート
http_port 60008
これで、ポート60008で、Basic認証付きのsquidプロキシが完成です。
あとは、以下のコマンドで再起動して設定ファイルを読み込ませるだけです。
$ sudo service squid restart
あ、あと、ec2の方はポート解放(セキュリティグループの追加)も忘れぬよう!
この場合だと60008ポートを解放しないと機能しませんのでね。
参考サイト : https://ex1.m-yabe.com/archives/3758
最後になんですが今回の内容はほぼこのサイトのまんまですw
コメントを残す