SSHキーの集中管理システムですか?


27

SSHログインのキーベースの管理に切り替えることを検討しており、世界中でアクセスキーを一元管理できるキー管理システムがあるのではないかと考えています。

システムは理想的には、クライアントごとにキーを発行し、必要に応じてそれらを取り消し、サーバーマシンキーをその場で更新できるようにする必要があります。

商用またはオープンソースのいずれかで、そのようなシステムを知っている人はいますか?

注:明確にするために、かなり大量のクラウドサーバー(EC2に類似)のキー管理と、少量のサービスユーザーが必要です。以下のLDAP +パッチが推奨される方法だと思います。


7
「秘密鍵とクラウド」は「飲み物とドライブ」のようなものだと思うのは私だけでしょうか。両方とも別々に楽しみますが、一緒に行くことはありません。
mailq

1
「クラウド」はおそらく間違った言葉です。彼らが望むのは、世界的な一貫性を備えた集中認証です。
voretaq7

こんにちは。まさに-私たちが探しているもの。
SyRenity

私は顧客の一部のハイブリッド環境でこの問題に苦労しています。また、クラウド展開でOPenLDAPまたは中央インスタンスをどこに保持するのかという問題もありますか?私はすべてのもののwebminをキー管理ツールとして使用し、シェフクックブックを使用してキーをノードに同期しました。
トムH

あなたが探しているものUserifyカバー(参照serverfault.com/questions/647797/...を
ジェイミソンベッカー

回答:


8

これを行う方法はたくさんあります。LDAPキーストレージについては何度か言及されていますが、私はそれを実行しました。ただし、LDAPには独自の管理好奇心があり、これにはある程度の学習が必要です。

私は、管理者の認証などの単純なものに対する外部ネットワークの依存関係が最小限で、シンプルで堅牢なサーバーの大ファンです。したがって、はるかに堅牢なSSHキー配布戦略に傾いています。構成管理システムがそれを処理します。全員の公開鍵は構成管理システムに保持され、ユーザーがログインできる必要がある場合はいつでも、その鍵が追加されます。構成システムは、指定されていないキーを削除することも知っているため、誰かが離れたりキーを変更したりすると、キー構成を削除するだけで、次の構成システムの実行時にキーが削除されます。


すべてのLDAP担保システム(私はあえて言う必要があります-ダウンしているが、イベントLDAPにこのアプローチは確かに良いものであり、それがそのサーバーの利点を持って出てWombleポイントとしては存続して実行(およびアクセス可能)必須ので持っています) Wombleの説明どおりにキーがプッシュされる少なくとも1人のユーザー。欠点は、ユーザーの認証を解除するために設定を実行する必要があることです。少数の承認されたユーザーのみの「緊急アカウント」にとっては問題ありません。多数のアカウントでより大きな問題:)
voretaq7

1
とにかく大量設定の実行をトリガーする方法が必要なので、アカウントの変更のために大したことではないはずです。
ウォンブル

私は残念ながら、ビジネスニーズ/メンタリティーにはない、同意するものとします。多くの場所で、パラノイア(私を含め)設定プッシュは、オフ時間中に発生するように指示しますが、新しいスタッフ/スタッフを残すにはいつでも発生する可能性があります: - /
voretaq7

1
あなたは一日中設定プッシュを実行できないという理由だけで、営業日のために壊れたものを残して幸せですか?それが一般的だからといって、それが愚かではないという意味ではありません。
ウォンブル

2
こんにちは。たとえば、これにはPuppetを使用することをお勧めします。
SyRenity

23

キーペアはユーザーが生成する必要があります。

ユーザーはプライベートな半分を保持します-あなたはそれを見ることはないはずです。誰かの秘密鍵を読み取り/使用できる形式で持っている場合、セキュリティが間違っています。

パブリックの半分は(Webフォーム、電子メール、CDに私を与えるなどの任意のメカニズムによって)あなたに与えられ、あなたが望むように集中化されます。一部の場所は、公開鍵をLDAPに保存します。他のauthorized_keysユーザーは、展開システムを使用してファイルをプッシュします。


