Active Directory: Support load-balanced LDAP servers
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 20/100
- issue の種類
- バグ
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- kubernetes
調査の方向性
ファイル、テスト、エントリポイントは指定されていません。まず krb5.conf の生成と user-info-fetcher の LDAP/Kerberos 接続動作を追跡し、その後、影響を受ける Stackable 25.3 セットアップで DNS のロードバランシングを再現してください。Kubernetes の PTR 関連の障害を再発させずに、ロードバランシングされた LDAP 認証が機能すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Affected Stackable version
25.3
Affected OpenPolicyAgent version
irrelevant, user-info-fetcher
Current and expected behavior
Currently, we don't support connecting to LDAP servers that are behind DNS-based load balancing, instead just returning a kind-of-useless "not found in Kerberos database" error.
This is because we disable krb5's DNS canonicalization. Normally, it does a "canonicalization dance" for each request. Let's say we try to connect to ldap-lb. That would then be resolved to 1.2.3.4, which is what we do a TCP connection to. Then it would do a reverse DNS (PTR) query for the IP address (1.2.3.4), which returns the hostname for that specific replica (ldap-1). Then it'd use that hostname to build the Kerberos principal that we validate against (ldap/ldap-1@CORP.COM).
We disable DNS canonicalization, because it causes other problems in K8s (K8s pods have inconsistent PTR results, which would cause other similar issues depending on the order returned...). That makes krb5 use the specified hostname for the principal instead (ldap/ldap-lb@CORP.COM). The LDAP server doesn't have that principal, so we fail to authenticate. (The actual "Kerberos database" error is because the Kerberos KDC doesn't have any registered principal with that name.)
Possible solution
I honestly don't know.
We can't just blanket-enable canonicalization, because of the aforementioned K8s issues. But we also need to handle this in some way. Maybe we'll need some flag on which krb5.conf to generate, but that feels like a slippery road to start walking.
Additional context
No response
Environment
No response
Would you like to work on fixing this bug?
None
- 主要言語
- Rust
- スター
- 21
- フォーク
- 5
- 平均マージ
- 12時間 44分
- マージ済み PR(30日)
- 11
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
stackabletech/opa-operator のほかの issue
-
type/bug
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
stackabletech/opa-operator#823 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
stackabletech/opa-operator#766 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
stackabletech/opa-operator#733 ·
-
難易度 2/5 半日 初心者へのやさしさ 50/100
stackabletech/opa-operator#724 ·
-
type/bug
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
stackabletech/opa-operator#690 ·
stackabletech/opa-operator の issue をすべて見る
似ている issue
-
bug CLI custom-model
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
rust-bitcoin/rust-bitcoin#6930 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
fulcrumgenomics/ferro-hgvs#2251 ·
-
A-allocators A-docs C-enhancement T-libs
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100