IAM에 대한 Security Hub 제어 - AWS Security Hub
[IAM.1] IAM 정책은 전체 "*" 관리 권한을 허용하지 않아야 합니다.[IAM.2] IAM 사용자에게 IAM 정책이 연결되지 않아야 합니다.[IAM.3] IAM 사용자의 액세스 키는 90일 이하마다 교체되어야 합니다.[IAM.4] IAM 루트 사용자 액세스 키가 없어야 합니다.콘솔 암호가 있는 모든 IAM 사용자에 대해 [IAM.5]를 활성화해야 MFA 합니다.[IAM.6] 루트 사용자에 대해 하드웨어를 활성화해야 MFA 합니다.[IAM.7] IAM 사용자의 암호 정책에는 강력한 구성이 있어야 합니다.[IAM.8] 사용하지 않는 IAM 사용자 자격 증명을 제거해야 합니다.루트 사용자에 대해 [IAM.9]를 활성화해야 MFA 합니다.[IAM.10] IAM 사용자에 대한 암호 정책에는 강력한 AWS Config요구 사항이 있어야 합니다.[IAM.11] IAM 암호 정책에 대문자가 하나 이상 필요한지 확인[IAM.12] IAM 암호 정책에 소문자가 하나 이상 필요한지 확인[IAM.13] IAM 암호 정책에 하나 이상의 기호가 필요한지 확인[IAM.14] IAM 암호 정책에 하나 이상의 숫자가 필요한지 확인[IAM.15] IAM 암호 정책에 최소 암호 길이가 14 이상이어야 합니다.[IAM.16] IAM 암호 정책이 암호 재사용을 방지하는지 확인[IAM.17] IAM 암호 정책이 90일 이내에 암호를 만료하는지 확인[IAM.18]를 사용하여 인시던트를 관리하기 위한 지원 역할이 생성되었는지 확인합니다. AWS Support모든 IAM 사용자에 대해 [IAM.19]를 활성화해야 MFA 합니다.[IAM.20] 루트 사용자 사용을 피합니다.[IAM.21] 생성하는 IAM 고객 관리형 정책은 서비스에 와일드카드 작업을 허용하지 않아야 합니다.[IAM.22] 45일 동안 사용되지 않은 IAM 사용자 자격 증명은 제거해야 합니다.[IAM.23] IAM Access Analyzer 분석기에 태그를 지정해야 합니다.[IAM.24] IAM 역할에 태그를 지정해야 합니다.[IAM.25] IAM 사용자에게 태그를 지정해야 합니다.[IAM.26] 만료됨 SSL/TLS에서 관리되는 인증서를 제거IAM해야 합니다.[IAM.27] 자격 IAM 증명에는 AWSCloudShellFullAccess 정책이 연결되지 않아야 합니다.[IAM.28] IAM Access Analyzer 외부 액세스 분석기를 활성화해야 합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

IAM에 대한 Security Hub 제어

이러한 AWS Security Hub 제어는 AWS Identity and Access Management (IAM) 서비스 및 리소스를 평가합니다.

이러한 제어는 일부만 사용할 수 있습니다 AWS 리전. 자세한 내용은 리전별 제어 기능 사용 가능 여부 단원을 참조하십시오.

[IAM.1] IAM 정책은 전체 "*" 관리 권한을 허용하지 않아야 합니다.

관련 요구 사항: PCI DSS v3.2.1/7.2.1, CIS AWS Foundations Benchmark v1.2.0/1.22, CIS AWS Foundations Benchmark v1.4.0/1.16, NIST.800-53.r5 AC-2, NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-3, NIST.800-53.r5 AC-3(15), NIST.800-53.r5 AC-3(7), NIST.800-53.r5 AC-5 NIST.800-53.r5 AC-6,, NIST.800-53.r5 AC-6(10), NIST.800-53.r5 AC-6(2), NIST.800-53.r5 AC-6(3)

범주: 보호 > 보안 액세스 관리

심각도: 높음

리소스 유형: AWS::IAM::Policy

AWS Config 규칙: iam-policy-no-statements-with-admin-access

스케줄 유형: 변경이 트리거됨

파라미터:

  • excludePermissionBoundaryPolicy: true(사용자 지정할 수 없음)

이 제어는가 "Effect": "Allow" "Action": "*" 넘는에 문을 포함하여 IAM 정책의 기본 버전(고객 관리형 정책이라고도 함)에 관리자 액세스 권한이 있는지 확인합니다"Resource": "*". 이러한 문이 포함된 IAM 정책이 있는 경우 제어가 실패합니다.

제어는 사용자가 생성한 고객 관리형 정책만 확인합니다. 인라인 및 AWS 관리형 정책은 확인하지 않습니다.

IAM 정책에서는 사용자, 그룹 또는 역할에 부여되는 권한 세트를 정의합니다. 표준 보안 권고에 따라는 최소 권한을 부여하도록 AWS 권장합니다. 즉, 작업을 수행하는 데 필요한 권한만 부여해야 합니다. 사용자에게 있어야 하는 최소한의 권한 집합으로 제한하지 않고 전체 관리 권한을 제공하면 리소스가 원치 않는 작업에 노출될 수 있습니다.

전체 관리 권한을 허용하는 대신 사용자가 해야 할 작업을 파악한 후 해당 작업만 수행하도록 정책을 작성합니다. 최소한의 권한 집합으로 시작하여 필요에 따라 추가 권한을 부여하는 것이 안전합니다. 처음부터 권한을 많이 부여하지 말고 나중에 강화하세요.

"Effect": "Allow" , "Action": "*"/"Resource": "*" 문이 있는 IAM 정책을 제거해야 합니다.

참고

AWS Config 는 Security Hub를 사용하는 모든 리전에서 활성화되어야 합니다. 하지만 단일 리전에서는 글로벌 리소스 기록을 활성화할 수 있습니다. 단일 리전에서만 글로벌 리소스를 기록하는 경우, 글로벌 리소스를 기록하는 리전을 제외한 모든 리전에서 이 제어를 비활성화할 수 있습니다.

문제 해결

전체 "*" 관리 권한을 허용하지 않도록 IAM 정책을 수정하려면 IAM 사용 설명서 IAM 정책 편집을 참조하세요.

[IAM.2] IAM 사용자에게 IAM 정책이 연결되지 않아야 합니다.

관련 요구 사항: PCI DSS v3.2.1/7.2.1, CIS AWS Foundations Benchmark v3.0.0/1.15, CIS AWS Foundations Benchmark v1.2.0/1.16, NIST.800-53.r5 AC-2, NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-3, NIST.800-53.r5 AC-3(15), NIST.800-53.r5 AC-3(7), NIST.800-53.r5 AC-6, NIST.800-53.r5 AC-6(3)

범주: 보호 > 보안 액세스 관리

심각도: 낮음

리소스 유형: AWS::IAM::User

AWS Config 규칙: iam-user-no-policies-check

스케줄 유형: 변경이 트리거됨

파라미터: 없음

이 제어는 IAM 사용자에게 정책이 연결되어 있는지 확인합니다. IAM 사용자에게 정책이 연결된 경우 제어가 실패합니다. 대신 IAM 사용자는 IAM 그룹에서 권한을 상속하거나 역할을 수임해야 합니다.

기본적으로 IAM 사용자, 그룹 및 역할은 AWS 리소스에 액세스할 수 없습니다. IAM 정책은 사용자, 그룹 또는 역할에 권한을 부여합니다. IAM 정책을 사용자가 아닌 그룹 및 역할에 직접 적용하는 것이 좋습니다. 그룹 또는 역할 수준에서 권한을 지정하면 사용자 수가 증가할 때 액세스 관리 복잡성이 줄어듭니다. 액세스 관리 복잡성을 줄이면 보안 주체가 부주의로 과도한 권한을 받거나 보유할 기회가 줄어듭니다.

참고

AWS Config 는 Security Hub를 사용하는 모든 리전에서 활성화되어야 합니다. 하지만 단일 리전에서는 글로벌 리소스 기록을 활성화할 수 있습니다. 단일 리전에서만 글로벌 리소스를 기록하는 경우, 글로벌 리소스를 기록하는 리전을 제외한 모든 리전에서 이 제어를 비활성화할 수 있습니다.

문제 해결

이 문제를 해결하려면 IAM 그룹을 생성하고 정책을 그룹에 연결합니다. 그런 다음 사용자를 그룹에 추가합니다. 정책은 그룹 내 각 사용자에게 적용됩니다. 사용자에게 직접 연결된 정책을 제거하려면 IAM 사용 설명서 IAM 자격 증명 권한 추가 및 제거를 참조하세요.

[IAM.3] IAM 사용자의 액세스 키는 90일 이하마다 교체되어야 합니다.

관련 요구 사항: CIS AWS Foundations Benchmark v3.0.0/1.14, CIS AWS Foundations Benchmark v1.4.0/1.14, CIS AWS Foundations Benchmark v1.2.0/1.4, NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-2(3), NIST.800-53.r5 AC-3(15), PCI DSS v4.0.1/8.3.9, PCI DSS v4.0.1/8.6.3

