auth0+nginx+oauth2proxy が何時しか動かなく
-
某所で 去年に設定して今年の3月半ばまで動いていた評価試験設定があるのですが、OS更新やパッケージ更新を経たことにより、動作しなくなっていました。
-
GET - "/oauth2/start?rd=%2F"
[2025/04/06 10:05:45] [oauthproxy.go:897] Error redeeming code during OAuth2 callback: token response did not contain an id_token
動いていた頃は
GET - "/oauth2/start?rd=%2Foauth2%2Fcallback%3F" HTTP/1.0 "Mozilla/5.0 (X11; Linux x86_64; rv:136.0) Gecko/20100101 Firefox/136.0" 302 442 0.001
- 詳しいところはよく判っていませんが、auth0 は okta に買収されていますし、2018年頃から使われていた古いインターフェイスは無くなっていて、NGINXに関していえば、njsや mTLSをつかう、有償版サービスのみ生きているというところでしょうか。
- サ終おしらせ
- 時期的にはズレているのですが、最近エンドポイントのURIを変更することでイレギュラーなことをやったので、テナント毎捨てる他ないかもというところ。
oidc プロバイダを自前で持てばいい?
- サ終が理由なら okta にアカウント作ればいいじゃない →現在作業中
- oauth2proxy の oidcドキュメントではdex を使う事例があります。なるほど idpも自作か。
- dex に関してはまた別の記事を書くかも。
oauth2proxy の闇
- oauth2proxy の実装を見ると、まあ go のプロダクトらしい集合知という感があります。このあたりのアプローチはモダンなんでしょうが、巨大化するコードとドキュメントの不一致には泣かされるわけです。オプションがよく変わるのは多数が関わるプロジェクトの政治的な判断にすら左右されてしまっていますし、責任分界がどこにあるのかわかりにくい。素人が手を出せないところというか、何故か実装にBASIC認証まで入れていると知り、oauth2じゃないじゃんこれという感があります。
- oauth2proxy に対する別解
たとえば、mini-oauth2proxy のような、簡略化で明快にしようという考えをコードにされている人もいます。 strnh 本人のスキルレベルとして、goはド^3素人なので動かすまで戸惑いましたが、とりあえずバイナリをこしらえるところまで行っています。 dexを動かしたら間違いなくテストできそうです。
本題: vouch-proxy
- oidc で検索をしていたらすぐ見つかりました。 oauth2proxy以外に手を出すのは時間の問題になるかと思ったのですが、動いていたAuth0の古い設定が サ終 and 壊れた(ワザと壊れるようにした??)のもあり、目論んでいたターゲットに適用→実運用するにはこの変化に追いつくこともなく間に合いそうにありません。 ですからB案で行くこととして、vouch-proxyについては調べていきたいというところです。
運用準備
- vouch-proxy は http周りを nginxに預ける形になっていました。別のSNIを持って運用するようですので、DNSに vouch.ほにゃらら.com 的な AレコードRRsetを追加しておきます。
- OKTAに開発者アカウントを作って、とりあえず設定を・・
思わぬ認証PROVING検出・・・
- vouch-proxy の設定が進んで来たのでテストしていると nginxのログがにわかに増えてきました。なんか嫌な予感がするので、止めて確認です。
- まだテストして数分なので、URLがどこかで漏れているんですかねぇ??
% IANA WHOIS server
% for more information on IANA, visit http://www.iana.org
% This query returned 1 object
refer: whois.afrinic.net
inetnum: 154.0.0.0 - 154.255.255.255
organisation: Administered by AFRINIC
status: LEGACY
whois: whois.afrinic.net
changed: 1993-05
source: IANA
# whois.afrinic.net
- 何やらきな臭くなってきたので、試験中止です。URLをランダムな文字列に変えてアクセスが来たらどこかで漏れているってことですかねぇ??
- たまたまかもしれないですが、idpを見張っているのがいるのか中に変なのがいるんですかねえ
続きは後日
- 認証系いじるのはホント厄介な時代ですねぇ。