[server] 개인 컴퓨터에 AWS 자격 증명을 안전하게 저장

개인 컴퓨터에 AWS 자격 증명을 안전하게 저장하려면 어떻게해야합니까?

상세히:

우리 팀의 모든 직원은 관리 작업을 수행하기 위해 AWS 보안 자격 증명이 필요합니다 (자격 증명은 역할별로 구분됨). 이러한 자격 증명은 일반적으로 디스크의 일부 구성 파일에 일반 텍스트로 저장됩니다. 자격 증명이 팀 구성원에게 배포되고 백업 등으로 끝나는 것을 고려할 때 이것은 매우 안전하지 않다고 생각합니다.

이 자격 증명을 암호화 된 형태로 저장하는 것이 좋습니다 (예 : ssh 키와 유사). 자동화 된 방법이 있습니까? 아니면 데이터를 암호화하기 위해 openssl과 같은 bash 스크립트를 해킹해야합니까?

EC2 인스턴스에서 자격 증명을 보호하는 방법에 대한 많은 정보가 웹에 있습니다. 이 Amazon IAM 역할 기능 도 있지만 EC2에만 적용됩니다.



답변

https://github.com/realestate-com-au/credulous 는 조사 할 가치가 있습니다. 프로젝트 설명에서 :

credulousAWS (IAM) 자격 증명을 안전하게 관리하는 명령 줄 도구입니다 . 목표는 해당 개인 SSH 키 가 있는 사용자 만 해당 자격 증명을보고 사용할 수 있도록 사용자의 공개 SSH 키 를 사용하여 자격 증명을 암호화하는 것입니다. 또한이 도구를 사용
하면 사용자의 현재 워크 플로를 중단하지 않고도 현재 자격 증명 을 쉽게 회전수 있습니다 .

http://techblog.realestate.com.au/protecting-your-aws-keys-with-credulous/에 소개 블로그 기사가 있습니다.


답변

좋은 질문입니다. 응답하는 사람에 따라 갈 경로가 몇 개있을 것입니다. 우리가 사용하는 것의 예를 보여 드리겠습니다.

  1. 사용자 (개발자, 인프라, 보안, 감사 등)를 기반으로 IAM 역할 생성-사용자 액세스를 기반으로 특정 작업을 허용하거나 거부하는 정책을 사용자 정의합니다.

예 : 관리자에 대한 모든 ec2 작업을 허용합니다. 또는 개발자 등의 태그 또는 서브넷을 기반으로 한 액세스 만 허용하십시오.

  1. 특정 IAM 역할을 사용하여 ec2 Linux 인스턴스를 시작하십시오. 각 특정 역할 또는 사용자에 대한 인스턴스를 시작합니다 (필요, 예산 등에 따라 인스턴스 크기 / 유형 조정)

  2. 특정 서브넷이나 개별 IP 만 허용하도록 각 인스턴스에 대한 보안 그룹을 구성하여 SSH에 대한 트래픽 수신을 잠글 수 있습니다.

  3. SSH에 대한 사용자 정의 사용자 / 암호를 설정하거나 도메인에 가입하십시오.

  4. 각 사용자에게 역할 또는 사용자 액세스 권한이 할당 된 Linux 인스턴스에 로그온하거나 SSH를 부여하십시오.

  5. API 키와 액세스는 이제 인스턴스 IAM 역할 자체에서 상속되므로 사용자 키를 저장할 필요가 없습니다. 보안 그룹을 잠그고 Linux 상자의 특정 사용자에게만 액세스 권한을 부여하십시오. 사용자는 AWS API를 사용하여 스크립트를 작성하거나 API 도구 기능을 정상적으로 사용할 수 있어야합니다.

우리는 약 1 년 동안이 방법을 사용해 왔으며, 임대 액세스 시간과 같은 추가 보안 조정을 통해 AWS HSM에 구매했으며 훌륭하게 작동했습니다.

이것이 당신이나 다른 누군가를 돕기를 바랍니다.


답변