引数を介してユーザー名を取得し、標準入力を介してパスワードを取得するスクリプトを作成しようとしています。スクリプトが kerberos サーバーに接続してパスワードを確認するようにしたいと思います。これを使用して、auth-check トリガーを介して perforce ユーザーを認証します。関連する(centos 5)システムにはすでにbashとperlがインストールされていますが、私は特定の言語にあまり執着していません。
ヒント/提案は大歓迎です。
ありがとう、
フェンスター
パスワードを効果的に検証するには、kinit (AS 交換) を実行するだけでは不十分であることに注意してください。これは、KDC スプーフィング攻撃に対して無防備です。攻撃者はパスワードを渡して、KDC 要求を自分の KDC にリダイレクトします。KDC は、パスワードは OK であると言います。
これを防ぐ通常の方法は、検証者が独自のサービス プリンシパルを持つことです。ユーザーのプリンシパルを kinit し、取得した TGT を使用して独自のプリンシパルのサービス チケットを取得し、そのチケットを検証します。これにより、同じ KDC と通信していることが保証されます。
この Perforce の記事には、開始するのに役立つリンクがいくつかあります。
http://kb.perforce.com/article/74
Kerberos は認証しているマシンにチケットを保存すると思うので、おそらく Perforce の SSO フレームワークの方が優れているでしょう。このプロジェクトをチェックしてください:
Google コードでpwauthに出くわすだけです。pam インターフェイスを使用してシステム パスワードを確認するように設定できます。Apache を念頭に置いて設計されているように見えますが、スクリプト可能なあらゆる状況で機能するはずです。今週中に設定してみる予定です。試したらまた報告します。
注意: システム アカウントを公開することにはリスクがあるため、リンクをクリックすると最初にリスク ページが表示されます。