본문 바로가기
AWS 공부

AWS 보안

by 돈 되는 정보 공유하기 2022. 6. 8.
반응형

AWS 보안
AWS는 부여한 신분을 통해 사용자는 AWS 관리 콘솔이나 AWS CLI로 AWS 접속한다. 사용자는 AWS 활용을 통해 AWS 자원과 서비스를 사용하고 관리한다. 이때 기능적으로 AWS를 사용하는 것은 무엇보다 중요하지만 그만큼 보안은 중요하다. AWS 서비스를 통해 사용자가 원하는 것을 수행하고 관리하는 것을 악의적인 해커나 다른 사람에게 노출된다면 서비스 자체를 안 하는 것이 나을 것이다. AWS에서의 보안은 기본적으로 IAM(Identity andAccess Management)을 통해 관리된다. IAM에서 제공하는 신분을 통해 기준이 생긴다. 그리고 AWS의 자격인증은 AWS의 각종 자원과 서비스에 접근할 수 있는 핵심 정보이다. 이러한 신분과 접근권한을 관리하면서 주요 정보를 노출이나 악의적인 사용을 막아야 한다. 그리고 개별 사용자에게는 사용자마다 사용하려는 서비스에 해당하는 권한만 부여하여 유지해야 한다. 앞서 말했듯이 AWS 자원과 서비스를 사용하려는 사람은 누구나 자격인증 정보를 이용해 접근권한을 부여받아야 한다. AWS 리소스에 대한 작업 권한 개체를 Principal이라 부르기도 하고 신분이라고 부르기도 한다. AWS의 권한 개체는 루트 유저, IAM 유저, IAM 롤 이렇게 3가지이다. 루트 유저는 막강한 권력으로 모든 AWS 자원과 서비스에 무제한의 접근권한을 가지고 있다. 그러므로 일상적인 관리 업무에는 사용하지 않는 것이 좋고 IAM 유저를 생성한 뒤 AdministratorAccess 권한을 부여하고 관리자 계정으로 사용하는 것이 좋다. 루트 유저를 무분별하게 사용하는 것은 사용자의 의도치 않은 실수나 악의적인 정보 사용에 노출될 수 있는 가능성이 크다. 루트 유저 보안을 위한 추가적인 방법으로써 MFA(Multi Factor Authentication)를 사용을 권장한다. MFA는 사용자가 계정에 로그인 시 아이디와 비밀번호뿐만 아니라 사용자가 선택한 MFA 비밀번호를 또 입력해야 한다. 이 MFA 성격의 비밀번호는 일회성으로 물리적 디바이스나 스마트폰에 설치된 MFA 애플리케이션으로 생성할 수 있다. MFA를 추가하여 보안을 강화할 수 있지만 주의사항도 역시 존재한다. MFA 사용 시 주의사항은 MFA를 생성한 물리적 디바이스를 잃어버리게 되면 사용자가 직접 비밀번호를 확인하여 루트 계정에 접근하는 것 불가능하다. 만약 불행하게도 MFA를 생성한 물리적 디바이스를 분실하게 된다면 AWS Support를 통해 복구 작업을 진행해야 한다. 이는 번거로울 뿐 아니라 시간이 어느 정도 소요될 수도 있으니 MFA를 생성한 물리적 디바이스는 절대 분실하는 경우가 없도록 잘 관리해야 한다. 그리고 IAM 유저의 경우는 AWS Management Console에 접근하기 위한 패스워드 정책을 강화하여 보안 수준을 높일 수 있다. 패스워드 정책에는 몇 가지가 존재하는데 패스워드의 최소 길이를 제한한다거나 비밀번호 생성 시 대소문자, 기호, 숫자 등을 필수적으로 혼용 등 제약 사항을 추가하여 패스워드의 복잡성을 높일 수 있다. 앞서 언급한 내용은 비밀번호의 생성 관련한 패스워드 정책이었다면 비밀번호에 자체에 대한 설정 강화나 비밀번호 재설정 시 옵션을 통해 비밀번호 정책을 강화할 수 있다. 예를 들어 비밀번호 만료 기간 설정, 비밀번호 재설정 시 같은 비밀번호 재사용 금지, 만료된 패스워드는 재설정 시 반드시 어드민 계정을 통해 수행 등을 예로 들 수 있다. 그리고 IAM 유저를 생성할 때 AWS Mangement Console 접근과 프로그래밍 방식 접근에 대해 선택적으로 접근을 허용할 수 있고 두 방식 이용한 접근에 대해 모두 허용할 수도 있다. AWS Management Console 접근과 프로그래밍 방식 접근 모두 접근에 대해 허용할 수 있지만 약간의 차이는 존재한다. 프로그래밍 방식 접근 시에는 AWS CLI, API, SDK 등을 사용할 수 있고 이때 Access Key ID와 Secret Access Key가 필요하다. 앞서 말한 것처럼 정보보안을 위해서는 루트 계정 사용을 피하고 사용자의 최소 권한 부여 원칙을 지키는 것이 AWS 정보 보안의 근본적인 개념이다. 다시 말해 접근이 필요한 자원에 대한 권한만 부여해야 한다는 것이다. 이러한 규칙을 준수하면 AWS 자원에 대해 악의적인 접근이나 해킹에 대해 안전하다. 이러한 규칙은 IAM 정책에 정의된 IAM Principals를 통해 구현할 수 있다. IAM Principal은 기본적으로 모든 사용자의 접근을 허용하지 않고 새로 생성한 IAM 유저나 롤은 AWS 계정에서 어떠한 서비스나 작업도 불가능하다. 다시 말해 IAM 유저나 롤은 AWS 계정에서 IAM 정책을 통하여 명시적인 권한을 받은 후에 사용할 수 있기 때문에 IAM 정책은 ACL의 효과적인 구현 체계이다. 어드민은 하나 이상의 정책을 정의하여 Principal에 명시함으로써 권한을 부여하게 되는데 이 정책은 하나 이상의 퍼미션이 포함되어 있고 또 각 퍼미션에는 Effect, Action/Operation, Resource, Condition 등 4가지 요소가 포함된다. Effect는 리소스에 대한 액션의 허용 여부를 나타내고 Action/Operation은 해당 자원에 대한 작업 가능 요소인 액션을 지닌다. Resource는 액션 정의 시 하나 이상의 자원을 지정해야 하는 특징이 있고 Condition은 퍼미션 부여를 위한 조건이다.

반응형

'AWS 공부' 카테고리의 다른 글

AWS 보안 3  (0) 2022.06.10
AWS 보안 2  (0) 2022.06.09
AWS 성능 효율화  (0) 2022.06.06
Amazon CloudFront  (0) 2022.06.05
AWS DNS Route53  (0) 2022.06.03

댓글