問題タブ [mit-kerberos]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hadoop - Hadoop セキュリティ
「Hadoop で Kerberos を実装するにはどうすればよいですか?」を学習しようとしています。このドキュメントを確認しました https://issues.apache.org/jira/browse/HADOOP-4487 基本的なケルベロスのものも確認しました ( https://www.youtube.com/watch?v=KD2Q-2ToloE )
これらのリソースから学んだ後、私は図を通して表現している結論に達しました。シナリオ : - ユーザーが自分のコンピューターにログオンすると、Kerberos 認証によって認証され、マップ削減ジョブが送信されます (図の説明を読んでください。5 分もかかりません)ステップ(太字) 黄色の背景の数字はフロー全体を表します (番号 1 ~ 19) DT (赤い背景) は委任トークンを表します BAT (緑の背景) はブロック アクセス トークンを表します JT (茶色の背景) はジョブ トークンを表します
ステップ 1、2、3、および 4 は次のことを表しています。 質問 1) KDC はどこにありますか? 私の名前ノードまたはジョブトラッカーが存在するマシン上にある可能性はありますか?
ステップ 5、6、7、8、および 9 は次のことを表しています。Name Node は Delegation Token (red) を発行します User は Token renewer について伝えます (この場合は Job Tracker です)
質問 2) ユーザーは、この委任トークンをジョブと共にジョブ トラッカーに送信します。委任トークンはタスク トラッカーと共有されますか?
ステップ 10、11、12、13、および 14 は、次のことを表しています。- Job tracker のサービス チケットを要求し、KDC からサービス チケットを取得します。このチケットを Job Tracker に表示し、JobTracker から ACK を取得します。Job Tracker に Job + Delegation Token を送信します。
ステップ 15、16、および 17 は次のことを表しています。 - ブロック アクセス トークンを生成し、すべてのデータ ノードに分散します。blockID と Block Access Token を Job Tracker に送信すると、Job Tracker はそれを TaskTracker に渡します。
質問 3) 誰が Name Node から BlockAccessToken と Block ID を要求しますか? JobTracker または TaskTracker
すみません、間違えて18番を見逃してしまいました。Step19 は以下を表します:- ジョブ トラッカーはジョブ トークン (茶色) を生成し、それを TaskTracker に渡します。
質問 4) クラスタ全体に配布されるユーザーごとに 1 つの委任トークンがあり、ジョブごとに 1 つのジョブ トークンがあると結論付けてもよろしいですか? したがって、ユーザーは委任トークンを 1 つだけ持ち、多くのジョブ トークン (彼が送信したジョブの数に等しい) を持ちます。
何かを見逃していたり、説明のどこかで間違っていたりした場合は教えてください。
php - PHP Kerberos: 有効なチケットの確認/チケットへのアクセス
Active Directory を介した Web サイト認証に Kerberos を使用する apache2 サーバーがあります。Web サイトでは、Drupal フレームワークとサポートされていない「Kerberos 認証」モジュール ( https://www.drupal.org/project/kerberos_authentication ) を使用しています。
ユーザーがウェブサイトにアクセスしたい場合、ユーザーは次のことを行う必要があります。
- ブラウザを開き、ウェブサイトに移動します
- Kerberos/AD クレデンシャルを要求するポップアップが表示されます。(
)
- AD 資格情報を入力してください
- drupal-website に進むことが許可されています。
- ウェブサイトにアクセスする
問題はパート 5 にあります。ユーザーは、drupal にログインするために引き続きログイン フォームに入力する必要があります。Drupal-Kerberos-Module のおかげで、AD のユーザー名とパスワードはここで機能しています。しかし、ユーザーは自分の資格情報を複数回入力する必要があるため、そもそも Kerberos が失われます。
PHPを使用して、ユーザーが許可された/ブラウザに保存されている(または保存されている場所にある)チケットにアクセスするにはどうすればよいですか? または、ユーザーが有効な Kerberos チケットであるかどうかを確認して、ユーザーがログイン データを 2 回入力する必要がなく、php を使用して自動的に drupal にログインする方法を教えてください。(これには、独自の drupal モジュールを作成する必要があることを認識しています)
kerberos - kerberos チケットの maxlife を 24 時間以上リセットする
マシンで MIT kerberos 5 を使用してユーザーを認証しています。これにより、チケットがユーザーに付与されます。24 時間以上のチケットの maxlife をリセットしたいです。デフォルトでは、kerberos チケットの最大有効期間は 24 時間です。次の手順を試しました。
/var/kerberos/krb5kdc/kdc.conf
max-life が見つからなかったので設定を変更しましたmax_life = 168h 0m 0s
- デフォルトのticket_lifetime
/etc/krb5.conf
を 24 時間からticket_lifetime = 168h 0m 0s
- デフォルトでは、プリンシパルの有効期間は Maximum ticket life: 1 days 00:00:00 です。
次のコマンドで168hに変更しました
/li>- チケットの最大有効期間: 7 日間 00:00:00 に変更されました
- 次に
kinit
、ユーザーに対して を実行し、 で確認しましklist
た。
klist
結果は、チケットの有効期限が 24 時間であることを示しています。の出力klist
は次のとおりです。
誰かが知っている場合は、どこで間違いを犯しているのか教えてください。24時間未満はチケットライフを変更できますが、24時間を超えると反映されませんklist
。助けていただければ幸いです。
security - Kerberos のサービス チケット - Hadoop セキュリティ
kerberos を使用して Hadoop クラスターを保護しようとしています。kinit コマンドを使用して TGT を生成できます。しかし、それを超えて私は立ち往生しています。
1) 「serviceTicket」が実際に何を意味するのか知りたいです。(説明としてではありません); サービスチケットを利用できるコマンド/コードはどれですか?
2) 「.keyTab」ファイルと「.keyStore」ファイルの用途は何ですか?
Hadoop と Kerberos のストーリー
ユーザーは、 kinitコマンドを使用して KDC に認証要求を送信します。
KDC は暗号化されたチケットを送り返します。
ユーザーはパスワードを入力してチケットを復号化します。
4. これで認証され、ユーザーはサービス チケットの要求を送信します。
5. KDC はチケットを検証し、サービス チケットを送り返します。
ユーザーは hdfs@KERBEROS.com にサービス チケットを提示します。
hdfs@KERBEROS.com がチケットを復号化し、ユーザーの ID を検証します。
4 番目のステップでは、「サービス チケットのリクエスト」; それは実際にはどういう意味ですか?TGT を取得するには、'kinit' コマンドを使用します。同じく、サービスチケットの入手手順・方法は?
私のプロセスの詳細:
- LDAP : アクティブディレクトリ
- Kerberos : Ubuntu にインストール済み
- Hadoop クラスター: 1 つのマスターと 1 つのスレーブを備えた Ubuntu マシンで構成されています。
- Ubuntu ユーザー名 : labuser
Ubuntu のレルム : KERBEROS.COM
計画では、Kerberos と Active Directory で Hadoop セキュリティを提供する予定です
- ActiveDirectory に存在するユーザーの Kerberos Server マシンで生成された TGT (kinit コマンドを使用)
次に、Kerberos を Ubuntu Hadoop クラスターと統合するために、以下を実行しました。
1)プリンシパルを作成するコマンド: addprinc -randkey namenode/labuser@KERBEROS.COM
2)キータブを作成するコマンド : xst -norandkey -k namenode.service.keytab namenode/labuser@KERBEROS.COM (または) ktadd -k namenode.service.keytab namenode/labuser@KERBEROS.COM
3) Kerberos に対応する Hadoop 構成ファイルのプロパティを追加しました。
Hadoop クラスターを開始すると、すべてのサービス (Namenode、Datanode、Resource Manager、および Node Manager)でログインが成功することがわかります。
- ログ情報:INFO org.apache.hadoop.security.UserGroupInformation: keytab ファイルを使用してユーザー dn/labuser@KERBEROS.COM のログイン成功 * /home/labuser/hadoopC/etc/hadoop/dn.service.keytab
まだHadoop クラスターが起動されていないため、障害が発生し、
DataNode (java.lang.RuntimeException: 特権リソースなしでセキュア クラスターを開始できません)
NameNode(java.io.FileNotFoundException: /home/labuser/.keystore (そのようなファイルまたはディレクトリはありません))
上記の Kerberos プロセスに変更が必要かどうかを提案してください。はいの場合、正当化してください
hadoop - Kerberos kadmin サービス エラー
kerberos security をセットアップする必要がありますが、kadmin サービスの実行中に次のエラーが発生します。
c++ - KRB5_CONFIG の設定はスレッドセーフですか?
コードで krb5.conf のパスを設定する必要があります。どれがスレッドセーフか教えてください。
方法 1: 環境変数を次のように設定します。
方法 2:(これで krb5.conf ファイル パスが設定されるかどうかはわかりません)
linux - Kerberos マスター/スレーブ設定 : データベースの伝播、および KDC と KADMIN の切り替え
スレーブとデータベースの伝播 (増分ではない) を使用して、Redhat で Kerberos をセットアップしようとしています。KDC のインストールと構成に関する MIT のドキュメントを参照しています。現在、私には 3 つの疑問/問題があります。
増分伝播がない場合でも、スレーブ KDC で kpropd を実行する必要がありますか?
xinetd サービスを開始し、データベースの伝播を試みました (増分伝播を構成していないため、kpropd を開始せずに)。エラーが発生しました。
しかし、構成を変更せずに同じセットアップで kpropd を開始すると、データベースを正常に伝搬することができました。
ドキュメントによると、それは言う
[再] inetd デーモンを開始します。または、kpropd をスタンドアロン デーモンとして起動します。これは、増分伝播が有効な場合に必要です。
MIT のトラブルシューティング ページも調べましたが、同じように、inetd は kprop を実行できます。
私のinetd.conf:
/li>krb5.conf にスレーブ KDC 用の Kerberos Administration Server (admin_server) を追加する必要がありますか? または つまり、krb5.conf で複数の admin_server プロパティを構成できますか?
マスター/スレーブ設定を構成しているため、スレーブ KDC に切り替えて、いつでも新しいマスターを作成できます。新しいマスターでも Kerberos Administration Server (kadmind) を開始する必要があります。krb5.conf ファイルにリストされている両方の管理サーバーのホストが必要ですか?
両方のホストを追加しようとしましたが、このプロパティは最後に構成されたホストのみを選択することがわかりました。
私の krb5.conf は次のようになります。
このような場合、管理サーバーは で
new-master-host.my.domain
実行されている場合でも、 でのみ検索されold-master-host.my.domain
ます。MIT ドキュメントで指定されているように、スレーブ KDC マシンで Kerberos Administration Server を起動できますか?
新しいマスターで Kerberos Administration Server (kadmind) を開始しようとしましたが、次のエラーが発生しました。
スレーブ マシンで管理サーバーを起動することはお勧めできませんか、それとも管理サーバーを起動する前に kpropd.acl ファイルを [削除] する必要がありますか?
ポインタやヘルプをいただければ幸いです。
sockets - MIT Kerberos - kpropd は何もしません
CentOS ボックスで kpropd を起動しようとしています。ステータスは表示されず、プロセスは開始されません。終了コードは「1」
デバッグモードで開始しました:
それが示している:
kpropd: リスナーソケットのバインド中にアドレスが既に使用されています
ポート 754 でリッスンしている netstat には何も表示されません。システムは VM であり、eth0 と lo しかありません。krb5kdc は正しく実行されています。
これはすべてローカルですが、とにかく iptables エントリを投稿します。
ソケットをブロックしている可能性があるものについて何か考えはありますか?
redhat - FreeIPA: ipa コマンドを実行できません
FreeIPA サーバーをインストールし、1 人のユーザーを作成しました。しばらくしてユーザー アカウントがロックされたので、使用してロックを解除しようとしましipa user-unlock
たが、ipa コマンドの実行中に問題が発生しました。以下は、私が直面している問題です。
以下は httpd のログです: *
gss_accept_sec_context() が失敗しました: 不明な GSS の失敗。マイナー コードが詳細情報を提供する場合があります (リクエストの間違ったプリンシパル)、リファラー: https://fqdn/ipa/xml
*
そのユーザーのチケットを取得しようとすると、次のエラーが発生します。