web-dev-qa-db-ja.com

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

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

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

〜/ .Subversion/servers

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

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

オプション1

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

開発リリースに更新したくない。

オプション2

/etc/Subversion/config

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

オプション3

Cronジョブを追加して、~/.Subversion/auth/svn.simpleのユーザーの認証キャッシュを削除します。そのため、たとえそれらがsvn configファイルを変更したとしても、私たちのcronジョブは保存されたパスワードをすべて殺します。ただし、毎分実行しても、バックアップシステムがプレーンテキストのパスワードを含むファイルを取得しないとは限りません。

アイデア?

9
Banjer

できません。

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

繰り返しますが、技術的な対策だけでは、ユーザーがパスワードをファイルに保存するのを防ぐことはできません。あなたはそれを禁止することができますが、それが彼らの人生を困難にするならば、彼らはとにかくそれをします。

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

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

ところで、何かを暗号化する前でも、私はファイルのアクセス許可を処理します。好奇心から自分の設定を確認したところ、これは誰でも読み取り可能であることがわかりました。クリアなパスワードを含むファイルの場合、セキュリティホールのように見えます。

0
user32379