범주: 보호 > 보안 액세스 관리

심각도: 중간

리소스 유형: AWS::IAM::User

AWS Config 규칙: access-keys-rotated

스케줄 유형: 주기적

파라미터:

  • maxAccessKeyAge: 90(사용자 지정할 수 없음)

이 제어는 활성 액세스 키가 90일마다 교체되는지 여부를 확인합니다.

사용자 계정에서 모든 액세스 키를 생성 및 제거하지 않는 것이 좋습니다. 대신 하나 이상의 IAM 역할을 생성하거나 페더레이션을 사용하는 것이 좋습니다 AWS IAM Identity Center. 이러한 방법을 사용하여 사용자가 AWS Management Console 및에 액세스하도록 허용할 수 있습니다 AWS CLI.

각 접근법에는 사용 사례가 있습니다. 페더레이션은 일반적으로 기존 중앙 디렉터리가 있거나 IAM 사용자에 대한 현재 제한보다 더 많은 것이 필요한 기업에 더 적합합니다. AWS 환경 외부에서 실행되는 애플리케이션은 AWS 리소스에 프로그래밍 방식으로 액세스하려면 액세스 키가 필요합니다.

그러나 프로그래밍 방식 액세스가 필요한 리소스가 내부에서 실행되는 경우 IAM 역할을 사용하는 것이 AWS가장 좋습니다. 역할을 사용하면 액세스 키 ID 및 보안 액세스 키를 구성에 하드 코딩하지 않고도 리소스 액세스 권한을 부여할 수 있습니다.

액세스 키 및 계정 보호에 대한 자세한 내용은의 AWS 액세스 키 관리 모범 사례를 참조하세요AWS 일반 참조. 프로그래밍 방식 액세스를 사용하는 AWS 계정 동안를 보호하기 위한 블로그 게시물 지침도 참조하세요.

이미 액세스 키가 있는 경우, Security Hub는 사용자가 90일마다 액세스 키를 교체하는 것을 권장합니다. 액세스 키를 교체하면 손상되거나 종료된 계정에 연결된 액세스 키가 사용될 가능성이 줄어듭니다. 또한 분실, 해킹 또는 도용된 기존 키로 데이터에 액세스할 수 없도록 합니다. 액세스 키를 교체한 후에는 항상 애플리케이션을 업데이트하세요.

액세스 키는 액세스 키 ID와 보안 액세스 키로 구성되어 있습니다. 이 키들은 AWS에 보내는 프로그래밍 방식의 요청에 서명하는 데 사용됩니다. 사용자는 개별 API 작업을 사용하여 AWS CLI, Tools for Windows PowerShell, AWS SDKs또는 직접 호출 AWS 에서에 프로그래밍 방식으로 HTTP 호출하려면 자체 액세스 키가 필요합니다 AWS 서비스.

조직에서 AWS IAM Identity Center (IAM Identity Center)를 사용하는 경우 사용자는 Active Directory, 기본 제공 IAM Identity Center 디렉터리 또는 IAM Identity Center에 연결된 다른 자격 증명 공급자(IdP)에 로그인할 수 있습니다. 그런 다음 액세스 키 없이 AWS CLI 명령을 실행하거나 작업을 호출 AWS API할 수 있는 IAM 역할에 매핑할 수 있습니다. 자세한 내용은 AWS Command Line Interface 사용 설명서AWS CLI 를 사용하도록 구성을 AWS IAM Identity Center 참조하세요.

참고

AWS Config 는 Security Hub를 사용하는 모든 리전에서 활성화되어야 합니다. 하지만 단일 리전에서는 글로벌 리소스 기록을 활성화할 수 있습니다. 단일 리전에서만 글로벌 리소스를 기록하는 경우, 글로벌 리소스를 기록하는 리전을 제외한 모든 리전에서 이 제어를 비활성화할 수 있습니다.

문제 해결

90일이 지난 액세스 키를 교체하려면 IAM 사용 설명서액세스 키 교체를 참조하세요. 액세스 키 사용 기간이 90일 이상인 모든 사용자의 지침을 따르세요.

[IAM.4] IAM 루트 사용자 액세스 키가 없어야 합니다.

관련 요구 사항: CIS AWS Foundations Benchmark v3.0.0/1.4, CIS AWS Foundations Benchmark v1.4.0/1.4, CIS AWS Foundations Benchmark v1.2.0/1.12, PCI DSS v3.2.1/2.1, PCI DSS v3.2.1/2.2, PCI DSS v3.2.1/7.2.1, NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-3(15), NIST.800-53.r5 AC-3(7), NIST.800-53.r5 AC-6 NIST.800-53.r5 AC-6(10), NIST.800-53.r5 AC-6(2)

범주: 보호 > 보안 액세스 관리

심각도: 심각

리소스 유형: AWS::::Account

AWS Config 규칙: iam-root-access-key-check

스케줄 유형: 주기적

파라미터: 없음

이 제어는 루트 사용자 액세스 키가 존재하는지 확인합니다.

루트 사용자는에서 가장 권한이 있는 사용자입니다 AWS 계정. AWS 액세스 키는 지정된 계정에 프로그래밍 방식으로 액세스할 수 있는 권한을 제공합니다.

Security Hub에서는 루트 사용자와 연결된 모든 액세스 키를 제거할 것을 권장합니다. 이렇게 하면 계정을 손상시킬 수 있는 벡터가 제한됩니다. 권한이 가장 적은 역할 기반 계정을 만들고 사용할 수도 있습니다.

문제 해결

루트 사용자 액세스 키를 삭제하려면 IAM 사용 설명서의 루트 사용자에 대한 액세스 키 삭제를 참조하세요. 의 AWS 계정 에서 루트 사용자 액세스 키를 삭제하려면 AWS GovCloud (US) 사용 설명서내 AWS GovCloud (US) 계정 루트 사용자 액세스 키 삭제를 AWS GovCloud (US)참조하세요.

콘솔 암호가 있는 모든 IAM 사용자에 대해 [IAM.5]를 활성화해야 MFA 합니다.

관련 요구 사항: CIS AWS Foundations Benchmark v3.0.0/1.10, CIS AWS Foundations Benchmark v1.4.0/1.10, CIS AWS Foundations Benchmark v1.2.0/1.2, NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-3(15), NIST.800-53.r5 IA-2(1), NIST.800-53.r5 IA-2(2), NIST.800-53.r5 IA-2(6), NIST.800-53.r5 IA-2(8), PCI DSS v4.0.1/8.4.2

범주: 보호 > 보안 액세스 관리

심각도: 중간

리소스 유형: AWS::IAM::User

AWS Config 규칙: mfa-enabled-for-iam-console-access

스케줄 유형: 주기적

파라미터: 없음

이 제어는 콘솔 암호를 사용하는 모든 IAM 사용자에 대해 AWS 다중 인증(MFA)이 활성화되어 있는지 확인합니다.

다중 인증(MFA)은 사용자 이름 및 암호 외에도 추가 보호 계층을 추가합니다. MFA 활성화하면 사용자가 AWS 웹 사이트에 로그인하면 사용자 이름과 암호를 입력하라는 메시지가 표시됩니다. 또한 디바이스에서 인증 코드를 입력하라는 AWS MFA 메시지가 표시됩니다.

콘솔 암호가 있는 모든 계정에 MFA 대해를 활성화하는 것이 좋습니다. MFA는 콘솔 액세스에 대한 보안을 강화하도록 설계되었습니다. 인증 보안 주체는 시간에 민감한 키를 내보내는 디바이스를 가지고 있어야 하며 보안 인증에 대한 지식이 있어야 합니다.

참고

AWS Config 는 Security Hub를 사용하는 모든 리전에서 활성화되어야 합니다. 하지만 단일 리전에서는 글로벌 리소스 기록을 활성화할 수 있습니다. 단일 리전에서만 글로벌 리소스를 기록하는 경우, 글로벌 리소스를 기록하는 리전을 제외한 모든 리전에서 이 제어를 비활성화할 수 있습니다.

문제 해결

IAM 사용자를 MFA 위해를 추가하려면 IAM 사용 설명서에서 다중 인증(MFA) 사용을 AWS 참조하세요.

적격 고객에게 무료 MFA 보안 키를 제공합니다. 자격이 되는지 확인하고 무료 키를 주문하세요.

[IAM.6] 루트 사용자에 대해 하드웨어를 활성화해야 MFA 합니다.

관련 요구 사항: CIS AWS Foundations Benchmark v3.0.0/1.6, CIS AWS Foundations Benchmark v1.4.0/1.6, CIS AWS Foundations Benchmark v1.2.0/1.14, PCI DSS v3.2.1/8.3.1, NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-3(15), NIST.800-53.r5 IA-2(1), NIST.800-53.r5 IA-2(2), NIST.800-53.r5 IA-2(6), NIST.800-53.r5 IA-2(8), PCI DSS v4.0.1/8.4.2

범주: 보호 > 보안 액세스 관리

심각도: 심각

