0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SquidにKerberos認証を追加する

Posted at

Webブラウザがブラウザというより環境って感じになってきた昨今、いかがお過ごしでしょうか。

何でもかんでもWebサービスでまかなえすぎて、ぼちぼちブラウザのセキュリティが一番のリスクになってきてますね😇

セキュリティやネットワークの試験でもUTMや認証付きProxyが当たり前に導入されてますし、私しかいない自室のセキュリティといえど負けてられないと自室のサーバに認証付きProxyをいれることにしました。

お前は一体何と戦っているんだ?_(:3」∠)_

Proxyの認証には前回までで入れたKerberos認証を使います。

認証付きProxyを導入するに当たって一番嫌だったのが認証によるWebアクセスへの一手間だったんですよねー。Kerberos導入でそこが改善できることになったので、じゃぁProxy認証を導入してみようと。

Squidサーバの登録

KerberosがSquidにチケットを発行できるようKerberosのDBにSquidが動いているホストを登録します。

Squid用のプリンシパルはHTTP/minipc.home@HOMEらしいです。

$ kadmin.local
kadmin.local:  addprinc -randkey HTTP/minipc.home@HOME

Squid用のキータブを作成する

前回まではSSSDに認証を全てお任せしてたので、SSSDの実行者であるrootしかアクセスできない/etc/krb5.keytabにプリンシパルの登録をまとめてきました。

SquidはSSSDに丸投げはできないみたいでSquid自身(実行者squid)がkeytabにアクセスする必要があるため、Squid用のキータブファイルを別に用意します。

$ kadmin.local
kadmin.local: ktadd -k /etc/squid/squid.keytab HTTP/minipc.home@HOME
kadmin.local: quit

$ chown squid:squid /etc/squid/squid.keytab

squid.confを修正する

kerberos認証を使うようにsquid.confを書き換えます。

上から順番にチェックして一致したらそこで確定という手順なので、Kerberos認証のallowより前に別のallowやdenyがマッチしたらKerberos認証が行われません。順番が大切です。

/etc/squid/squid.conf
# Kerberos認証との連携
auth_param negotiate program /usr/lib64/squid/negotiate_kerberos_auth -k /etc/squid/squid.keytab -s HTTP/minipc.home@HOME
acl auth_users proxy_auth REQUIRED
http_access allow auth_users

# localnetの無条件allowを停止する
# http_access allow localnet

Squidを再起動すればKerberos認証が通らない場合407を返すようになります。

$ systectl restart squid

# 407 Proxy Authentication Required
$ curl --proxy http://minipc.home:3128 https://www.google.com

# 200 OK
$ curl --proxy http://minipc.home:3128 --proxy-negotiate https://www.google.com

ブラウザ(Firefox)を対応させる

FirefoxでのWebブラウズもProxyを通している場合は認証で弾かれるようになります。

スクリーンショット 2025-05-11 032641.png

Firefoxの設定を修正します。

  1. アドレスバーに about:config と入力し設定画面を開く
  2. network.negotiate-auth.trusted-uris にproxyサーバ(minipc.home)を設定
  3. network.auth.use-sspifalse を設定

use-sspiをfalseにすることでWindows統合認証ではなくMIT Kerberosの方を使用するようになります。

この設定でFirefoxのproxyの設定だけでなくFoxyProxyでも認証を通過しました。アドオンでのproxy設定も認証がちゃんと通るみたいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?