すべてのユーザーに対して SVN プレーンテキスト パスワードの保存を無効にする

すべてのユーザーに対して SVN プレーンテキスト パスワードの保存を無効にする

デフォルトでは、Subversionはユーザーがパスワードをプレーンテキストで保存することを許可しています~/.subversion/auth/svn.simple。私は次のオプションを調査しています。暗号化されたパスワードを SVN に保存するしかし、少なくともできるだけ早く、すべてのユーザーのパスワードを保存する機能を完全に無効にしたいと考えています。私たちは Subversion 1.6.17 を実行しています。

設定ファイルを使用して、ユーザーのホームディレクトリ内でこれを無効にすることができます。

~/.subversion/サーバー:

[global]
# Password / passphrase caching parameters:
store-passwords = no
store-plaintext-passwords = no

ただし、ユーザーは必要に応じて設定ファイルを変更できます。システム全体の svn 設定ファイルはありませんか? 私が見たいくつかのオプション:

オプション1

1.8-dev では、Subversion の configure スクリプトは、プレーンテキストのパスワードとクライアント証明書のパスフレーズを保存するロジックをバイパスするための --disable-plaintext-password-storage オプションを受け入れます。

開発リリースにアップデートしたくないです。

オプション2

/etc/subversion/config

私の知る限り、この設定ファイルは、ユーザーのホーム ディレクトリにまだ設定ファイルがない場合にのみ使用されます。

オプション3

ユーザーの認証キャッシュを削除する cron ジョブを追加します~/.subversion/auth/svn.simple。これにより、ユーザーが svn 構成ファイルを変更した場合でも、cron ジョブによって保存されているパスワードがすべて削除されます。ただし、これを 1 分ごとに実行しても、バックアップ システムがプレーンテキスト パスワードを含むファイルを取得しないことは保証されません。

アイデアは?

答え1

あなたはできません。

何をしても、ユーザーはそれを回避して、パスワードをプレーンテキスト ファイルに保存できます。クライアント バイナリでこの機能を無効にすると、ユーザーは別のクライアントをダウンロードまたはコンパイルすることになります。原則として、不快なセキュリティ対策 (svn 操作ごとにパスワードを入力する必要があるなど) を設定すると、ユーザーはセキュリティを悪化させる方法でそれを回避します。(たとえば、パスワードを含むラッパー スクリプトを作成します。ユーザーはそれを誰でも読める状態にします。) したがって、そのようなことはしないでください。

繰り返しますが、技術的な手段だけでは、ユーザーがパスワードをファイルに保存するのを防ぐことはできません。禁止することはできますが、それがユーザーの生活に支障をきたす場合は、ユーザーはいずれにしてもそれを実行します。

ラップトップやバックアップの盗難が心配な場合は、ユーザーのホーム ディレクトリを暗号化してください。これにより、データだけでなくパスワードも保護されます。ホーム ディレクトリ全体を暗号化する場合、使いやすさを考慮して、暗号化パスワードは通常ログイン パスワードと同じになります。暗号化パスワードを紛失すると回復できないため、パスワードのバックアップ ポリシー (封印された封筒など) を必ず用意してください。

パスワードの再利用が懸念される場合は、ランダムな(つまり一意の)パスワードを設定し、クライアントに一度だけ入力してもらいます。もちろん、侵害されたパスワードを変更するための簡単なプロセスを用意してください。

答え2

ちなみに、何かを暗号化する前であっても、ファイルの権限には気を付けます。好奇心から自分の設定をチェックしたところ、これは誰でも読み取り可能であることがわかりました。ファイルに明確なパスワードが含まれていると、セキュリティ ホールのように見えます。

関連情報