리소스 유형: AWS::::Account

AWS Config 규칙: root-account-hardware-mfa-enabled

스케줄 유형: 주기적

파라미터: 없음

이 제어 AWS 계정 는가 하드웨어 다중 인증(MFA) 디바이스를 사용하여 루트 사용자 자격 증명으로 로그인하도록 활성화되어 있는지 확인합니다. MFA가 활성화되지 않았거나 가상 MFA 디바이스가 루트 사용자 자격 증명으로 로그인할 수 있는 경우 제어가 실패합니다.

Virtual은 하드웨어 MFA 디바이스와 동일한 수준의 보안을 제공하지 않을 MFA 수 있습니다. 하드웨어 구매 승인을 기다리거나 하드웨어가 도착할 때까지 가상 MFA 디바이스만 사용하는 것이 좋습니다. 자세한 내용은 IAM 사용 설명서 가상 다중 인증(MFA) 디바이스(콘솔) 활성화를 참조하세요.

시간 기반 일회용 암호(TOTP)와 범용 2nd Factor(U2F) 토큰은 모두 하드웨어 MFA 옵션으로 사용할 수 있습니다.

문제 해결

루트 사용자에 대한 하드웨어 MFA 디바이스를 추가하려면 IAM 사용 설명서AWS 계정 루트 사용자(콘솔)에 대한 하드웨어 MFA 디바이스 활성화를 참조하세요.

적격 고객에게 무료 MFA 보안 키를 제공합니다. 자격이 되는지 확인하고 무료 키를 주문하세요.

[IAM.7] IAM 사용자의 암호 정책에는 강력한 구성이 있어야 합니다.

관련 요구 사항: NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-2(3), NIST.800-53.r5 AC-3(15), NIST.800-53.r5 IA-5(1), PCI DSS v4.0.1/8.3.6, PCI DSS v4.0.1/8.3.7

범주: 보호 > 보안 액세스 관리

심각도: 중간

리소스 유형: AWS::::Account

AWS Config 규칙: iam-password-policy

스케줄 유형: 주기적

파라미터:

파라미터 설명 형식 허용된 사용자 지정 값 Security Hub 기본값

RequireUppercaseCharacters

암호에 대문자가 한 개 이상 있어야 합니다.

true 또는 false

true

RequireLowercaseCharacters

암호에 소문자가 한 개 이상 있어야 합니다.

true 또는 false

true

RequireSymbols

암호에 기호가 한 개 이상 있어야 합니다.

true 또는 false

true

RequireNumbers

암호에 숫자가 한 개 이상 있어야 합니다.

true 또는 false

true

MinimumPasswordLength

암호의 최소 특수 문자 수

Integer

8~128

8

PasswordReusePrevention

이전 암호를 다시 사용할 수 있을 때까지의 암호 순환 횟수

Integer

12~24

기본값 없음

MaxPasswordAge

암호 만료까지 남은 일수

Integer

1~90

기본값 없음

이 제어는 IAM 사용자에 대한 계정 암호 정책이 강력한 구성을 사용하는지 확인합니다. 암호 정책에서 강력한 구성을 사용하지 않으면 제어가 실패합니다. 사용자 지정 파라미터 값을 제공하지 않는 한 Security Hub는 위 표에 나와 있는 기본값을 사용합니다. PasswordReusePreventionMaxPasswordAge 파라미터에는 기본값이 없으므로 이러한 파라미터를 제외하면 Security Hub는 이 제어를 평가할 때 암호 순환 횟수와 암호 사용 기간을 무시합니다.

에 액세스하려면 AWS Management Console IAM 사용자에게 암호가 필요합니다. Security Hub는 IAM 사용자를 생성하는 대신 페더레이션을 사용할 것을 적극 권장합니다. 페더레이션을 통해 사용자는 기존 기업 보안 인증을 사용하여 AWS Management Console에 로그인할 수 있습니다. AWS IAM Identity Center (IAM Identity Center)를 사용하여 사용자를 생성하거나 페더레이션한 다음 계정에 IAM 역할을 맡습니다.

자격 증명 공급자 및 연동에 대한 자세한 내용은 IAM 사용 설명서자격 증명 공급자 및 연동을 참조하세요. IAM Identity Center에 대한 자세한 내용은 AWS IAM Identity Center 사용 설명서를 참조하세요.

IAM 사용자를 사용해야 하는 경우 Security Hub는 강력한 사용자 암호 생성을 적용할 것을 권장합니다. 에서 암호 정책을 설정 AWS 계정 하여 암호의 복잡성 요구 사항 및 필수 교체 기간을 지정할 수 있습니다. 비밀번호 정책을 생성 또는 변경하더라도 대부분의 비밀번호 정책 설정은 사용자가 다음에 자신의 비밀번호를 변경할 때 적용됩니다. 일부 설정은 바로 적용됩니다.

문제 해결

암호 정책을 업데이트하려면 IAM 사용 설명서 IAM 사용자에 대한 계정 암호 정책 설정을 참조하세요.

[IAM.8] 사용하지 않는 IAM 사용자 자격 증명을 제거해야 합니다.

관련 요구 사항: PCI DSS v3.2.1/8.1.4, PCI DSS v4.0.1/8.2.6, CIS AWS Foundations Benchmark v1.2.0/1.3, NIST.800-53.r5 AC-2, NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-2(3), NIST.800-53.r5 AC-3, NIST.800-53.r5 AC-3(15), NIST.800-53.r5 AC-3(7), NIST.800-53.r5 AC-6

범주: 보호 > 보안 액세스 관리

심각도: 중간

리소스 유형: AWS::IAM::User

AWS Config 규칙: iam-user-unused-credentials-check

스케줄 유형: 주기적

파라미터:

  • maxCredentialUsageAge: 90(사용자 지정할 수 없음)

이 제어는 IAM 사용자에게 90일 동안 사용되지 않은 암호 또는 활성 액세스 키가 있는지 확인합니다.

IAM 사용자는 암호 또는 액세스 키와 같은 다양한 유형의 자격 증명을 사용하여 AWS 리소스에 액세스할 수 있습니다.

Security Hub에서는 90일 이상 사용되지 않은 모든 보안 인증을 제거하거나 비활성화할 것을 권장합니다. 불필요한 보안 인증을 비활성화하거나 제거하면 침해되거나 버려진 계정과 연결된 보안 인증이 사용될 가능성이 줄어듭니다.

참고

AWS Config 는 Security Hub를 사용하는 모든 리전에서 활성화되어야 합니다. 하지만 단일 리전에서는 글로벌 리소스 기록을 활성화할 수 있습니다. 단일 리전에서만 글로벌 리소스를 기록하는 경우, 글로벌 리소스를 기록하는 리전을 제외한 모든 리전에서 이 제어를 비활성화할 수 있습니다.

문제 해결

IAM 콘솔에서 사용자 정보를 볼 때 액세스 키 수명, 암호 수명마지막 활동에 대한 열이 있습니다. 이 열 중 어느 하나라도 값이 90일보다 큰 경우, 해당 사용자의 보안 인증을 비활성화하세요.

또한 보안 인증 보고서를 사용해 사용자를 모니터링하고 90일 이상 활동이 없는 사용자를 식별할 수 있습니다. IAM 콘솔에서 .csv 형식의 자격 증명 보고서를 다운로드할 수 있습니다.

비활성 계정이나 사용하지 않는 보안 인증 정보를 식별한 후에는 비활성화하세요. 지침은 사용 IAM 설명서 IAM 사용자 암호 생성, 변경 또는 삭제(콘솔)를 참조하세요.

루트 사용자에 대해 [IAM.9]를 활성화해야 MFA 합니다.

관련 요구 사항: PCI DSS v3.2.1/8.3.1, PCI DSS v4.0.1/8.4.2, CIS AWS Foundations Benchmark v3.0.0/1.5, CIS AWS Foundations Benchmark v1.4.0/1.5, CIS AWS Foundations Benchmark v1.2.0/1.13, NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-3(15), NIST.800-53.r5 IA-2(1), NIST.800-53.r5 IA-2(2), NIST.800-53.r5 IA-2(6), NIST.800-53.r5 IA-2(8)

범주: 보호 > 보안 액세스 관리

심각도: 심각

리소스 유형: AWS::::Account

AWS Config 규칙: root-account-mfa-enabled

스케줄 유형: 주기적

파라미터: 없음

루트 사용자는의 모든 서비스 및 리소스에 대한 전체 액세스 권한을 갖습니다 AWS 계정.는 사용자 이름과 암호 외에도 추가 보호 계층을 MFA 추가합니다. 를 MFA 활성화하면 사용자가에 로그인하면 사용자 이름과 암호, 디바이스의 AWS MFA 인증 코드를 묻는 메시지가 AWS Management Console표시됩니다.

