IAM 3

AWS SSM으로 하는 프라이빗 리소스 접근 제어 및 보안 감사 로깅

EC2를 접근하기 위해서는 AWS 기준으로 Key File을 이용하여 SSH로 접근한다. 그렇다면, 프라이빗 서브넷(인터넷이 차단된)에 있는 EC2는 어떻게 접근할까? 이전에 사용하던 방식은 앞 단에 Bastion Host를 두고 프록시하여 SSH 접속을 했다. 이렇게 되면 보안 상 취약한 요소가 키 파일 사용 SSH 포트 개방 Bastion Host 관리 서버 접속 사용자의 행동 추적이 어려움 정도가 있을 수 있다. 또, 프라이빗 서브넷에 RDS 혹은 ElastiCache 등 데이터 관련 리소스가 있다고 가정한다면, 이 리소스들도 Bastion Host를 통해 접속해야 하고, 그렇게 되면 터미널로 접속하기 때문에 보통 데이터베이스를 접속할 때 DataGrip과 같은 데이터베이스 툴을 사용할 수 없어 굉..

AWS IAM 계정을 보안 모범 사례 기반으로 다루는 방법

AWS 리소스를 관리할 때는 보통 보안 상의 이유로 루트 계정으로 관리하지 않고, 따로 IAM 계정을 생성하고 해당 계정이 사용할 리소스에 대한 여러가지 접근 권한 정책을 부여하여 사용하게 된다. 예를 들면, IAM 계정에 모든 EC2에 대해 읽기 권한만 주고 싶다면 아래의 정책을 생성하여 할당한다. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:Describe*", "Resource": "*" } ] } 그리고 일반적으로, 좀 더 수준 높은 보안을 위해 IAM 계정에 MFA(Multi Factor Authentication)를 설정하는 것이 권장된다. 이처럼 하나의 AWS 계정 안에서 IAM 계정을 어떻게 하면..

AWS Secrets Manager로 애플리케이션에서 RDS 자격증명 정보 보안하기

보통 AWS를 처음 시작하게 되면 EC2와 관련된 컴퓨팅 리소스를 많이 사용하게 되고, 그 다음으로는 RDS인 것 같다. 그리고 개발자들은 소스 코드의 설정 파일에 RDS 접속 정보를 넣어서 연결하게 된다. 이 때, 생길 수 있는 문제는 바로 RDS의 자격증명 정보(마스터 계정 아이디, 비밀번호)가 여과없이 소스 코드에 드러나게 되는 것이다. 이 부분을 해결하기 위해 AWS는 Secrets Manager라는 서비스를 출시했다. AWS Secrets Manager 란? AWS Secrets Manager는 애플리케이션, 서비스, IT 리소스에 액세스할 때 필요한 보안 정보를 보호하는 데 도움이 됩니다. 이 서비스를 사용하면 수명 주기에 걸쳐 데이터베이스 자격 증명, API 키 및 다른 보안 정보를 손쉽게 ..

DevOps 2021.08.06