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