루트 사용자MFA에 대해 가상를 사용하는 경우는 사용된 디바이스가 개인 디바이스가 아닌 것을 CIS 권장합니다. 대신에 모든 개인용 개별 디바이스에서 독립적으로 충전 및 보안 상태를 유지하도록 관리할 수 있는 전용 모바일 디바이스(태블릿 또는 전화)를 사용하세요. 이렇게 하면 디바이스 손실, 디바이스 보상 판매 또는 디바이스를 소유한 개인이 더 이상 회사에 고용되지 않아 MFA에 대한 액세스 권한을 잃을 위험이 줄어듭니다.

문제 해결

루트 사용자에 MFA 대해를 활성화하려면 AWS 계정 관리 참조 가이드의 AWS 계정 루트 사용자MFA에서 활성화를 참조하세요.

[IAM.10] IAM 사용자에 대한 암호 정책에는 강력한 AWS Config요구 사항이 있어야 합니다.

관련 요구 사항: PCI DSS v3.2.1/8.1.4, PCI DSS v3.2.1/8.2.3, PCI DSS v3.2.1/8.2.4, PCI DSS v3.2.1/8.2.5, PCI DSS v4.0.1/8.3.6

범주: 보호 > 보안 액세스 관리

심각도: 중간

리소스 유형: AWS::::Account

AWS Config 규칙: iam-password-policy

스케줄 유형: 주기적

파라미터: 없음

이 제어는 IAM 사용자에 대한 계정 암호 정책이 다음과 같은 최소 PCI DSS 구성을 사용하는지 확인합니다.

  • RequireUppercaseCharacters – 암호에 대문자가 한 개 이상이어야 합니다. (기본값은 true)

  • RequireLowercaseCharacters – 암호에 소문자가 한 개 이상이어야 합니다. (기본값은 true)

  • RequireNumbers – 암호에 숫자가 한 개 이상이어야 합니다. (기본값은 true)

  • MinimumPasswordLength – 암호 최소 길이입니다. (기본값은 7 이상)

  • PasswordReusePrevention – 재사용을 허가받기까지 사용할 수 있는 암호 개수입니다. (기본값은 4)

  • MaxPasswordAge - 암호 만료 전 일수입니다. (기본값은 90)

문제 해결

권장 구성을 사용하도록 암호 정책을 업데이트하려면 IAM 사용 설명서 IAM 사용자에 대한 계정 암호 정책 설정을 참조하세요.

[IAM.11] IAM 암호 정책에 대문자가 하나 이상 필요한지 확인

관련 요구 사항: CIS AWS Foundations Benchmark v1.2.0/1.5, PCI DSS v4.0.1/8.3.6

범주: 보호 > 보안 액세스 관리

심각도: 중간

리소스 유형: AWS::::Account

AWS Config 규칙: iam-password-policy

스케줄 유형: 주기적

파라미터: 없음

암호 정책은 부분적으로 암호 복잡성 요건을 강제합니다. IAM 암호 정책을 사용해 암호에 다양한 문자 집합이 사용되도록 합니다.

CIS 에서는 암호 정책에 대문자를 하나 이상 요구할 것을 권장합니다. 비밀번호 복잡성 정책을 설정하면 무차별 로그인 시도에 대한 계정 복원력이 향상됩니다.

문제 해결

암호 정책을 변경하려면 IAM 사용 설명서 IAM 사용자에 대한 계정 암호 정책 설정을 참조하세요. 비밀번호 강도에서 라틴 알파벳(A~Z) 중 하나 이상의 대문자 요구를 선택합니다.

[IAM.12] IAM 암호 정책에 소문자가 하나 이상 필요한지 확인

관련 요구 사항: CIS AWS Foundations Benchmark v1.2.0/1.6, PCI DSS v4.0.1/8.3.6

범주: 보호 > 보안 액세스 관리

심각도: 중간

리소스 유형: AWS::::Account

AWS Config 규칙: iam-password-policy

스케줄 유형: 주기적

파라미터: 없음

암호 정책은 부분적으로 암호 복잡성 요건을 강제합니다. IAM 암호 정책을 사용하여 암호가 서로 다른 문자 세트를 사용하도록 합니다.는 암호 정책에 소문자를 하나 이상 요구할 것을 CIS 권장합니다. 비밀번호 복잡성 정책을 설정하면 무차별 로그인 시도에 대한 계정 복원력이 향상됩니다.

문제 해결

암호 정책을 변경하려면 IAM 사용 설명서 IAM 사용자에 대한 계정 암호 정책 설정을 참조하세요. 비밀번호 강도에서 라틴 알파벳(A~Z) 중 하나 이상의 소문자 요구를 선택합니다.

[IAM.13] IAM 암호 정책에 하나 이상의 기호가 필요한지 확인

관련 요구 사항: CIS AWS Foundations Benchmark v1.2.0/1.7, PCI DSS v4.0.1/8.3.6

범주: 보호 > 보안 액세스 관리

심각도: 중간

리소스 유형: AWS::::Account

AWS Config 규칙: iam-password-policy

스케줄 유형: 주기적

파라미터: 없음

암호 정책은 부분적으로 암호 복잡성 요건을 강제합니다. IAM 암호 정책을 사용해 암호에 다양한 문자 집합이 사용되도록 합니다.

CIS 에서는 암호 정책에 하나 이상의 기호가 필요할 것을 권장합니다. 비밀번호 복잡성 정책을 설정하면 무차별 로그인 시도에 대한 계정 복원력이 향상됩니다.

문제 해결

암호 정책을 변경하려면 IAM 사용 설명서 IAM 사용자에 대한 계정 암호 정책 설정을 참조하세요. 비밀번호 강도에서 하나 이상의 영숫자가 아닌 문자 요구를 선택합니다.

[IAM.14] IAM 암호 정책에 하나 이상의 숫자가 필요한지 확인

관련 요구 사항: CIS AWS Foundations Benchmark v1.2.0/1.8, PCI DSS v4.0.1/8.3.6

범주: 보호 > 보안 액세스 관리

심각도: 중간

리소스 유형: AWS::::Account

AWS Config 규칙: iam-password-policy

스케줄 유형: 주기적

파라미터: 없음

암호 정책은 부분적으로 암호 복잡성 요건을 강제합니다. IAM 암호 정책을 사용해 암호에 다양한 문자 집합이 사용되도록 합니다.

CIS 에서는 암호 정책에 하나 이상의 숫자가 필요할 것을 권장합니다. 비밀번호 복잡성 정책을 설정하면 무차별 로그인 시도에 대한 계정 복원력이 향상됩니다.

문제 해결

암호 정책을 변경하려면 IAM 사용 설명서 IAM 사용자에 대한 계정 암호 정책 설정을 참조하세요. 비밀번호 강도에서 하나 이상의 숫자 요구를 선택합니다.

[IAM.15] IAM 암호 정책에 최소 암호 길이가 14 이상이어야 합니다.

관련 요구 사항: CIS AWS Foundations Benchmark v3.0.0/1.8, CIS AWS Foundations Benchmark v1.4.0/1.8, CIS AWS Foundations Benchmark v1.2.0/1.9

범주: 보호 > 보안 액세스 관리

심각도: 중간

리소스 유형: AWS::::Account

AWS Config 규칙: iam-password-policy

스케줄 유형: 주기적

파라미터: 없음

암호 정책은 부분적으로 암호 복잡성 요건을 강제합니다. IAM 암호 정책을 사용해 암호가 최소한 특정 길이가 되도록 합니다.

CIS 에서는 암호 정책에 최소 14자의 암호 길이를 요구할 것을 권장합니다. 비밀번호 복잡성 정책을 설정하면 무차별 로그인 시도에 대한 계정 복원력이 향상됩니다.

문제 해결

암호 정책을 변경하려면 IAM 사용 설명서 IAM 사용자에 대한 계정 암호 정책 설정을 참조하세요. 비밀번호의 최소 길이14 또는 더 큰 숫자를 입력합니다.

[IAM.16] IAM 암호 정책이 암호 재사용을 방지하는지 확인

관련 요구 사항: CIS AWS Foundations Benchmark v3.0.0/1.9, CIS AWS Foundations Benchmark v1.4.0/1.9, CIS AWS Foundations Benchmark v1.2.0/1.10, PCI DSS v4.0.1/8.3.7

범주: 보호 > 보안 액세스 관리

심각도: 낮음

리소스 유형: AWS::::Account

AWS Config 규칙: iam-password-policy

스케줄 유형: 주기적

파라미터: 없음

이 제어는 기억할 암호 수가 24개로 설정되어 있는지 확인합니다. 값이 24가 아니면 제어가 실패합니다.

IAM 암호 정책에서 동일 사용자가 특정 암호를 재사용하지 못하게 할 수 있습니다.

CIS 에서는 암호 정책이 암호 재사용을 방지하도록 권장합니다. 암호 재사용을 방지하면 무차별 로그인 시도에 대한 계정 복원력이 향상됩니다.

문제 해결

암호 정책을 변경하려면 IAM 사용 설명서 IAM 사용자에 대한 계정 암호 정책 설정을 참조하세요. 비밀번호 재사용 방지24를 입력합니다.

[IAM.17] IAM 암호 정책이 90일 이내에 암호를 만료하는지 확인

