본문 바로가기
개발자의 일상/AWS

AWS - Security - Trusted Advisor

by 아니집사 2023. 1. 10.

AWS - Trusted Advisor

AWS 모범 사례를 기반으로 각 핵심 원칙에 대한 일련의 검사를 실시간으로 실행하여,

계정을 평가하고 그 결과를 범주화하고 제공하는 AWS Navtive App 이다.

Trusted Advisor는 비용 최적화, 성능 관리, 보안 식별, 서비스 안전성 개선, 서비스 할당량 부분에 대해 이점을 제공합니다.

 

 

Trusted Advisor 지원범위 및 동작

 

- 비용 최적화 (Cost Optimization)

Trusted Advisor는 과도하게 사용중인 인스턴스 크기 설정, 연결되지 않은 유동 IP, Lambda 함수의 과도한 시간 제한, 활용 빈도가 낮은 EBS 볼륨등을 식별, 분석하여 비용 절감에 도움이 되는 실행 가능한 권장 사항을 제공합니다. 

 

- 성능 관리 (Performance)

Trusted Advisor는 사용량 및 구성을 분석하여 서비스 성능 개선에 도움이 되는 실행 가능한 권장 사항을 제공합니다. 예를 들어 EBS 처리량 및 대기 시간, EC2 인스턴스의 컴퓨팅 사용량 및 CloudFront의 구성을 분석합니다.

 

- 보안 식별 (Security)

Trusted Advisor는 보안 전문가가 선별한 기본적인 보안 모범 사례를 제안하여 AWS 환경의 보안을 개선하는 데 도움을 줄 수 있습니다. 예를 들어 RDS 보안 그룹 액세스 위험, 유출 액세스 키 및 불필요한 S3 버킷 권한을 식별합니다.

 

- 서비스 안전성 (Fault Tolerance)

Trusted Advisor는 서비스 안정성을 개선하는 데 도움을 줄 수 있습니다. 예를 들어 Auto scaling EC2 그룹, Route 53의 삭제된 상태 확인, 사용 중지된 가용 영역 및 사용 중지된 RDS 백업을 검사합니다.

 

- 서비스 할당량 (Service Limits)

서비스 할당량은 AWS 계정에서 만들 수 있는 최대 리소스 수입니다.  AWS는 모든 고객에게 가용성과 신뢰성이 높은 서비스를 제공하고 의도하지 않은 지출로부터 사용자를 보호하기 위해 할당량을 구현합니다. Trusted Advisor는 서비스 할당량의 80%가 초과될 경우 알림을 제공합니다. 사용자는 권장 사항에 따라 리소스를 삭제하거나 할당량 증가를 요청할 수 있습니다.

 

 

Security에 대한 다양한 모범 사례 점검 항목 및 권장 사항

구분 항목 /무료 설명
보안 그룹 제한 없는 특정 포트 무료 특정 포트에 대한 제한 없는 액세스(0.0.0.0/0)를 허용하는 규칙에 대해 보안 그룹을 점검합니다. 제한 없는 액세스는 악의적인 활동(해킹, 서비스 거부 공격, 데이터 손실)의 가능성을 높입니다. 위험성이 가장 높은 포트에는 빨간색 플래그가 지정되고 덜 위험한 포트에는 노란색 플래그가 지정됩니다. 녹색 플래그가 지정된 포트는 일반적으로 HTTP SMTP와 같이 제한 없는 액세스가 필요한 애플리케이션에서 사용합니다.

