数百人のパスワードを数人で共有するためのベストプラクティスは何ですか?これらのパスワードはミッションクリティカルなデータを保護し、小規模なチーム以外からは見えません。
私はおそらく、企業のイントラネットでホストされるカスタムのWebベースのソリューションを作成します。 (インスピレーションを得るため、または使用するには http://lastpass.com を参照してください。パスワードの共有はその機能の1つですが、ボリュームでは機能しない場合があります。)
[〜#〜] edit [〜#〜]:もちろん、最善の解決策です。共有しないでください。クリアテキストのパスワードを任意の媒体に保存することは、特にそれらを保存する目的がパスワードを共有することである場合は危険です。ほぼ無限の数のソリューションがあり、それぞれが関連する危険をもたらします。それらを暗号化されたディスクイメージに置き、そのイメージを1枚のCDに書き込み、CDを1人の武装警備員しか開けない金庫に入れて、権限のある人に写真IDを提示してロックを解除してもらいませんか?
ポイントはあなたのシナリオを本当に知らないということです。何百ものミッションクリティカルなパスワードを共有しているのですか?それらはバックオフィスのイントラネット、VPN用ですか、それとも、何らかの理由でプレーンテキストで保持している顧客のパスワードですか?あなたがそれを共有する必要があるすべての人々は同じインストールでいますか?暗号化されたCDや金庫に保管されている印刷されたテーブルなどの物理的な転載は実際に機能しますか?または、システム管理者は世界中に広がっており、それらを共有する電子的手段をのみソリューションにしていますか?
ベストプラクティスは、パスワードを共有しないことです。 Sudoなどのツールを使用して、ユーザーが自分のアカウントから必要なアクセス権を取得できるようにします。数人のユーザーがいる場合、各ユーザーは必要に応じて独自のアカウントを持っている必要があります。 LDAP(Unix/Linux)とActive Directoryは、共通のデータベースから複数のサーバーへのアクセスを許可するための優れたソリューションです。
パスワードのコピーが必要な場合は、署名と日付が記載された封筒に封印してください。使用時にパスワードを変更してください。パスワードを変更したら、新しい封筒に封印します。
本当に共有する必要があるパスワードについては、Keepassのようなパスワードツールの1つを使用してください。このツールは、データベースをネットワーク上に置くことができます。複数のプラットフォーム用のクライアントを備えたツールの方が優れています。複数のデータベースが必要かどうかを検討してください。このデータにアクセスできるすべての人を本当に信頼する必要があることを忘れないでください。
この目的のために KeePass を使用しました。これは、暗号化されたデータベースファイルにすべてのパスワードを保存する優れた小さなプログラムです。パスワードにアクセスするには、メインパスワードとともにキーファイルが必要になるなど、追加のセキュリティ機能があります。これにより、複数のセキュリティ層(キーファイルとデータベースを分離)が可能になりますが、すべてのユーザーがさまざまなパスワードを使用して作業しやすくなります。たとえば、USBドライブからアプリとキーファイルを実行し、ネットワーク上のどこかにデータベースを保存できます。これには、ネットワーク共有、メインパスワード、およびキーファイルを備えた物理USBドライブの資格情報が必要です。
数百人のパスワードを数人で共有するためのベストプラクティスは何ですか?
簡単、これには2つのフレーバーがあります。
分かりませんが、単純明快です。これを選択する場合、パスワード認証を外部の信頼できる機関に委任し、そこから認証を制御します。
実行しますが、そうすることで、使用するシステムの内部に記録されていないパスワードまたはセキュリティトークンを持つ外部アクセス制御があります(つまり、パスワードの記録は、限られた可用性を持つ別のパスワードによって保護されます)。これには多くの問題があります。
これらのパスワードはミッションクリティカルなデータを保護し、小規模なチーム以外からは見えません。
この問題に対処するには、ディレクトリサービスと統合する安全な認証サービスを真剣に検討する必要があります。 DS/ASの組み合わせにより、すべてのユーザーとデバイスのアービターとして機能できる信頼できる「権限」が作成されます。ユーザーアカウントは、認証で使用される実際のパスワードからアクセスを抽象化できるため、アクセスポリシーからパスワードを簡単に「切断」できます。パスワードの制御は、ユーザーのアカウントの非アクティブ化によるものです。したがって、管理者が辞任した場合、管理者はアカウントをシャットダウンするだけでアクセスが失われます(そのユーザーのパスワードは、アカウントが有効であることを確認するDS/ASの有効性に基づいてのみアクセスを許可するため)。
これは、デバイス/プログラムが認証要求を外部ソースに転送できる環境にいる場合にのみ機能するため、解決策にならない場合があります。外部認証に対応できるデバイス/プログラムがかなりの割合である場合、数百のパスワードを、たとえば数十の管理可能なリストに統合するために、私はこれを実行します。この方法を選択する場合、これに対するいくつかの既製のよく知られた、十分にテストされたソリューションがあります。
また、どの程度のセキュリティが必要かという問題もあります。 「ミッションクリティカル」とは、核弾頭が都市に降り注ぐ可能性があることを意味するのか、または「ミッションクリティカル」とは、ファービーの最新の出荷で町に到着しないのかを指定しなかった。リスク/脅威の評価を説明するものがあった場合、それは本当に役立ちます。
私はこれが古い質問であることを知っていますが、最近、 Corporate Vault と呼ばれるオープンソースのWebベースのソリューションに出会いました。まだ試す機会がありませんでした。
いくつかのこと:
また、紙のパスワードを金庫に入れたり、パスワードを暗号化したりする機械的なセキュリティ対策を超える必要があります。成熟したセキュリティモデルを持つ組織がキーと安全な組み合わせを保護する方法について読んでください。私はあなたがやりたいことをすることをお勧めしませんが、そうした場合:
このような手順は首の痛みですが、人々がより健全な慣行を採用するインセンティブとして役立ちます。私が説明したようなことをしない場合は、いずれにせよいつか侵害されるだけなので、パスワードをロックするという手間をかけないでください。
https://pypi.python.org/pypi/Django-pstore/ は、共有パスワード(および共有したいその他のデータ)にユーザーごとのGPG暗号化を使用します。サーバーは、パスワードを知ることはなく、暗号化されたデータのみを保持します。誰もが自分の秘密鍵を使用して共有秘密を復号化します。
システムには権利管理が含まれています。誰もが完全なアクセス権を得られるわけではありません。
https://passwork.me を自己ホスト型ソリューションとして使用します。ただし、パスワードをクラウドに保存することもできます。
Password Safe というプログラムを使用します。とても安全です。ネットワークドライブにデータベースを設定し、データベースを必要とするすべての人にパスワードと金庫自体へのパスワードを与えることができます。金庫にはすべてのユーザー名とパスワードが安全に暗号化されて保存されます。
SPBウォレットはゴーストによってPWセーフを使用するために使用した良いものですが、SPBウォレットを使用すると、ネットワーク共有に同期したり、アプリを入手した場合にiPhoneに同期したりできます。また、組み込みのパスワードジェネレーターがあり、単純なパスワードから非常に複雑なパスワードまで生成できます。パスワードがまだアスタリスクで表示されている間にパスワードをコピーすることもできます。そのため、誰かが見ている場合は、パスワードを誰にも見られずにコピーして貼り付けることができます。定義された期間アクティビティがないと、PCアプリは自動的にロックアウトされます。
もう1つのオプションは Azure Key Vault で、シークレットを安全に保存し、プログラムを使用してそれらにアクセスを許可したり、パスワードを簡単にローテーションしたりできます。UIはありませんが、コマンドに問題がない場合は、行アクセスこれは良いです。
私たちのベストプラクティスは、できるだけ少ない数のパスワードを共有することです。
したがって、たとえば、次のようにします。-データベースへのパスワードにルートホームディレクトリのmy.cnfを使用します-サーバーにログインするためにsshキーを使用し、コンソール経由でのみ許可される1つのルートパスワードを持っています(サーバーへの物理/ bmcアクセスが必要です) )-可能な限りLDAPを使用します(ssh、bmc、スイッチ、redmineなど)。
ただし、この方法を使用できない状況(ルートパスワードなど)はほとんどありません。次に、共有ストレージで keepass を使用しますが、必要なパスワードは10個まで保持します。