AWS Trusted Advisor - 보안

백지선·2023년 1월 18일
0

AWS Compliance Tool에 대해 알아보는 시간을 가져봅시다!

AWS Trusted Advisor는 아래 5가지 영역에 대해서 모범사례를 제공해줍니다

  • 비용 최적화
  • 성능
  • 보안
  • 내결함성
  • 서비스 할당량
    오늘은 보안과 관련된 모범사례(best-practice)에 대해 알아보겠습니다!

Amazon EC2 instances with Microsoft SQL Server end of support

위험: EC2 인스턴스에 지원 종료에 도달한 SQL Server버전이 존재
경고: EC2 인스턴스에 12개월 후에 지원이 종료되는 SQL Server 버전이 존재
🛠️ 대안: SQL Server 업데이트, Amazon Aurora사용, 업데이트 할 수 없는 경우 Windows Server용 EMP(지원종료 마이그레이션 프로그램 고려)

Amazon EC2 instances with Microsoft Windows Server end of support

위험: EC2 인스턴스에 지원이 종료된 Windows Server 버전(Windows Server 2003, 2003 R2, 2008 및 2008 R2)가 존재
경고: EC2 인스턴스에 18개월 이내에 지원이 종료되는 Windows Server 버전 존재(Windows Server 2012 및 2012 R2)
🛠️ 대안: Window Server 최신 업데이트, 업데이트 할 수 없는 경우 Windows Server용 EMP(지원종료 마이그레이션 프로그램 고려)

Amazon EBS Public Snapshots

"Public으로 공개된 상태의" EBS 스냅샷이 있다
🛠️ 대안: 의도적으로 Public하게 공개한 것이 아니라면, 특정 AWS 계정의 ID로 제한하여 스냅샷의 권한을 조정한다

Amazon RDS Public Snapshots

"Public으로 공개된 상태의" RDS 스냅샷이 있다
🛠️ 대안: 의도적으로 Public하게 공개한 것이 아니라면, 특정 AWS 계정의 ID로 제한하여 스냅샷의 권한을 조정한다

Amazon RDS Security Group Access Risk

위험: Any 정책의 RDS SG가 있다
경고: "주요 Port가 Any로 열린 EC2 SG를 참조 or Single IP로 제한X인" RDS SG가 있다
🛠️ 대안: RDS에 매핑된 Security Group에 특정 IP로 접근을 제한하는 룰을 설정한다

Amazon Route 53 MX Resource Record Sets and Sender Policy Framework

MX 리소스 레코드에 "SPF 설정을 포함한 TXT 리소스 레코드"가 등록되어 있지 않다
🛠️ 대안: 해당 레코드를 등록한다

Amazon S3 Bucket Permissions

위험: "익명에게-쓰기 권한이 부여된" S3 버킷이 있다
경고: "익명 사용자에게 읽기/리스팅 권한이 부여된" S3 버킷이 있다
🛠️ 대안: open access 설정을 의도한 것이 아니라면 특정 사용자만 접근할 수 있도록 권한 정책을 조정한다

AWS CloudTrail Logging

위험: 해당 Region에 Cloudtrail 로깅 설정이 되어있지 않다
경고: 특정 Cloudtrail log를 가져오는데 실패했다
🛠️ 대안: Cloudtrail을 활성화하고, 지정한 S3 Bucket에 로깅 관련 권한이 부여되어 있는지 확인한다

AWS Lambda Functions Using Deprecated Runtimes

위험: 사용되지 않는 런타임에서 함수가 실행중
경고: 120이내에 중단될 런타임에서 함수가 실행중
🛠️ 대안: 더 이상 사용하지 않는 함수 버전 삭제

AWS Well-Architected high risk issues for security

AWS Well-Architected의 보안 원칙에서 하나 이상의 위험 발생
🛠️ 대안: 위험 요소 대응

CloudFront Custom SSL Certificates in the IAM Certificate Store

위험: 매핑된 인증서 만료
경고: "부적합(SHA-1/CNAME)하거나 7일내 만료 예정인" Custom SSL 인증서가 CF에 매핑
🛠️ 대안: 만료된 인증서를 갱신하거나 SHA-256 해시 알고리즘 사용 및 Alternative Domain에 매칭되는 인증서를 사용

CloudFront SSL Certificate on the Origin Server

위험: 오리진 인증서 만료
경고: "부적합(SHA-1/CNAME)하거나 7일내 만료 예정인" 오리진 SSL 인증서가 있다
🛠️ 대안: 만료된 인증서를 갱신하거나 환경에 적합한 인증서를 Cloudfront 원본(Origin)에 등록

ELB Listener Security

위험: 취약한 Cipher/Protocol 적용 ELB
경고: "앞단에 암호화 Protocol 미사용 or 부적절한 Cipher/Protocol을 적용한" ELB
🛠️ 대안: Front-End에는 HTTPS나 SSL 프로토콜을 설정하고 최신(또는 적합한 수준의) SSL Security Policy를 사용한다

ELB Security Groups

위험: ELB에 설정된 SG 객체가 없다
경고: "Listener 설정에 없는 Port로 Inbound Access가 설정된" ELB SG가 있다
🛠️ 대안: ELB의 Listener 설정에 존재하는 Port 정보를 기반으로 Security Group 룰을 설정한다

Exposed Access Keys

인터넷 상에(ex: Github) 해당 계정 內 객체의 Access Key쌍이 노출되었다(또는 노출된 정황이 있다)
🛠️ 대안: 해당 키쌍을 즉시 삭제하고, 해당 키쌍을 통해 계정내에 오용된 리소스가 없는지 확인한다

IAM Access Key Rotation

위험: "~ 2년 이상인" 키쌍이 있다
경고: "교체(Rotation) 시점이 최근 90일 이상 2년 미만인" Access Key쌍이 있다
🛠️ 대안: 해당 키쌍을 주기적으로 교체(Rotation)한다

IAM Password Policy

위험: 암호 정책이 비활성화 상태다
경고: IAM 객체의 암호 정책(암호 최소길이 등)이 부분적으로 설정되어 있다
🛠️ 대안: 필요한 항목을 검토한 후 적절한 암호 정책을 설정한다

IAM Use

해당 계정 內에 생성된 IAM User 객체가 하나도 없다
🛠️ 대안: Root Account만 사용하지 말고, 복수의 IAM User 객체를 만들어 사용자별로 권한을 적절히 제어한다

MFA on Root Account

해당 계정의 Root Account에 MFA가 설정되어 있지 않다
🛠️ 대안: Root Account에 MFA를 설정한다

Security Groups – Specific Ports Unrestricted

위험: 20/21/1433/1434/3306/3389/4333/5432/5500 Port가 Any로 열려있다
경고: "일부 Port가 Any로 열린" SG가 있다
🛠️ 대안: Source IP가 Any로 설정된 룰을 삭제하거나 특정 IP(또는 Range)로 제한하는 정책을 설정한다

Security Groups – Unrestricted Access

"22/80/443번 외 Port를 대상으로 Source IP가 Any인 룰이 포함된" Security Group이 있다
🛠️ 대안: Source IP가 Any로 설정된 룰을 삭제하거나 특정 IP(또는 Range)로 제한하는 정책을 설정한다

profile
Security, Cloud

0개의 댓글