web-dev-qa-db-ja.com

システム管理者のチームはどのように安全にパスワードを共有しますか?

数百人のパスワードを数人で共有するためのベストプラクティスは何ですか?これらのパスワードはミッションクリティカルなデータを保護し、小規模なチーム以外からは見えません。

83
Chris Henry

私はおそらく、企業のイントラネットでホストされるカスタムのWebベースのソリューションを作成します。 (インスピレーションを得るため、または使用するには http://lastpass.com を参照してください。パスワードの共有はその機能の1つですが、ボリュームでは機能しない場合があります。)

[〜#〜] edit [〜#〜]:もちろん、最善の解決策です。共有しないでください。クリアテキストのパスワードを任意の媒体に保存することは、特にそれらを保存する目的がパスワードを共有することである場合は危険です。ほぼ無限の数のソリューションがあり、それぞれが関連する危険をもたらします。それらを暗号化されたディスクイメージに置き、そのイメージを1枚のCDに書き込み、CDを1人の武装警備員しか開けない金庫に入れて、権限のある人に写真IDを提示してロックを解除してもらいませんか?

ポイントはあなたのシナリオを本当に知らないということです。何百ものミッションクリティカルなパスワードを共有しているのですか?それらはバックオフィスのイントラネット、VPN用ですか、それとも、何らかの理由でプレーンテキストで保持している顧客のパスワードですか?あなたがそれを共有する必要があるすべての人々は同じインストールでいますか?暗号化されたCDや金庫に保管されている印刷されたテーブルなどの物理的な転載は実際に機能しますか?または、システム管理者は世界中に広がっており、それらを共有する電子的手段をのみソリューションにしていますか?

14
msanford

ベストプラクティスは、パスワードを共有しないことです。 Sudoなどのツールを使用して、ユーザーが自分のアカウントから必要なアクセス権を取得できるようにします。数人のユーザーがいる場合、各ユーザーは必要に応じて独自のアカウントを持っている必要があります。 LDAP(Unix/Linux)とActive Directoryは、共通のデータベースから複数のサーバーへのアクセスを許可するための優れたソリューションです。

パスワードのコピーが必要な場合は、署名と日付が記載された封筒に封印してください。使用時にパスワードを変更してください。パスワードを変更したら、新しい封筒に封印します。

本当に共有する必要があるパスワードについては、Keepassのようなパスワードツールの1つを使用してください。このツールは、データベースをネットワーク上に置くことができます。複数のプラットフォーム用のクライアントを備えたツールの方が優れています。複数のデータベースが必要かどうかを検討してください。このデータにアクセスできるすべての人を本当に信頼する必要があることを忘れないでください。

38
BillThor

この目的のために KeePass を使用しました。これは、暗号化されたデータベースファイルにすべてのパスワードを保存する優れた小さなプログラムです。パスワードにアクセスするには、メインパスワードとともにキーファイルが必要になるなど、追加のセキュリティ機能があります。これにより、複数のセキュリティ層(キーファイルとデータベースを分離)が可能になりますが、すべてのユーザーがさまざまなパスワードを使用して作業しやすくなります。たとえば、USBドライブからアプリとキーファイルを実行し、ネットワーク上のどこかにデータベースを保存できます。これには、ネットワーク共有、メインパスワード、およびキーファイルを備えた物理USBドライブの資格情報が必要です。

11
Paul Kroon

数百人のパスワードを数人で共有するためのベストプラクティスは何ですか?

簡単、これには2つのフレーバーがあります。

  1. 分かりませんが、単純明快です。これを選択する場合、パスワード認証を外部の信頼できる機関に委任し、そこから認証を制御します。

  2. 実行しますが、そうすることで、使用するシステムの内部に記録されていないパスワードまたはセキュリティトークンを持つ外部アクセス制御があります(つまり、パスワードの記録は、限られた可用性を持つ別のパスワードによって保護されます)。これには多くの問題があります。

これらのパスワードはミッションクリティカルなデータを保護し、小規模なチーム以外からは見えません。

この問題に対処するには、ディレクトリサービスと統合する安全な認証サービスを真剣に検討する必要があります。 DS/ASの組み合わせにより、すべてのユーザーとデバイスのアービターとして機能できる信頼できる「権限」が作成されます。ユーザーアカウントは、認証で使用される実際のパスワードからアクセスを抽象化できるため、アクセスポリシーからパスワードを簡単に「切断」できます。パスワードの制御は、ユーザーのアカウントの非アクティブ化によるものです。したがって、管理者が辞任した場合、管理者はアカウントをシャットダウンするだけでアクセスが失われます(そのユーザーのパスワードは、アカウントが有効であることを確認するDS/ASの有効性に基づいてのみアクセスを許可するため)。

これは、デバイス/プログラムが認証要求を外部ソースに転送できる環境にいる場合にのみ機能するため、解決策にならない場合があります。外部認証に対応できるデバイス/プログラムがかなりの割合である場合、数百のパスワードを、たとえば数十の管理可能なリストに統合するために、私はこれを実行します。この方法を選択する場合、これに対するいくつかの既製のよく知られた、十分にテストされたソリューションがあります。

  • Active Directory。おそらく最もよく知られているグループであり、認証オプションとしてKerberosを提供し、基本的なDSにLDAPを提供します。
  • Samba/Winbind。これを「Active Directory Light」と考えてください。ADのすべての機能ではなく、NT4に基づく古いモデル( LANMANハッシュと考えてください)。これはSamba 4のAD統合に取って代わられ、おそらく「なくなる」でしょう。
  • Novell Directory Services。私はそれを推奨するのに十分なことを知りませんが、それがまだ存在していることを知っています。多くの政府機関がまだNDSを運営しているため、その「セクター」で仕事をしている場合、それはあなたにとって興味深いものになります。 Novellは最近、NDSをLinuxサービスとして実行するように移植しましたが、それがまだアクティブな製品であるかどうかはわかりません(2005年頃)。
  • LDAP + Kerberos。これは基本的に「自作」のActive Directoryからすべての「Nice機能」を除いたものです。ただし、これらは安定した成熟したコードベースを備えた既知のコンポーネントでもあるため、これらのサービスの統合は、通常、物事を機能させるために必要な「カスタマイズ」の範囲です。
  • SSHキー+(ここにシステム管理プログラムを挿入します。おそらく人形)。ボード全体にSSHがあり、すべてのデバイスがこの方法でアクセスされる場合にのみ役立ちます。キーは必要に応じて配布および取り消すことができ、SSHキーがアクセスを許可するとパスワードは「無関係」になります。 puppetのようなシステムを使用すると、コマンドen-masseを発行してSSHキーを追加/取り消すことにより、何百ものマシンを更新できます。
  • 上記のいくつかの組み合わせ。

また、どの程度のセキュリティが必要かという問題もあります。 「ミッションクリティカル」とは、核弾頭が都市に降り注ぐ可能性があることを意味するのか、または「ミッションクリティカル」とは、ファービーの​​最新の出荷で町に到着しないのかを指定しなかった。リスク/脅威の評価を説明するものがあった場合、それは本当に役立ちます。

5
Avery Payne

私はこれが古い質問であることを知っていますが、最近、 Corporate Vault と呼ばれるオープンソースのWebベースのソリューションに出会いました。まだ試す機会がありませんでした。

2
3dinfluence

いくつかのこと:

  • 他の人が言ったように、これは悪い考えです。 LDAPなどを使用する
  • 何らかの理由でこれを行うことに専念している場合は、少なくともパスワードを統合してください。管理されていない100個のパスワードは、パスワードを更新しないことを意味します。
  • 紙の上に保管してください。シートがコピーされたかどうかを簡単に判断できるように、スタッフが別の色のインクで紙に署名することを要求します。
  • Unixを使用している場合は、S/KEYを使用してワンタイムパスワードを生成します。安全な場所に保管してください。

また、紙のパスワードを金庫に入れたり、パスワードを暗号化したりする機械的なセキュリティ対策を超える必要があります。成熟したセキュリティモデルを持つ組織がキーと安全な組み合わせを保護する方法について読んでください。私はあなたがやりたいことをすることをお勧めしませんが、そうした場合:

  • パスワードを使用する人は、パスワードへのアクセスを制御できません。異なる管理チェーンの下にある明確なグループの人々は、金庫、引き出しなどへのアクセスを制御する必要があります。財務グループがある場合、それらは候補者である可能性があります。たぶんマーケティング担当副社長など.
  • 金庫が開かれ、誰かがパスワードを所持しているときは、ログが書かれている必要があります。
  • パスワードは、チェックアウト後24時間以内に変更する必要があります。

このような手順は首の痛みですが、人々がより健全な慣行を採用するインセンティブとして役立ちます。私が説明したようなことをしない場合は、いずれにせよいつか侵害されるだけなので、パスワードをロックするという手間をかけないでください。

2
duffbeer703

https://pypi.python.org/pypi/Django-pstore/ は、共有パスワード(および共有したいその他のデータ)にユーザーごとのGPG暗号化を使用します。サーバーは、パスワードを知ることはなく、暗号化されたデータのみを保持します。誰もが自分の秘密鍵を使用して共有秘密を復号化します。

システムには権利管理が含まれています。誰もが完全なアクセス権を得られるわけではありません。

1
wdoekes

https://passwork.me を自己ホスト型ソリューションとして使用します。ただし、パスワードをクラウドに保存することもできます。

1
Iliya Garakh

Password Safe というプログラムを使用します。とても安全です。ネットワークドライブにデータベースを設定し、データベースを必要とするすべての人にパスワードと金庫自体へのパスワードを与えることができます。金庫にはすべてのユーザー名とパスワードが安全に暗号化されて保存されます。

1
user44650

SPBウォレットはゴーストによってPWセーフを使用するために使用した良いものですが、SPBウォレットを使用すると、ネットワーク共有に同期したり、アプリを入手した場合にiPhoneに同期したりできます。また、組み込みのパスワードジェネレーターがあり、単純なパスワードから非常に複雑なパスワードまで生成できます。パスワードがまだアスタリスクで表示されている間にパスワードをコピーすることもできます。そのため、誰かが見ている場合は、パスワードを誰にも見られずにコピーして貼り付けることができます。定義された期間アクティビティがないと、PCアプリは自動的にロックアウトされます。

0
JohnyV

もう1つのオプションは Azure Key Vault で、シークレットを安全に保存し、プログラムを使用してそれらにアクセスを許可したり、パスワードを簡単にローテーションしたりできます。UIはありませんが、コマンドに問題がない場合は、行アクセスこれは良いです。

0
Rory

私たちのベストプラクティスは、できるだけ少ない数のパスワードを共有することです。

したがって、たとえば、次のようにします。-データベースへのパスワードにルートホームディレクトリのmy.cnfを使用します-サーバーにログインするためにsshキーを使用し、コンソール経由でのみ許可される1つのルートパスワードを持っています(サーバーへの物理/ bmcアクセスが必要です) )-可能な限りLDAPを使用します(ssh、bmc、スイッチ、redmineなど)。

ただし、この方法を使用できない状況(ルートパスワードなど)はほとんどありません。次に、共有ストレージで keepass を使用しますが、必要なパスワードは10個まで保持します。

0
Yarik Dot