관련 요구 사항: CIS AWS Foundations Benchmark v1.2.0/1.11, PCI DSS v4.0.1/8.3.9

범주: 보호 > 보안 액세스 관리

심각도: 낮음

리소스 유형: AWS::::Account

AWS Config 규칙: iam-password-policy

스케줄 유형: 주기적

파라미터: 없음

IAM 암호 정책에서 암호가 특정 일수 후에 교체 또는 만료되게 할 수 있습니다.

CIS 에서는 암호 정책이 90일 이내에 암호를 만료하도록 권장합니다. 비밀번호 수명을 줄이면 무차별 로그인 시도에 대한 계정 복원력이 향상됩니다. 또한 정기적으로 비밀번호를 변경하도록 하면 다음과 같은 시나리오에 도움이 됩니다.

  • 비밀번호는 지식이 없어도 도용하거나 침해할 수 있습니다. 이러한 일은 시스템 침해, 소프트웨어 취약점 또는 인터넷 위협을 통해 발생합니다.

  • 암호화된 트래픽이라도 특정 기업 및 정부 웹 필터 또는 프록시 서버가 가로채 기록할 수 있습니다.

  • 많은 사람들은 업무, 이메일, 개인 용도로 여러 시스템에 동일한 비밀번호를 사용합니다.

  • 침해된 최종 사용자 워크스테이션에는 키 입력 로거가 있을 수 있습니다.

문제 해결

암호 정책을 변경하려면 IAM 사용 설명서 IAM 사용자에 대한 계정 암호 정책 설정을 참조하세요. 비밀번호 만료 활성화90 또는 더 작은 숫자를 입력하세요.

[IAM.18]를 사용하여 인시던트를 관리하기 위한 지원 역할이 생성되었는지 확인합니다. AWS Support

관련 요구 사항: CIS AWS Foundations Benchmark v3.0.0/1.17, CIS AWS Foundations Benchmark v1.4.0/1.17, CIS AWS Foundations Benchmark v1.2.0/1.20, PCI DSS v4.0.1/12.10.3

범주: 보호 > 보안 액세스 관리

심각도: 낮음

리소스 유형: AWS::::Account

AWS Config 규칙: iam-policy-in-use

스케줄 유형: 주기적

파라미터:

  • policyARN: arn:partition:iam::aws:policy/AWSSupportAccess(사용자 지정할 수 없음)

  • policyUsageType: ANY(사용자 지정할 수 없음)

AWS 는 인시던트 알림 및 대응과 기술 지원 및 고객 서비스에 사용할 수 있는 지원 센터를 제공합니다.

권한 있는 사용자가 AWS Support를 사용하여 인시던트를 관리할 수 있도록 허용하는 IAM 역할을 생성합니다. 액세스 제어에 대한 최소 권한을 구현함으로써 IAM 역할은 인시던트를 관리하기 위해 지원 센터 액세스를 허용하는 적절한 IAM 정책이 필요합니다 AWS Support.

참고

AWS Config 는 Security Hub를 사용하는 모든 리전에서 활성화되어야 합니다. 하지만 단일 리전에서는 글로벌 리소스 기록을 활성화할 수 있습니다. 단일 리전에서만 글로벌 리소스를 기록하는 경우, 글로벌 리소스를 기록하는 리전을 제외한 모든 리전에서 이 제어를 비활성화할 수 있습니다.

문제 해결

이 문제를 해결하려면 권한이 있는 사용자가 AWS Support 인시던트를 관리할 수 있도록 허용하는 역할을 생성합니다.

AWS Support 액세스에 사용할 역할을 생성하려면
  1. IAM에서 https://console.aws.amazon.com/iam/ 콘솔을 엽니다.

  2. IAM 탐색 창에서 역할을 선택한 후 역할 생성을 선택합니다.

  3. 역할 유형에서 다른 AWS 계정을 선택합니다.

  4. 계정 ID에 리소스 AWS 계정 에 대한 액세스 권한을 부여하려는의 AWS 계정 ID를 입력합니다.

    이 역할을 수임할 사용자 또는 그룹이 동일한 계정에 있는 경우, 로컬 계정 번호를 입력합니다.

    참고

    지정된 계정의 관리자는 해당 계정의 모든 사용자에게 이 역할을 맡을 수 있는 권한을 부여할 수 있습니다. 이를 위해 관리자는 sts:AssumeRole 작업에 대한 권한을 부여하는 정책을 사용자나 그룹에 연결합니다. 해당 정책에서 리소스는 역할이어야 합니다ARN.

  5. 다음: 권한을 선택합니다.

  6. 관리형 정책 AWSSupportAccess를 검색합니다.

  7. AWSSupportAccess 관리형 정책의 확인란을 선택합니다.

  8. 다음: 태그를 선택합니다.

  9. (선택 사항) 역할에 메타데이터를 추가하려면 태그를 키-값 쌍으로 연결합니다.

    에서 태그를 사용하는 방법에 대한 자세한 내용은 IAM 사용 설명서 IAM 사용자 및 역할 태그 지정을 IAM참조하세요.

  10. 다음: 검토를 선택합니다.

  11. 역할 이름에 역할의 이름을 입력합니다.

    역할 이름은 내에서 고유해야 합니다 AWS 계정. 이메일은 대소문자를 구분하지 않습니다.

  12. (선택 사항)역할 설명에 새로운 역할에 대한 설명을 입력합니다.

  13. 역할을 검토한 후 역할 생성을 선택합니다.

모든 IAM 사용자에 대해 [IAM.19]를 활성화해야 MFA 합니다.

관련 요구 사항: PCI DSS v3.2.1/8.3.1, PCI DSS v4.0.1/8.4.2, NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-3(15), NIST.800-53.r5 IA-2(1), NIST.800-53.r5 IA-2(2), NIST.800-53.r5 IA-2(6), NIST.800-53.r5 IA-2(8)

범주: 보호 > 보안 액세스 관리

심각도: 중간

리소스 유형: AWS::IAM::User

AWS Config 규칙: iam-user-mfa-enabled

스케줄 유형: 주기적

파라미터: 없음

이 제어는 IAM 사용자에게 다중 인증(MFA)이 활성화되어 있는지 확인합니다.

참고

AWS Config 는 Security Hub를 사용하는 모든 리전에서 활성화되어야 합니다. 하지만 단일 리전에서는 글로벌 리소스 기록을 활성화할 수 있습니다. 단일 리전에서만 글로벌 리소스를 기록하는 경우, 글로벌 리소스를 기록하는 리전을 제외한 모든 리전에서 이 제어를 비활성화할 수 있습니다.

문제 해결

IAM 사용자를 MFA 위해를 추가하려면 IAM 사용 설명서에서 사용자용 MFA 디바이스 활성화 AWS를 참조하세요.

[IAM.20] 루트 사용자 사용을 피합니다.

중요

Security Hub는 2024년 4월에 이 제어 사용을 중지했습니다. 자세한 내용은 Security Hub 제어 기능의 변경 로그 단원을 참조하십시오.

관련 요구 사항: CIS AWS Foundations Benchmark v1.2.0/1.1

범주: 보호 > 보안 액세스 관리

심각도: 낮음

리소스 유형: AWS::IAM::User

AWS Config 규칙: use-of-root-account-test (사용자 지정 Security Hub 규칙)

스케줄 유형: 주기적

파라미터: 없음

이 제어 AWS 계정 는에 루트 사용자의 사용에 대한 제한이 있는지 확인합니다. 이 제어는 다음 리소스를 평가합니다.

  • Amazon Simple Notification Service(AmazonSNS) 주제

  • AWS CloudTrail 추적

  • CloudTrail 추적과 연결된 지표 필터

  • 필터를 기반으로 하는 Amazon CloudWatch 경보

다음 문 중 하나 이상이 참인 경우, 이 검사는 FAILED 조사 결과가 됩니다.

  • 계정에 CloudTrail 추적이 없습니다.

  • CloudTrail 추적이 활성화되었지만 읽기 및 쓰기 관리 이벤트를 포함하는 다중 리전 추적이 하나 이상 구성되지 않았습니다.

  • CloudTrail 추적은 활성화되어 있지만 CloudWatch 로그 로그 그룹과는 연결되지 않습니다.

  • Center for Internet Security(CIS)에서 규정한 정확한 지표 필터는 사용되지 않습니다. 규정된 지표 필터는 '{$.userIdentity.type="Root" && $.userIdentity.invokedBy NOT EXISTS && $.eventType !="AwsServiceEvent"}'입니다.

  • 계정에 지표 필터를 기반으로 하는 CloudWatch 경보가 없습니다.

  • CloudWatch 연결된 SNS 주제에 알림을 보내도록 구성된 경보는 경보 조건에 따라 트리거되지 않습니다.

  • SNS 주제가 SNS 주제에 메시지를 보내기 위한 제약 조건을 준수하지 않습니다.

  • SNS 주제에 구독자가 하나 이상 없습니다.

