AWS 계정에서 루트 계정의 Access Key를 탈취하여 과금을 유도하거나 불법적인 행위를 인스턴스에서 실행하게 하는 등의 악성 행위가 발생할 수 있다. 이는, 개인에게 금전적으로 위협이 되거나 실제 서비스를 사용하고 있는 기업의 입장에서 엄청나게 큰 위험이다.
루트 계정의 자격이 필요한 작업이 몇가지 존재한다. 계정의 이름, 이메일 주소, 암호 변경, 결제/비용에 대한 IAM 액세스 활성화, 지원 플랜 변경/취소, S3 버킷의 일부 설정, 계정 해지 등의 작업은 루트 사용자 권한이 필요하다. 그 외에는 권한이 부여된 IAM 사용자 자격으로 모든 작업을 할 수 있습니다. 따라서, 루트 사용자에 대한 기본 보안 설정을 완료한 다음에는 적절한 자격을 부여한 IAM 사용자를 생성하고 주로 IAM 사용자로 모든 작업을 하는 것이 안전하다.
AWS 클라우드 서비스를 사용하기 위해 계정을 가입하고 가장 먼저해야 할 설정에 대해 알아보려 한다.
루트 사용자 계정에 대한 MFA 설정이다.
MFA는 계정에 대한 2차 인증을 실시하는 것을 말한다. 이를 통해, 해킹의 위험에 대해 방지할 수 있다.
MFA를 활성화하면 사용자가 AWS 웹 사이트에 로그인할 때 계정과 암호뿐만 아니라 AWS MFA 디바이스의 6 자리 인증코드를 입력하게 된다.
이러한 다중 요소를 통해 AWS 계정 설정 및 리소스에 대한 보안을 높일 수 있다.
위와 같이 MFA 디바이스 관리에 대한 설정을 진행하면 된다.
액세스 키는 아이디/패스워드 인증과 동일한 권한을 갖지만 AWS CLI, PowerShell용 도구, AWS SDK 또는 직접 AWS API 호출을 통해 AWS를 프로그래밍 방식으로 호출할 수 있도록 해준다. 반드시 필요한 용도이지만 액세스 키가 루트 사용자 권한으로 사용될 때는 그 용도 만큼이나 매우 강력해서 탈취되어 악용하면 광범위한 영역에서 피해를 줄 수 있다. 따라서, 특별한 이유가 없다면 루트 사용자 계정에는 반드시 액세스 키를 삭제하거나 비활성화되어 있어야 한다.
루트 계정 · 사용자를 사용하지 않고, IAM 사용자나 그룹에 Admin 권한 등을 부여하여 관리한다. 이후, 조직의 특성에 맞게 IAM 사용자와 그룹에 적절한 권한을 부여하여 사용한다. 이때, 모든 권한은 "최소 권한의 법칙"을 따른다.