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 스크립트 와 같은 것을 사용 하여 모든 것을 다시 시작하거나 모든 것을 다시 시작하지 않으려는 경우 이전 키의 모든 인스턴스를 실행하고 바꾸십시오.


나는 당신이 회전 할 수있는 계정 키에 대해 이야기하지 않지만 spe에 로그인하기 위해 .pem 개인 키에 대해 더 많이 이야기하고 있다고 생각합니다.

2
ssh 로그인은 ~ / .authorized_keys 항목에 의해 제어됩니다. 이들은 처음에 EC2 시작 프로세스에 의해 시드되므로 꼭 두각이나 스크립팅을 사용하여이를 대체하거나 다시 시작해야합니다.
Jeff Ferland

다 좋아. 나는 그것을 몰랐다 :).

네 맞습니다. 일반 계정의 경우 sshd에서 LDAP를 사용하도록하여 LDAP에서 사용자를 한 번 비활성화 할 수 있습니다. 그러나 시작 키는 AWS에서 관리합니다. 따라서 각 서버의 authorized_keys 파일에서 시작 키를 제거하는 꼭두각시 / chef 솔루션이 좋은 방법이라고 생각합니다. 각 관리자가 자체 AWS 시작 키를 갖기를 원하므로 한 번에 단일 사용자의 액세스 권한 만 제거하고 있습니다.
Jeff

@Jeff SSH가 LDAP를 참조하도록 구성되고 authorized_keys를 무시하면 시작 키는 인스턴스 시작 및 종료 제어에만 중요합니다. 이미지를 만드는 방법에 따라 다릅니다.
Jeff Ferland
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.