다음 문 중 하나 이상이 참인 경우, 이 검사를 통해 제어 상태는 NO_DATA이 됩니다.

  • 다중 리전 추적은 다른 리전을 기반으로 합니다. Security Hub는 추적의 기반이 되는 리전에서만 조사 결과를 생성할 수 있습니다.

  • 다중 리전 추적은 다른 계정에 속합니다. Security Hub는 추적을 소유한 계정에 대한 조사 결과만 생성할 수 있습니다.

다음 문 중 하나 이상이 참인 경우, 이 검사를 통해 제어 상태는 WARNING이 됩니다.

  • 현재 계정은 CloudWatch 경보에서 참조된 SNS 주제를 소유하지 않습니다.

  • 현재 계정은 ListSubscriptionsByTopic SNS를 호출할 때 SNS 주제에 액세스할 수 없습니다API.

참고

조직 추적을 사용하여 조직 내 여러 계정의 이벤트를 기록하는 것이 좋습니다. 조직 추적은 기본적으로 다중 리전 추적이며 AWS Organizations 관리 계정 또는 CloudTrail 위임된 관리자 계정에서만 관리할 수 있습니다. 조직 추적을 사용하면 조직 멤버 계정에서 평가된 제어에 대한 제어 상태가 NO_DATA가 됩니다. 구성원 계정에서 Security Hub는 구성원 소유 리소스에 대한 조사 결과만 생성합니다. 조직 추적과 관련된 조사 결과는 리소스 소유자 계정에서 생성됩니다. 교차 리전 집계 활성화를 통해 Security Hub 위임 관리자 계정에서 이러한 조사 결과를 확인할 수 있습니다.

계정 및 서비스 관리 작업 수행에 필요한 경우에만 루트 사용자 보안 인증 정보를 사용하는 것이 가장 좋습니다. IAM 정책을 그룹 및 역할에 직접 적용하되 사용자에게는 적용하지 않습니다. 일상적인 사용을 위해 관리자를 설정하는 방법에 대한 지침은 IAM 사용 설명서 첫 번째 IAM 관리자 사용자 및 그룹 생성을 참조하세요.

문제 해결

이 문제를 해결하는 단계에는 Amazon SNS 주제, CloudTrail 추적, 지표 필터 및 지표 필터에 대한 경보 설정이 포함됩니다.

Amazon SNS 주제를 생성하려면
  1. https://console.aws.amazon.com/sns/v3/home에서 Amazon SNS 콘솔을 엽니다.

  2. 모든 CIS 경보를 수신하는 Amazon SNS 주제를 생성합니다.

    이 주제에 대해 하나 이상의 구독자를 생성합니다. 자세한 내용은 Amazon Simple Notification Service 개발자 안내서SNS의 Amazon 시작하기를 참조하세요.

그런 다음 모든 리전에 CloudTrail 적용되는 활성화를 설정합니다. 이렇게 하려면 [CloudTrail.1]읽기 및 쓰기 관리 이벤트를 포함하는 다중 리전 추적을 하나 이상 활성화하고 구성해야 CloudTrail 합니다.의 문제 해결 절차를 따르세요.

CloudTrail 추적과 연결하는 CloudWatch 로그 로그 그룹의 이름을 기록해 둡니다. 로그 그룹에 대한 지표 필터를 생성합니다.

마지막으로 지표 필터와 경보를 생성합니다.

지표 필터 및 경보를 생성하려면
  1. 에서 CloudWatch 콘솔을 엽니다https://console.aws.amazon.com/cloudwatch/.

  2. 탐색 창에서 로그 그룹을 선택합니다.

  3. 생성한 CloudTrail 추적과 연결된 CloudWatch 로그 로그 그룹의 확인란을 선택합니다.

  4. 작업에서 지표 필터 생성을 선택합니다.

  5. 패턴 정의에 대해 다음을 수행합니다.

    1. 다음 패턴을 복사하여 필터 패턴 필드에 붙여 넣습니다.

      {$.userIdentity.type="Root" && $.userIdentity.invokedBy NOT EXISTS && $.eventType !="AwsServiceEvent"}
    2. 다음을 선택합니다.

  6. 지표 할당에서 다음 작업을 수행합니다.

    1. 필터 이름에 지표 필터의 이름을 입력합니다.

    2. 지표 네임스페이스LogMetrics를 입력합니다.

      모든 CIS 로그 지표 필터에 동일한 네임스페이스를 사용하는 경우 모든 CIS 벤치마크 지표가 함께 그룹화됩니다.

    3. 지표 이름에 지표의 이름을 입력합니다. 지표의 이름을 기억하세요. 경보를 만들 때 지표를 선택해야 합니다.

    4. 지표 값1를 입력합니다.

    5. 다음을 선택합니다.

  7. 검토 및 생성에서 새로운 지표 필터에 대해 제공한 정보를 확인합니다. 그런 다음 지표 필터 생성을 선택합니다.

  8. 탐색 창에서 로그 그룹을 선택한 다음 지표 필터에서 생성한 필터를 선택합니다.

  9. 필터 확인란을 선택합니다. 경보 생성을 선택하세요.

  10. 지표 및 조건 지정에서 다음을 수행합니다.

    1. 조건임계값에서 정적을 선택합니다.

    2. 경보 조건 정의에서 크거나/같음을 선택합니다.

    3. 임계값 정의에는 1을 입력합니다.

    4. 다음을 선택합니다.

  11. 작업 구성에서 다음 작업을 수행합니다.

    1. 경보 상태 트리거에서 경보를 선택합니다.

    2. SNS 주제 선택에서 기존 SNS 주제 선택을 선택합니다.

    3. 알림 전송 대상에 이전 절차에서 생성한 SNS 주제의 이름을 입력합니다.

    4. Next(다음)를 선택합니다.

  12. 이름 및 설명 추가에서 경보에 대한 이름설명을 입력합니다(예: CIS-1.1-RootAccountUsage). 그런 다음 다음을 선택합니다.

  13. 미리 보기 및 생성에서 경보 구성을 검토하세요. 그런 다음 경보 생성을 선택합니다.

[IAM.21] 생성하는 IAM 고객 관리형 정책은 서비스에 와일드카드 작업을 허용하지 않아야 합니다.

관련 요구 사항: NIST.800-53.r5 AC-2, NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-3, NIST.800-53.r5 AC-3(15), NIST.800-53.r5 AC-3(7), NIST.800-53.r5 AC-5, NIST.800-53.r5 AC-6, NIST.800-53.r5 AC-6(10), NIST.800-53.r5 AC-6(2), NIST.800-53.r5 AC-6(3)

범주: 감지 > 보안 액세스 관리

심각도: 낮음

리소스 유형: AWS::IAM::Policy

AWS Config 규칙: iam-policy-no-statements-with-full-access

스케줄 유형: 변경이 트리거됨

파라미터:

  • excludePermissionBoundaryPolicy: True(사용자 지정할 수 없음)

이 제어는 생성한 IAM 자격 증명 기반 정책에 * 와일드카드를 사용하여 모든 서비스의 모든 작업에 대한 권한을 부여하는 Allow 문이 있는지 확인합니다. 정책 문에 "Effect": "Allow""Action": "Service:*"가 포함된 경우, 제어가 실패합니다.

예를 들어, 정책의 다음 문으로 인해 조사 결과가 실패합니다.