의도적으로 이런 방식에 따라 보안 그룹을 구성한 경우 추가적인 보안 조치를 사용하여 IP 테이블 등의 인프라를 보호하는 것이 좋습니다.
보안 그룹 제한 없는 액세스 유료 리소스에 제한 없는 액세스를 허용하는 규칙에 대해 보안 그룹을 점검합니다. 제한 없는 액세스는 악의적인 활동(해킹, 서비스 거부 공격, 데이터 손실)의 가능성을 높입니다.
IAM IAM 사용 무료 AWS Identity and Access Management(IAM)의 사용을 점검합니다. IAM을 사용하여 AWS의 사용자, 그룹, 역할을 생성할 수 있고 권한을 사용하여 AWS 리소스에 대한 액세스를 제어할 수 있습니다.
S3 S3 버킷 권한 무료 공개 액세스 권한이 있는 Amazon Simple Storage Service(Amazon S3)의 버킷을 점검합니다. 모든 사용자에게 목록 액세스 권한을 부여하는 버킷 권한은 의도하지 않은 사용자가 버킷에 객체를 자주 나열하는 경우 예상보다 높은 요금이 부과될 수 있습니다. 모든 사용자에게 업로드/삭제 액세스 권한을 부여하는 버킷 권한은 누구든지 버킷의 항목을 추가, 수정, 삭제하도록 허용함으로써 잠재적 보안 취약성을 만듭니다. 이 점검 항목은 명시적인 버킷 권한과 해당 버킷 권한을 재정의할 수 있는 관련 버킷 정책을 확인합니다.
Root 루트 계정의 Multi-Factor Authentication(MFA) 무료 루트 계정을 점검하고 Multi-Factor Authentication(MFA)이 활성화되지 않은 경우 경고합니다. 보안을 강화하려면 MFA를 사용하여 계정을 보호하는 것이 좋습니다. MFA를 사용하면 사용자는 AWS 콘솔 및 관련 웹 사이트와 상호 작용할 때 MFA 하드웨어 또는 가상 디바이스에서 받은 고유 인증 코드를 입력해야 합니다.
RDS Amazon RDS 보안 그룹 액세스 위험 유료 Amazon Relational Database Service(RDS)의 보안 그룹 구성을 점검하고 보안 그룹 규칙이 데이터베이스에 대해 지나치게 허용적인 액세스 권한을 부여하는 경우 경고합니다. 모든 보안 그룹 규칙에 권장되는 구성은 특정 Amazon Elastic Compute Cloud(Amazon EC2) 보안 그룹 또는 특정 IP 주소로부터의 액세스를 허용하는 것입니다.
CloudTrail AWS CloudTrail 로깅 유료 AWS CloudTrail 사용을 점검합니다. CloudTrailAWS 계정에서 이루어진 AWS API 호출에 대한 정보를 기록하여 해당 계정 내 활동에 대한 향상된 가시성을 제공합니다. 이러한 로그를 사용하여 지정된 기간에 특정 사용자가 수행한 작업이 무엇인지, 지정된 기간에 특정 리소스를 사용하여 작업한 사용자가 누구인지 등을 확인할 수 있습니다. CloudTrail은 로그 파일을 Amazon Simple Storage Service(Amazon S3) 버킷에 전달하므로, CloudTrail은 해당 버킷에 대한 쓰기 권한이 있어야 합니다.
Route 53 Amazon Route 53 SPF 리소스 레코드 세트 유료 MX 리소스 레코드 세트에 대한 SPF 리소스 레코드 세트를 점검합니다. SPF(발신자 정책 프레임워크) 레코드는 도메인에 대해 이메일을 전송할 권한이 있는 서버 목록을 게시합니다. 이를 통해 이메일 주소 스푸핑을 탐지 및 차단하여 스팸을 줄일 수 있습니다.
ELB ELB 리스너 보안 유료 암호화된 통신을 위한 권장 보안 구성을 사용하지 않는 리스너가 있는지 로드 밸런서를 점검합니다. AWS에서는 보안 프로토콜(HTTPS 또는 SSL), 최신 보안 정책, 안전한 암호화 및 프로토콜을 사용하도록 권장합니다. 프런트 엔드 연결(클라이언트에서 로드 밸런서로)에 보안 프로토콜을 사용하는 경우, 클라이언트와 로드 밸런서 간에 요청이 암호화되므로 더욱 안전합니다. Elastic Load BalancingAWS 보안 모범 사례를 준수하는 암호화 및 프로토콜과 함께 사전 정의된 보안 정책을 제공합니다. 사전 정의된 정책의 새로운 버전은 새로운 구성이 제공될 때 릴리스됩니다. 이 점검은 현재 ELB 서비스 내에서 Classic Load Balancer 유형만 점검합니다. 다른 ELB 유형(Application Load Balancer, Network Load Balancer)은 포함되지 않습니다.
ELB ELB 보안 그룹 유료 로드 밸런서에 포함되지 않은 포트에 대한 액세스를 허용하는 보안 그룹이 구성되어 있거나, 보안 그룹이 누락되어 구성된 로드 밸런서가 있는지 점검합니다. 로드 밸런서에 연결된 보안 그룹이 삭제되는 경우 로드 밸런서는 정상적으로 작동하지 않습니다. 보안 그룹이 로드 밸런서에 포함되지 않은 포트에 대한 액세스를 허용하는 경우, 데이터 손실 또는 악의적 공격의 위험이 증가합니다. 이 점검은 현재 ELB 서비스 내에서 Classic Load Balancer 유형만 점검합니다. 다른 ELB 유형(Application Load Balancer, Network Load Balancer)은 포함되지 않습니다.
인증서 IAM 인증서 스토어의 Amazon CloudFront 사용자 지정 SSL 인증서 유료 IAM 인증서 스토어의 CloudFront 대체 도메인 이름용 SSL 인증서가 만료되거나, 곧 만료될 예정이거나, 오래된 암호화를 사용하거나, 배포에 대해 올바르게 구성되지 않은 것은 없는지 점검합니다. 대체 도메인 이름용 사용자 지정 인증서가 만료되는 경우, CloudFront 콘텐츠를 표시하는 브라우저가 웹 사이트 보안에 대한 경고 메시지를 표시할 수 있습니다. SHA-1 해싱 알고리즘을 사용하여 암호화된 인증서는 Chrome Firefox와 같은 웹 브라우저에서는 더 이상 사용되지 않습니다. 인증서에 오리진 도메인 이름 또는 최종 사용자 요청의 호스트 헤더에 있는 도메인 이름과 일치하는 도메인 이름이 없는 경우, CloudFrontHTTP 상태 코드 502(잘못된 게이트웨이)를 사용자에게 반환합니다.
인증서 오리진 서버의 Amazon CloudFront SSL 인증서 유료 사용자의 CloudFront 배포 사용자 지정 오리진을 살펴보고, 오리진 인증서가 올바르게 구성되었는지 여부를 확인합니다. 잘못 구성된 인증서는 다음 7일 이내에 만료되거나, 이미 만료되었거나, SHA1 약한 서명 알고리즘을 사용하는 인증서입니다.
키 관리 노출된 액세스 키 유료 일반에 노출된 액세스 키가 있는지 그리고 손상된 액세스 키로 인해 비정상적으로 사용된 Amazon Elastic Compute Cloud(Amazon EC2)가 있는지 널리 사용되는 코드 리포지토리를 점검합니다. 액세스 키는 액세스 키 ID와 해당 비밀 액세스 키로 구성됩니다. 노출된 액세스 키는 사용자 계정 및 다른 사용자에게 보안 위험을 초래하고, 무단 활동 또는 남용으로 인해 과도한 요금이 부과되며, AWS 고객 계약을 위반할 수 있습니다. 액세스 키가 노출되면 즉시 계정을 보호할 수 있는 조치를 취하십시오. AWS는 과도한 요금으로부터 계정을 추가로 보호하기 위해 일부 AWS 리소스를 생성할 수 있는 기능을 일시적으로 제한합니다. 이렇게 해도 계정이 보호되지는 않으며 요금이 발생할 수 있는 무단 사용을 부분적으로 제한할 뿐입니다.