私の環境では、シェルアクセスを必要とするユーザーは、公開キーを提供します。これらのキーは、LDAPシステムに追加されsshdLDAP Public Keyパッチを使用して、各ユーザーのリストにある公開キーを参照して認証します
誰かが追加のキーを追加したり、既存のキーを無効にしたりする必要がある場合、管理者に知らせてくれます。最終的には、規模を拡大しながら、人々が自分の公開鍵を回転できるシステムを実装します。

各サイトには、LDAPレプリケーションを使用してマスターに同期されたLDAPサーバーのペアがあり、各場所でデータの一貫性(およびアクセス可能性)を維持します。


私が説明したことはすべて、オープンソースソフトウェアで実行できます。同じことを行う商用製品もあります。
使用可能なオプションをより徹底的に調査し、環境に最適なオプションを決定する必要があります。さらに(より具体的な)質問がある場合は、おそらくもっと役立つでしょう。


基本的に、LDAPで動作するパッチを適用したOpenSSHを備えたLDAPインフラストラクチャを使用することをお勧めしますか?これは本番環境でどれだけうまく拡張できますか?大量のマシンをサポートできますか?少数のサービスユーザーのみをサポートする必要があります。
SyRenity

1
@SyRenity:LDAPサポートレプリケーションとクラスタリング、それは非常によくスケールので
ヒューバートKario

@SyRenity理論的には、無制限の数の場所で無制限の数のマシンをサポートできます(「本当に大規模なActive Directoryの展開」と考えてください。ADは基本的にファッショナブルなアクセサリーを備えたLDAPです)。私の提案は、ご使用の環境全体でそれらを標準化し、標準化を押し出すためにあるため、サービス利用者/etc/passwd/etc/group(起動する/実行するLDAPが使用できない場合でも、マシンが正常に動作することを可能にすると、関連するサービス)ファイル
voretaq7

@ voretaq7サービスユーザーは、構成管理を介して、LDAPとは別に管理されますか?
SyRenity

@SyRenity yes-さらに重要なことは、LDAPがダウンしている場合にそれらを使用するサービスで使用できることです。障害を計画しないと、災害が発生します。
voretaq7

9

キーペアは、各ユーザーのコンピューター上以外で生成されるべきではありません。秘密鍵は、理由によりそのように命名されます。

そうは言っても、ユーザーの公開キーのある種の集中リポジトリのユースケースを見ることができました。1つのオプションは、公開鍵をOpenLDAPに保存することです。OpenSSHの最新バージョンは、LDAPから鍵を読み取ることができます。


2
現在、メインラインOpenSSHのLDAP公開キーはありますか?私はLPKパッチのみを知っています(これを保証できます-それは素晴らしい動作です)。秘密鍵を秘密に保つためにも+1。
voretaq7

@ voretaq7メインラインに統合されると聞いたと思いますが、まだ確認していません。NFSを介して共有ホームディレクトリを作成するため、キーの配布は自動的に行われます。
EEAA

+1よくわかりませんでした。それは私にたくさんのトラブルを救うでしょう。それは今私が調べたいことのリストに載っています。
トムH


1

Userify [1](私が働いている場所)、Universal Key Manager [2]、SSH Key Box [3]など、多くの優れた商用およびオープンソースのソリューションがあります。それはあなたのニーズが何であるかによって異なります操作を分散化しながら管理を集中化するものを探しています(そのため、サーバーがログインするために中央の権限に依存しないように...その場合、あなたのサーバーのいずれかにログインできない場合があります。 LDAPサーバーがダウンしています!)

  1. https://userify.com

  2. https://www.ssh.com/products/universal-ssh-key-manager/

  3. https://www.sshkeybox.com

このSlantのディスカッションも参照してください。

https://www.slant.co/topics/8010/~managers-for-ssh-keys

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.