"Statement": [ { "Sid": "EC2-Wildcard", "Effect": "Allow", "Action": "ec2:*", "Resource": "*" }

"Effect": "Allow""NotAction": "service:*"를 함께 사용하는 경우에도 제어가 실패합니다. 이 경우 NotAction 요소는에 지정된 작업을 AWS 서비스제외하고의 모든 작업에 대한 액세스를 제공합니다NotAction.

이 제어는 고객 관리형 IAM 정책에만 적용됩니다. 에서 관리하는 IAM 정책에는 적용되지 않습니다 AWS.

에 권한을 할당할 때는 IAM 정책에서 허용되는 IAM 작업의 범위를 지정하는 AWS 서비스것이 중요합니다. 필요한 IAM 작업으로만 작업을 제한해야 합니다. 이렇게 하면 최소 권한 권한을 프로비저닝할 수 있습니다. 정책이 권한이 필요하지 않은 IAM 보안 주체에 연결된 경우 지나치게 허용적인 정책이 권한 에스컬레이션으로 이어질 수 있습니다.

경우에 따라 DescribeFlowLogs 및와 같이 접두사가 유사한 IAM 작업을 허용할 수 있습니다DescribeAvailabilityZones. 이러한 승인된 경우에는 접미사가 붙은 와일드카드를 일반 접두사에 추가할 수 있습니다. 예: ec2:Describe*.

접미사 와일드카드와 함께 접두사 IAM 작업을 사용하는 경우이 제어가 전달됩니다. 예를 들어, 정책의 다음 문으로 인해 조사 결과가 통과합니다.

"Statement": [ { "Sid": "EC2-Wildcard", "Effect": "Allow", "Action": "ec2:Describe*", "Resource": "*" }

이러한 방식으로 관련 IAM 작업을 그룹화할 때 IAM 정책 크기 제한을 초과하지 않도록 할 수도 있습니다.

참고

AWS Config 는 Security Hub를 사용하는 모든 리전에서 활성화되어야 합니다. 하지만 단일 리전에서는 글로벌 리소스 기록을 활성화할 수 있습니다. 단일 리전에서만 글로벌 리소스를 기록하는 경우, 글로벌 리소스를 기록하는 리전을 제외한 모든 리전에서 이 제어를 비활성화할 수 있습니다.

문제 해결

이 문제를 해결하려면 IAM 정책이 전체 "*" 관리 권한을 허용하지 않도록 정책을 업데이트합니다. IAM 정책을 편집하는 방법에 대한 자세한 내용은 IAM 사용 설명서 IAM 정책 편집을 참조하세요.

[IAM.22] 45일 동안 사용되지 않은 IAM 사용자 자격 증명은 제거해야 합니다.

관련 요구 사항: CIS AWS Foundations Benchmark v3.0.0/1.12, CIS AWS Foundations Benchmark v1.4.0/1.12

범주: 보호 > 보안 액세스 관리

심각도: 중간

리소스 유형: AWS::IAM::User

AWS Config 규칙: iam-user-unused-credentials-check

스케줄 유형: 주기적

파라미터: 없음

이 제어는 IAM 사용자에게 45일 이상 사용되지 않은 암호 또는 활성 액세스 키가 있는지 확인합니다. 이를 위해 AWS Config 규칙의 maxCredentialUsageAge 파라미터가 45 이상인지 확인합니다.

사용자는 암호 또는 액세스 키와 같은 다양한 유형의 자격 증명을 사용하여 AWS 리소스에 액세스할 수 있습니다.

CIS 에서는 45일 이상 사용되지 않은 모든 자격 증명을 제거하거나 비활성화할 것을 권장합니다. 불필요한 보안 인증을 비활성화하거나 제거하면 침해되거나 버려진 계정과 연결된 보안 인증이 사용될 가능성이 줄어듭니다.

이 제어의 AWS Config 규칙은 GetCredentialReportGenerateCredentialReport API 작업을 사용하며, 이는 4시간마다만 업데이트됩니다. IAM 사용자 변경 내용이 이 컨트롤에 표시되는 데 최대 4시간이 걸릴 수 있습니다.

참고

AWS Config 는 Security Hub를 사용하는 모든 리전에서 활성화되어야 합니다. 하지만 단일 리전에서 글로벌 리소스 기록을 활성화할 수 있습니다. 단일 리전에서만 글로벌 리소스를 기록하는 경우, 글로벌 리소스를 기록하는 리전을 제외한 모든 리전에서 이 제어를 비활성화할 수 있습니다.

문제 해결

IAM 콘솔에서 사용자 정보를 볼 때 액세스 키 수명, 암호 수명마지막 활동에 대한 열이 있습니다. 이 열 중 어느 하나라도 값이 45일보다 큰 경우, 해당 사용자의 보안 인증을 비활성화하세요.

또한 보안 인증 보고서를 사용해 사용자를 모니터링하고 45일 이상 활동이 없는 사용자를 식별할 수 있습니다. IAM 콘솔에서 .csv 형식의 자격 증명 보고서를 다운로드할 수 있습니다.

비활성 계정이나 사용하지 않는 보안 인증 정보를 식별한 후에는 비활성화하세요. 지침은 사용 IAM 설명서 IAM 사용자 암호 생성, 변경 또는 삭제(콘솔)를 참조하세요.

[IAM.23] IAM Access Analyzer 분석기에 태그를 지정해야 합니다.

범주: 식별 > 인벤토리 > 태그 지정

심각도: 낮음

리소스 유형: AWS::AccessAnalyzer::Analyzer

AWS Config 규칙: tagged-accessanalyzer-analyzer (사용자 지정 Security Hub 규칙)

스케줄 유형: 변경이 트리거됨

파라미터:

파라미터 설명 형식 허용된 사용자 지정 값 Security Hub 기본값
requiredTagKeys 평가된 리소스에 포함되어야 하는 비시스템 태그 키 목록입니다. 태그 키는 대소문자를 구별합니다. StringList AWS 요구 사항을 충족하는 태그 목록 No default value

이 제어는 AWS Identity and Access Management Access Analyzer (IAM Access Analyzer)에서 관리하는 분석기에 파라미터에 정의된 특정 키가 있는 태그가 있는지 확인합니다requiredTagKeys. 분석기에 태그 키가 없거나 파라미터 requiredTagKeys에 지정된 모든 키가 없는 경우, 제어가 실패합니다. 파라미터 requiredTagKeys이 제공되지 않은 경우, 제어는 태그 키의 존재만 확인하고 분석기에 태그가 지정되지 않은 경우 제어가 실패합니다. 자동으로 적용되고 aws:로 시작하는 시스템 태그는 무시됩니다.

태그는 AWS 리소스에 할당하는 레이블이며 키와 선택적 값으로 구성됩니다. 태그를 생성하여 용도, 소유자, 환경 또는 기타 기준으로 리소스를 분류할 수 있습니다. 태그를 사용하면 리소스를 식별, 정리, 검색 및 필터링하는 데 도움을 줍니다. 태그 지정은 또한 작업 및 알림에 대한 책임 리소스 소유자를 추적하는 데도 도움이 됩니다. 태그 지정을 사용하는 경우 속성 기반 액세스 제어(ABAC)를 태그를 기반으로 권한을 정의하는 권한 부여 전략으로 구현할 수 있습니다. IAM 엔터티(사용자 또는 역할) 및 AWS 리소스에 태그를 연결할 수 있습니다. 보안 IAM 주체에 대해 단일 ABAC 정책 또는 별도의 정책 세트를 생성할 수 있습니다. 보안 주체의 태그가 리소스 태그와 일치할 때 작업을 허용하도록 이러한 ABAC 정책을 설계할 수 있습니다. 자세한 내용은 IAM 사용 설명서AWS의 ABAC 용도를 참조하세요.

참고

개인 식별 정보(PII) 또는 기타 기밀 또는 민감한 정보를 태그에 추가하지 마세요. 태그를 AWS 서비스포함하여 많은 사용자가 태그에 액세스할 수 있습니다 AWS Billing. 자세한 태그 지정 모범 사례는의 AWS 리소스 태그 지정을 참조하세요AWS 일반 참조.

문제 해결

분석기에 태그를 추가하려면 섹션을 참조하세요. TagResource AWS IAM 액세스 분석기 API 참조의 .

[IAM.24] IAM 역할에 태그를 지정해야 합니다.

범주: 식별 > 인벤토리 > 태그 지정

심각도: 낮음

리소스 유형: AWS::IAM::Role

AWS Config 규칙: tagged-iam-role (사용자 지정 Security Hub 규칙)

스케줄 유형: 변경이 트리거됨

파라미터:

파라미터 설명 형식 허용된 사용자 지정 값 Security Hub 기본값
requiredTagKeys 평가된 리소스에 포함되어야 하는 비시스템 태그 키 목록입니다. 태그 키는 대소문자를 구별합니다. StringList AWS 요구 사항을 충족하는 태그 목록 No default value

이 제어는 AWS Identity and Access Management (IAM) 역할에 파라미터에 정의된 특정 키가 있는 태그가 있는지 확인합니다requiredTagKeys. 역할에 태그 키가 없거나 파라미터 requiredTagKeys에 지정된 모든 키가 없는 경우, 제어가 실패합니다. 파라미터 requiredTagKeys이 제공되지 않은 경우, 제어는 태그 키의 존재만 확인하고 역할에 키로 태그가 지정되지 않은 경우 제어가 실패합니다. 자동으로 적용되고 aws:로 시작하는 시스템 태그는 무시됩니다.

태그는 AWS 리소스에 할당하는 레이블이며 키와 선택적 값으로 구성됩니다. 태그를 생성하여 용도, 소유자, 환경 또는 기타 기준으로 리소스를 분류할 수 있습니다. 태그를 사용하면 리소스를 식별, 정리, 검색 및 필터링하는 데 도움을 줍니다. 태그 지정은 또한 작업 및 알림에 대한 책임 리소스 소유자를 추적하는 데도 도움이 됩니다. 태그 지정을 사용하는 경우 속성 기반 액세스 제어(ABAC)를 태그를 기반으로 권한을 정의하는 권한 부여 전략으로 구현할 수 있습니다. IAM 엔터티(사용자 또는 역할) 및 AWS 리소스에 태그를 연결할 수 있습니다. 보안 IAM 주체에 대해 단일 ABAC 정책 또는 별도의 정책 세트를 생성할 수 있습니다. 보안 주체의 태그가 리소스 태그와 일치할 때 작업을 허용하도록 이러한 ABAC 정책을 설계할 수 있습니다. 자세한 내용은 IAM 사용 설명서AWS의 ABAC 용도를 참조하세요.

참고

개인 식별 정보(PII) 또는 기타 기밀 또는 민감한 정보를 태그에 추가하지 마세요. 태그를 AWS 서비스포함하여 많은 사용자가 태그에 액세스할 수 있습니다 AWS Billing. 자세한 태그 지정 모범 사례는의 AWS 리소스 태그 지정을 참조하세요AWS 일반 참조.

문제 해결

IAM 역할에 태그를 추가하려면 IAM 사용 설명서 IAM 리소스 태그 지정을 참조하세요.

[IAM.25] IAM 사용자에게 태그를 지정해야 합니다.

범주: 식별 > 인벤토리 > 태그 지정

심각도: 낮음

리소스 유형: AWS::IAM::User

AWS Config 규칙: tagged-iam-user (사용자 지정 Security Hub 규칙)

스케줄 유형: 변경이 트리거됨

파라미터:

파라미터 설명 형식 허용된 사용자 지정 값 Security Hub 기본값
requiredTagKeys 평가된 리소스에 포함되어야 하는 비시스템 태그 키 목록입니다. 태그 키는 대소문자를 구별합니다. StringList AWS 요구 사항을 충족하는 태그 목록 No default value

이 제어는 AWS Identity and Access Management (IAM) 사용자에게 파라미터에 정의된 특정 키가 있는 태그가 있는지 확인합니다requiredTagKeys. 사용자에게 태그 키가 없거나 파라미터 requiredTagKeys에 지정된 모든 키가 없는 경우, 제어가 실패합니다. 파라미터 requiredTagKeys이 제공되지 않은 경우, 제어는 태그 키의 존재만 확인하고 사용자에 키로 태그가 지정되지 않은 경우 제어가 실패합니다. 자동으로 적용되고 aws:로 시작하는 시스템 태그는 무시됩니다.

태그는 AWS 리소스에 할당하는 레이블이며 키와 선택적 값으로 구성됩니다. 태그를 생성하여 용도, 소유자, 환경 또는 기타 기준으로 리소스를 분류할 수 있습니다. 태그를 사용하면 리소스를 식별, 정리, 검색 및 필터링하는 데 도움을 줍니다. 태그 지정은 또한 작업 및 알림에 대한 책임 리소스 소유자를 추적하는 데도 도움이 됩니다. 태그 지정을 사용하는 경우 속성 기반 액세스 제어(ABAC)를 태그를 기반으로 권한을 정의하는 권한 부여 전략으로 구현할 수 있습니다. IAM 엔터티(사용자 또는 역할) 및 AWS 리소스에 태그를 연결할 수 있습니다. 보안 IAM 주체에 대해 단일 ABAC 정책 또는 별도의 정책 세트를 생성할 수 있습니다. 보안 주체의 태그가 리소스 태그와 일치할 때 작업을 허용하도록 이러한 ABAC 정책을 설계할 수 있습니다. 자세한 내용은 IAM 사용 설명서AWS의 ABAC 용도를 참조하세요.

참고

개인 식별 정보(PII) 또는 기타 기밀 또는 민감한 정보를 태그에 추가하지 마세요. 태그를 AWS 서비스포함하여 많은 사용자가 태그에 액세스할 수 있습니다 AWS Billing. 자세한 태그 지정 모범 사례는의 AWS 리소스 태그 지정을 참조하세요AWS 일반 참조.

문제 해결

IAM 사용자에게 태그를 추가하려면 IAM 사용 설명서 IAM 리소스 태그 지정을 참조하세요.

[IAM.26] 만료됨 SSL/TLS에서 관리되는 인증서를 제거IAM해야 합니다.

관련 요구 사항: CIS AWS Foundations Benchmark v3.0.0/1.19

범주: 식별 > 규정 준수

심각도: 중간

리소스 유형: AWS::IAM::ServerCertificate

AWS Config 규칙: iam-server-certificate-expiration-check

스케줄 유형: 주기적

파라미터: 없음

이 제어는 활성 SSL/TLS server certificate that is managed in IAM has expired. The control fails if the expired SSL/TLS 서버 인증서가 제거되지 않았는지 확인합니다.

에서 웹 사이트 또는 애플리케이션에 대한 HTTPS 연결을 활성화하려면 SSL/TLS 서버 인증서가 AWS필요합니다. IAM 또는 AWS Certificate Manager (ACM)를 사용하여 서버 인증서를 저장하고 배포할 수 있습니다. 에서 지원하지 AWS 리전 않는에서 HTTPS 연결을 지원해야 하는 경우에만를 인증서 관리자IAM로 사용합니다ACM.는 프라이빗 키를 IAM 안전하게 암호화하고 암호화된 버전을 IAM SSL 인증서 스토리지에 저장합니다.는 모든 리전에 서버 인증서 배포를 IAM 지원하지만와 함께 사용하려면 외부 공급자로부터 인증서를 받아야 합니다 AWS. ACM 인증서를에 업로드할 수 없습니다IAM. 또한 IAM 콘솔에서 인증서를 관리할 수 없습니다. 만료된 SSL/TLS 인증서를 제거하면 잘못된 인증서가 리소스에 실수로 배포되어 기본 애플리케이션 또는 웹 사이트의 신뢰성이 손상될 위험이 없습니다.

문제 해결

에서 서버 인증서를 제거하려면 IAM 사용 설명서에서 서버 인증서 관리를 IAM IAM참조하세요.

[IAM.27] 자격 IAM 증명에는 AWSCloudShellFullAccess 정책이 연결되지 않아야 합니다.

관련 요구 사항: CIS AWS Foundations Benchmark v3.0.0/1.22

범주: 보호 > 보안 액세스 관리 > 보안 IAM 정책

심각도: 중간

리소스 유형: AWS::IAM::Role, AWS::IAM::User, AWS::IAM::Group

AWS Config 규칙: iam-policy-blacklisted-check

스케줄 유형: 변경이 트리거됨

파라미터:

  • “policyArns": “arn:aws:iam::aws:policy/AWSCloudShellFullAccess,arn:aws-cn:iam::aws:policy/AWSCloudShellFullAccess, arn:aws-us-gov:iam::aws:policy/AWSCloudShellFullAccess”

이 제어는 IAM ID(사용자, 역할 또는 그룹)에 AWS 관리형 정책이 AWSCloudShellFullAccess 연결되어 있는지 확인합니다. IAM 자격 증명에 AWSCloudShellFullAccess 정책이 연결된 경우 제어가 실패합니다.

AWS CloudShell 는 CLI 명령을 실행하는 편리한 방법을 제공합니다 AWS 서비스. AWS 관리형 정책은에 대한 전체 액세스를 AWSCloudShellFullAccess 제공하므로 사용자의 로컬 시스템과 CloudShell 환경 간에 파일 업로드 및 다운로드 기능을 CloudShell사용할 수 있습니다. CloudShell 환경 내에서 사용자는 sudo 권한을 가지며 인터넷에 액세스할 수 있습니다. 따라서이 관리형 정책을 IAM 자격 증명에 연결하면 파일 전송 소프트웨어를 설치하고에서 외부 인터넷 서버로 데이터를 이동할 CloudShell 수 있습니다. 최소 권한 원칙을 따르고 IAM 자격 증명에 더 좁은 권한을 연결하는 것이 좋습니다.

문제 해결

자격 IAM 증명에서 AWSCloudShellFullAccess 정책을 분리하려면 IAM 사용 설명서 IAM 자격 증명 권한 추가 및 제거를 참조하세요.

[IAM.28] IAM Access Analyzer 외부 액세스 분석기를 활성화해야 합니다.

관련 요구 사항: CIS AWS Foundations Benchmark v3.0.0/1.20

범주: 감지 > 감지 서비스 > 권한 있는 사용 모니터링

심각도: 높음

리소스 유형: AWS::AccessAnalyzer::Analyzer

AWS Config 규칙: iam-external-access-analyzer-enabled

스케줄 유형: 주기적

파라미터: 없음

이 제어는에 IAM Access Analyzer 외부 액세스 분석기 AWS 계정 가 활성화되어 있는지 확인합니다. 계정에 현재 선택한 AWS 리전에서 활성화된 외부 액세스 분석기가 없는 경우, 제어가 실패합니다.

IAM Access Analyzer 외부 액세스 분석기는 외부 엔터티와 공유되는 Amazon Simple Storage Service(Amazon S3) 버킷 또는 IAM 역할과 같은 조직 및 계정의 리소스를 식별하는 데 도움이 됩니다. 이렇게 하면 리소스 및 데이터에 대한 의도하지 않은 액세스를 방지할 수 있습니다. IAM Access Analyzer는 리전이며 각 리전에서 활성화되어야 합니다. Access Analyzer는 외부 보안 주체와 공유되는 리소스를 식별하기 위해 AWS 환경에서 리소스 기반 정책을 분석하는 로직 기반 추론을 사용합니다. 외부 Access Analyzer를 활성화할 때 전체 조직 또는 계정에 대한 분석기를 생성하게 됩니다.

문제 해결

특정 리전에서 외부 액세스 분석기를 활성화하려면 IAM 사용 설명서 IAM 액세스 분석기 활성화를 참조하세요. 리소스에 대한 액세스 권한을 모니터링하려는 각 리전에서 분석기를 생성해야 합니다.