EC2管理のキーペアの秘密キーを安全に管理するにはどうすればよいですか?


8

EC2インスタンスを起動するには、キーペアが必要です。そのキーペアの秘密キーにアクセスできるエンジニアが退職する状況にどのように対処しますか?インスタンスの起動直後に、個々のsshアクセスを追加し、最初のキーペアの認証を解除することはできますか?


1
EC2インスタンスの新しいインスタンスを再デプロイし、古いキーペアで古いインスタンスを削除しますか?
sdolgy

回答:


10

従業員または請負業者が退職するときは、会社のリソースへの特権アクセスを無効にする必要があります。これには、sshの主要な懸念事項が含まれます(ただし、これらに限定されません)。

  1. 実行中のすべてのインスタンスのすべてのauthorized_keysファイルから公開SSH鍵を削除します。それらを、アクセスが必要な人だけが知っている、新しく生成された公開SSH鍵で置き換えます。

  2. 出発者が知っていたEC2のすべてのキーペアエントリを削除して、それらのキーペアで新しいインスタンスを開始できないようにします。それらを新しいキーペアエントリに置き換えます。

あなたが提案する別の方法も適切で、私が使用する方法です。初期sshキーを無効にし、開発者ごとに個別の公開sshキーを追加して、開発者が通常の秘密sshキーでログインできるようにします。これは、共有アカウントにログインする場合、または各開発者が自分の個別のユーザーアカウントを取得する場合に実行できます(私の方を推奨します)。

従業員が退職した後は、実行中のサーバーをクリーンアップするだけでなく、sshキーを新しいサーバーに追加するプロセスもクリーンアップする必要があります。また、従業員が参加するときは、逆の手順を実行する必要があります。実行中のサーバーにSSHキーを追加し、新しいサーバープロセスを更新します。

これは、多くのサーバーにわたって多くのsshキーを維持するためにもう少し作業になる可能性がありますが、自動化の出番です。


3

この秘密鍵をエンドユーザーに絶対に渡さないでください。エンドユーザーは、公開鍵認証(OWNパスワードで保護された秘密鍵を使用)などの独自のログイン手段をプロビジョニングしてから、LDAP承認を提供する必要があります。

ec2から提供された秘密鍵を配布すると、ユーザーのプロビジョニングを解除できなくなります。これが、共有資格情報の使用がすべてのセキュリティおよびコンプライアンス規制によって完全に禁止されている理由です。

共有資格情報の使用を許可する場合:

  • ログを使用して、実際にホスト上にいるか、ホスト上にいたを知ることは不可能です
  • すべてのユーザーをプロビジョニング解除せずにユーザーをプロビジョニング解除することは不可能です(緊急アクセスを含みます。これはEC2秘密鍵が実際に使用するものです)

2

アクセス認証情報のローテーションに関するAmazonのドキュメントをご覧ください。

すべてを再起動したくない場合、または単にすべて再起動したくない場合は、パペットまたはソリッドsshスクリプトなどを使用して実行し、古いキーのすべてのインスタンスを置き換えます。


彼はあなたがローテーションできるアカウントキーについて話しているのではなく、sshにログを記録するための.pem秘密キーについて話していると思います。

2
sshログインは〜/ .authorized_keysエントリによって制御されます。それらは最初にEC2起動プロセスによってシードされるため、パペットまたはスクリプトを使用してそれらを置き換えるか再起動する必要があります。
ジェフファーランド

大丈夫。私はそれを知りませんでした:)。

はい、そうです。通常のアカウントの場合、sshdでLDAPを使用することができるため、LDAPからユーザーを一度非アクティブ化できます。ただし、起動キーはAWSによって管理されます。そのため、各サーバーのauthorized_keysファイルから起動キーを削除するパペット/シェフソリューションが適切な方法だと思います。また、各管理者に独自のAWS起動キーを割り当てたいので、一度に1人のユーザーのアクセスのみを削除します。
ジェフ

@Jeff SSHがLDAPを参照し、authorized_keysを無視するように設定されている場合、起動キーはインスタンスの起動と終了を制御する場合にのみ重要です。それは、イメージの構築方法によって異なります。
ジェフファーランド2011年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.