참고: 이 점검 항목이 유출 액세스 키 또는 손상된 EC2 인스턴스의 식별을 보장하지는 않습니다. 액세스 키 및 AWS 리소스에 대한 안전 및 보안에 대한 책임은 궁극적으로 고객에게 있습니다.
EBS Amazon EBS 퍼블릭 스냅샷 무료 Amazon Elastic Block Store(EBS) 볼륨 스냅샷의 권한 설정을 점검하고 퍼블릭으로 표시된 스냅샷이 있으면 알립니다. 스냅샷을 퍼블릭으로 만들면 모든 AWS 계정 및 사용자에게 해당 스냅샷의 모든 데이터에 대한 액세스 권한을 부여하게 됩니다. 스냅샷을 특정 사용자 또는 계정과 공유하고자 하는 경우, 스냅샷을 프라이빗으로 표시한 다음 스냅샷 데이터를 공유할 사용자 또는 계정을 지정합니다.
RDS Amazon RDS 퍼블릭 스냅샷 무료 Amazon Relational Database Service(RDS) DB 스냅샷의 권한 설정을 점검하고 퍼블릭으로 표시된 스냅샷이 있으면 알립니다. 스냅샷을 퍼블릭으로 만들면 모든 AWS 계정 및 사용자에게 해당 스냅샷의 모든 데이터에 대한 액세스 권한을 부여하게 됩니다. 스냅샷을 특정 사용자 또는 계정과 공유하고자 하는 경우, 스냅샷을 프라이빗으로 표시한 다음 스냅샷 데이터를 공유할 사용자 또는 계정을 지정합니다.
IAM AWS IAM 암호 정책 유료 계정에 대한 암호 정책을 점검하고 암호 정책이 활성화되지 않은 경우 또는 암호 콘텐츠 요구 사항이 활성화되지 않은 경우 경고합니다. 암호 콘텐츠 요구 사항은 강력한 사용자 암호 생성을 적용하여 AWS 환경 전반의 보안을 강화합니다. 암호 정책을 생성하거나 변경하면 변경 사항은 새로운 사용자에게 즉시 적용되지만 기존 사용자가 암호를 변경할 필요는 없습니다.
IAM AWS IAM 액세스 키 교체 유료 지난 90일 동안 교체되지 않은 활성 IAM 액세스 키가 있는지 점검합니다. 액세스 키를 정기적으로 교체하면, 알지 못하는 상태에서 리소스에 액세스하는 데 손상된 키가 사용될 가능성이 줄어듭니다. 이 점검의 경우 마지막 교체 날짜와 시간은 액세스 키가 생성되거나 가장 최근에 활성화된 시간입니다. 액세스 키 번호 및 날짜는 가장 최근 IAM 자격 증명 보고서의 access_key_1_last_rotated access_key_2_last_rotated 정보에서 가져옵니다.
Lambda 더 이상 사용되지 않는 런타임을 사용하는 AWS Lambda 함수 유료 더 이상 사용되지 않거나 사용 중단된 런타임을 사용하도록 구성된 Lambda 함수가 있는지 확인합니다. 더 이상 사용되지 않는 런타임은 보안 업데이트 또는 기술 지원을 받을 자격이 없습니다.

참고: 이 검사 결과는 매일 여러 번 자동으로 새로 고쳐지며, 새로 고침 요청은 허용되지 않습니다. 변경 사항이 나타나는 데 몇 시간이 걸릴 수 있습니다.

 

 

 

설명 출처:

https://aws.amazon.com/ko/premiumsupport/technology/trusted-advisor/

https://aws.amazon.com/ko/premiumsupport/technology/trusted-advisor/best-practice-checklist/

 

AWS Trusted Advisor

Trusted Advisor는 사용량, 구성 및 지출을 분석하여 비용 절감에 도움이 되는 실행 가능한 권장 사항을 제공합니다. 예를 들어 유휴 RDS DB 인스턴스, 활용률이 낮은 EBS 볼륨, 연결되지 않은 탄력적 IP

aws.amazon.com

 

AWS Trusted Advisor 모범 사례 체크리스트 - Amazon Web Services

 

aws.amazon.com

댓글