기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Security Hub 제어 대상 IAM
이러한 AWS Security Hub 컨트롤은 AWS Identity and Access Management (IAM) 서비스와 리소스를 평가합니다.
이러한 컨트롤을 모두 사용할 수 있는 것은 아닙니다 AWS 리전. 자세한 내용은 리전별 제어 기능 사용 가능 여부 단원을 참조하십시오.
[IAM.1] IAM 정책에서는 완전한 “*” 관리자 권한을 허용해서는 안 됩니다.
관련 요구 사항: PCI DSS v3.2.1/7.2.1, CIS AWS 파운데이션 벤치마크 v1.2.0/1.22, CIS AWS 파운데이션 벤치마크 v1.4.0/1.16,, NIST.800-53.r5 AC-2 (1), (15), (7), NIST.800-53.r5 AC-2, (10), (2) NIST.800-53.r5 AC-3, NIST.800-53.r5 AC-3 (3) NIST.800-53.r5 AC-3 NIST.800-53.r5 AC-5 NIST.800-53.r5 AC-6 NIST.800-53.r5 AC-6 NIST.800-53.r5 AC-6 NIST.800-53.r5 AC-6
범주: 보호 > 보안 액세스 관리
심각도: 높음
리소스 유형: AWS::IAM::Policy
AWS Config 규칙: iam-policy-no-statements-with-admin-access
스케줄 유형: 변경이 트리거됨
파라미터:
excludePermissionBoundaryPolicy: true
(사용자 지정할 수 없음)
이 컨트롤은 over가 붙은 명령문을 포함하여 기본 버전의 IAM 정책 (고객 관리형 정책이라고도 함) 에 관리자 액세스 권한이 있는지 여부를 확인합니다. "Effect": "Allow"
"Action": "*"
"Resource": "*"
이러한 명령문이 포함된 IAM 정책이 있는 경우 제어가 실패합니다.
제어는 사용자가 생성한 고객 관리형 정책만 확인합니다. 인라인 및 AWS 관리형 정책은 확인하지 않습니다.
IAM정책은 사용자, 그룹 또는 역할에 부여되는 권한 세트를 정의합니다. 표준 보안 AWS 권고에 따라 최소 권한, 즉 작업 수행에 필요한 권한만 부여하는 것이 좋습니다. 사용자에게 있어야 하는 최소한의 권한 집합으로 제한하지 않고 전체 관리 권한을 제공하면 리소스가 원치 않는 작업에 노출될 수 있습니다.
전체 관리 권한을 허용하는 대신 사용자가 해야 할 작업을 파악한 후 해당 작업만 수행하도록 정책을 작성합니다. 최소한의 권한 집합으로 시작하여 필요에 따라 추가 권한을 부여하는 것이 안전합니다. 처음부터 권한을 많이 부여하지 말고 나중에 강화하세요.
over가 붙은 "Effect": "Allow"
명령문이 있는 IAM 정책은 제거해야 합니다. "Action": "*"
"Resource": "*"
참고
AWS Config Security Hub를 사용하는 모든 지역에서 활성화되어야 합니다. 그러나 단일 리전에서는 글로벌 리소스 기록을 활성화할 수 있습니다. 단일 리전에서만 글로벌 리소스를 기록하는 경우 글로벌 리소스를 기록하는 리전을 제외한 모든 리전에서 이 제어를 비활성화할 수 있습니다.
이제 Security Hub가 와 통합되었습니다
전체 “*” 관리자 권한을 허용하지 않도록 IAM IAM정책을 수정하려면 IAM 사용 설명서의 정책 편집을 참조하십시오.
[IAM.2] IAM 사용자는 IAM 정책을 첨부하지 않아야 합니다.
관련 요구 사항: PCI DSS v3.2.1/7.2.1, CIS AWS 파운데이션 벤치마크 v3.0.0/1.15, 파운데이션 벤치마크 v1.2.0/1.16,, CIS AWS (1), (15), (7), (3) NIST.800-53.r5 AC-2 NIST.800-53.r5 AC-2 NIST.800-53.r5 AC-3 NIST.800-53.r5 AC-3 NIST.800-53.r5 AC-3 NIST.800-53.r5 AC-6 NIST.800-53.r5 AC-6
범주: 보호 > 보안 액세스 관리
심각도: 낮음
리소스 유형: AWS::IAM::User
AWS Config 규칙: iam-user-no-policies-check
스케줄 유형: 변경이 트리거됨
파라미터: 없음
이 IAM 컨트롤은 사용자에게 정책이 연결되어 있는지 여부를 확인합니다. IAM사용자에게 정책이 연결되어 있는 경우 제어가 실패합니다. 대신 IAM 사용자는 IAM 그룹의 권한을 상속하거나 역할을 수임해야 합니다.
기본적으로 IAM 사용자, 그룹 및 역할은 리소스에 AWS 액세스할 수 없습니다. IAM정책은 사용자, 그룹 또는 역할에 권한을 부여합니다. IAM정책은 그룹과 역할에 직접 적용하고 사용자에게는 적용하지 않는 것이 좋습니다. 그룹 또는 역할 수준에서 권한을 지정하면 사용자 수가 증가할 때 액세스 관리 복잡성이 줄어듭니다. 액세스 관리 복잡성을 줄이면 보안 주체가 부주의로 과도한 권한을 받거나 보유할 기회가 줄어듭니다.
참고
IAMAmazon Simple Email Service에서 생성한 사용자는 인라인 정책을 사용하여 자동으로 생성됩니다. Security Hub는 이러한 사용자를 이 제어에서 자동으로 제외합니다.
AWS Config Security Hub를 사용하는 모든 지역에서 활성화되어야 합니다. 그러나 단일 리전에서는 글로벌 리소스 기록을 활성화할 수 있습니다. 단일 리전에서만 글로벌 리소스를 기록하는 경우 글로벌 리소스를 기록하는 리전을 제외한 모든 리전에서 이 제어를 비활성화할 수 있습니다.
이제 Security Hub가 와 통합되었습니다
이 문제를 해결하려면 IAM그룹을 만들고 정책을 그룹에 연결하십시오. 그런 다음 사용자를 그룹에 추가합니다. 정책은 그룹 내 각 사용자에게 적용됩니다. 사용자에게 직접 연결된 정책을 제거하려면 사용 설명서의 IAMID 권한 추가 및 제거를 IAM 참조하십시오.
[IAM.3] IAM 사용자의 액세스 키는 90일 또는 그 이하마다 교체해야 합니다.
관련 요구 사항: CIS AWS 파운데이션 벤치마크 v3.0.0/1.14, 파운데이션 벤치마크 v1.4.0/1.14, CIS AWS 파운데이션 벤치마크 v1.2.0/1.4, (1), (3), (15) CIS AWS NIST.800-53.r5 AC-2 NIST.800-53.r5 AC-2 NIST.800-53.r5 AC-3
범주: 보호 > 보안 액세스 관리
심각도: 중간
리소스 유형: AWS::IAM::User
AWS Config 규칙: access-keys-rotated
스케줄 유형: 주기적
파라미터:
-
maxAccessKeyAge
:90
(사용자 지정할 수 없음)
이 제어는 활성 액세스 키가 90일마다 교체되는지 여부를 확인합니다.
사용자 계정에서 모든 액세스 키를 생성 및 제거하지 않는 것이 좋습니다. 대신 하나 이상의 역할을 생성하거나 페더레이션을 IAM 통해 사용하는 것이 가장 좋습니다.
각 접근법에는 사용 사례가 있습니다. 일반적으로 페더레이션은 기존 중앙 디렉터리가 있거나 현재 사용자 한도보다 많은 IAM 사용자 수를 필요로 하는 플랜을 가진 기업에 더 적합합니다. AWS 환경 외부에서 실행되는 응용 프로그램에는 프로그래밍 방식으로 AWS 리소스에 액세스하기 위한 액세스 키가 필요합니다.
하지만 프로그래밍 방식의 액세스가 필요한 리소스가 내부에서 실행되는 경우 AWS역할을 사용하는 IAM 것이 가장 좋습니다. 역할을 사용하면 액세스 키 ID 및 보안 액세스 키를 구성에 하드 코딩하지 않고도 리소스 액세스 권한을 부여할 수 있습니다.
액세스 키 및 계정 보호에 대한 자세한 내용은 의 AWS 액세스 키 관리 모범 사례를 참조하십시오. AWS 일반 참조 프로그래밍 방식 액세스를 사용하는 AWS 계정 동안 사용자를 보호하기 위한 블로그 게시물 지침도
이미 액세스 키가 있는 경우, Security Hub는 사용자가 90일마다 액세스 키를 교체하는 것을 권장합니다. 액세스 키를 교체하면 손상되거나 종료된 계정에 연결된 액세스 키가 사용될 가능성이 줄어듭니다. 또한 분실, 해킹 또는 도용된 기존 키로 데이터에 액세스할 수 없도록 합니다. 액세스 키를 교체한 후에는 항상 애플리케이션을 업데이트하세요.
액세스 키는 액세스 키 ID와 보안 액세스 키로 구성되어 있습니다. 이 키들은 AWS에 보내는 프로그래밍 방식의 요청에 서명하는 데 사용됩니다. 사용자는 Tools for AWS PowerShell Windows에서 프로그래밍 방식으로 전화를 걸거나 개인용 API 작업을 사용하여 직접 HTTP 전화를 걸려면 고유한 액세스 키가 필요합니다. AWS CLI AWS SDKs AWS 서비스
조직에서 AWS IAM Identity Center (IAMID 센터) 를 사용하는 경우 사용자는 Active Directory, 기본 제공 IAM ID 센터 디렉터리 또는 ID 센터에 연결된 다른 ID 공급자 (IdP) 에 로그인할 IAM 수 있습니다. 그런 다음 액세스 키 없이도 AWS CLI 명령을 실행하거나 AWS API 작업을 호출할 수 있는 IAM 역할에 매핑할 수 있습니다. 자세한 내용은 사용 AWS IAM Identity CenterAWS Command Line Interface 설명서에서 AWS CLI 사용하도록 구성을 참조하십시오.
참고
AWS Config Security Hub를 사용하는 모든 지역에서 활성화되어야 합니다. 그러나 단일 리전에서는 글로벌 리소스 기록을 활성화할 수 있습니다. 단일 리전에서만 글로벌 리소스를 기록하는 경우 글로벌 리소스를 기록하는 리전을 제외한 모든 리전에서 이 제어를 비활성화할 수 있습니다.
이제 Security Hub가 와 통합되었습니다
90일이 지난 액세스 키를 교체하려면 IAM사용 설명서의 액세스 키 교체를 참조하십시오. 액세스 키 사용 기간이 90일 이상인 모든 사용자의 지침을 따르십시오.
[IAM.4] IAM 루트 사용자 액세스 키는 존재하지 않아야 합니다.
관련 요구 사항: CIS AWS 파운데이션 벤치마크 v3.0.0/1.4, 파운데이션 벤치마크 v1.4.0/1.4, CIS AWS 파운데이션 벤치마크 v1.2.0/1.12, v3.2.1/2.1, CIS AWS v3.2.1/2.2, PCI DSS v3.2.1/7.2.1, (1), (15), (7), (10), (2) PCI DSS PCI DSS NIST.800-53.r5 AC-2 NIST.800-53.r5 AC-3 NIST.800-53.r5 AC-3 NIST.800-53.r5 AC-6 NIST.800-53.r5 AC-6 NIST.800-53.r5 AC-6
범주: 보호 > 보안 액세스 관리
심각도: 심각
리소스 유형: AWS::::Account
AWS Config 규칙: iam-root-access-key-check
스케줄 유형: 주기적
파라미터: 없음
이 제어는 루트 사용자 액세스 키가 존재하는지 확인합니다.
루트 사용자는 a에서 AWS 계정가장 권한이 많은 사용자입니다. AWS 액세스 키는 지정된 계정에 프로그래밍 방식으로 액세스할 수 있도록 합니다.
Security Hub에서는 루트 사용자와 연결된 모든 액세스 키를 제거할 것을 권장합니다. 이렇게 하면 계정을 손상시킬 수 있는 벡터가 제한됩니다. 권한이 가장 적은 역할 기반 계정을 만들고 사용할 수도 있습니다.
이제 Security Hub가 와 통합되었습니다
루트 사용자 액세스 키를 삭제하려면 사용 설명서의 루트 사용자의 액세스 키 삭제를 참조하십시오. IAM in에서 루트 사용자 액세스 키를 삭제하려면 사용 설명서의 내 AWS GovCloud (US) 계정 루트 사용자 액세스 키 삭제를 참조하십시오. AWS 계정 AWS GovCloud (US)AWS GovCloud (US)
콘솔 암호가 있는 모든 IAM 사용자가 [IAM.5] 를 MFA 활성화해야 합니다.
관련 요구 사항: CIS AWS 파운데이션 벤치마크 v3.0.0/1.10, CIS AWS 파운데이션 벤치마크 v1.4.0/1.10, 파운데이션 벤치마크 v1.2.0/1.2, CIS AWS (1), (1), (2), (6 NIST.800-53.r5 AC-2), (8) NIST.800-53.r5 AC-3 NIST.800-53.r5 IA-2 NIST.800-53.r5 IA-2 NIST.800-53.r5 IA-2 NIST.800-53.r5 IA-2
범주: 보호 > 보안 액세스 관리
심각도: 중간
리소스 유형: AWS::IAM::User
AWS Config 규칙: mfa-enabled-for-iam-console-access
스케줄 유형: 주기적
파라미터: 없음
이 AWS 컨트롤은 콘솔 암호를 사용하는 모든 사용자에게 다단계 IAM 인증 () 이 활성화되어 있는지 확인합니다. MFA
다단계 인증 (MFA) 은 사용자 이름 및 암호 외에 추가 보호 계층을 추가합니다. MFA활성화하면 사용자가 AWS 웹 사이트에 로그인할 때 사용자 이름과 암호를 입력하라는 메시지가 표시됩니다. 또한 AWS MFA 디바이스에서 인증 코드를 입력하라는 메시지가 표시됩니다.
콘솔 암호가 있는 모든 계정에 MFA 대해 활성화하는 것이 좋습니다. MFA콘솔 액세스의 보안을 강화하도록 설계되었습니다. 인증 주체는 시간에 민감한 키를 내보내는 디바이스를 가지고 있어야 하며 보안 인증에 대한 지식이 있어야 합니다.
참고
AWS Config Security Hub를 사용하는 모든 지역에서 활성화되어야 합니다. 그러나 단일 리전에서는 글로벌 리소스 기록을 활성화할 수 있습니다. 단일 리전에서만 글로벌 리소스를 기록하는 경우 글로벌 리소스를 기록하는 리전을 제외한 모든 리전에서 이 제어를 비활성화할 수 있습니다.
이제 Security Hub가 와 통합되었습니다
IAM사용자를 추가하려면 MFA 사용 설명서의 다단계 인증 사용 (MFA) 을 IAM 참조하십시오. AWS
자격을 갖춘 고객에게 무료 MFA 보안 키를 제공하고 있습니다. 자격이 되는지 확인하고 무료 키를 주문하십시오.
[IAM.6] 루트 사용자가 하드웨어를 사용할 수 있도록 MFA 설정해야 합니다.
관련 요구 사항: CIS AWS 파운데이션 벤치마크 v3.0.0/1.6, CIS AWS 파운데이션 벤치마크 v1.4.0/1.6, 파운데이션 벤치마크 v1.2.0/1.14, CIS AWS PCI DSS v3.2.1/8.3.1, (1), (15), (1), (2), (6), (8) NIST.800-53.r5 AC-2 NIST.800-53.r5 AC-3 NIST.800-53.r5 IA-2 NIST.800-53.r5 IA-2 NIST.800-53.r5 IA-2 NIST.800-53.r5 IA-2
범주: 보호 > 보안 액세스 관리
심각도: 심각
리소스 유형: AWS::::Account
AWS Config 규칙: root-account-hardware-mfa-enabled
스케줄 유형: 주기적
파라미터: 없음
이 컨트롤은 하드웨어 멀티 팩터 인증 () 장치를 사용하여 루트 사용자 자격 증명으로 로그인할 수 있는지 여부를 확인합니다. AWS 계정 MFA MFA활성화되지 않았거나 루트 사용자 자격 증명으로 로그인할 수 있는 가상 MFA 장치가 있는 경우 제어가 실패합니다.
MFA가상은 하드웨어 MFA 장치와 동일한 수준의 보안을 제공하지 않을 수 있습니다. 하드웨어 구매 승인을 기다리거나 하드웨어가 도착할 때까지 기다리는 동안에는 가상 MFA 디바이스만 사용하는 것이 좋습니다. 자세한 내용은 사용 설명서의 가상 다단계 인증 활성화 (MFA) 장치 (콘솔) 를 IAM 참조하십시오.
시간 기반 일회용 암호 (TOTP) 및 유니버설 2차 요소 (U2F) 토큰 모두 하드웨어 옵션으로 사용할 수 있습니다. MFA
이제 Security Hub가 와 통합되었습니다
루트 사용자를 위한 하드웨어 MFA 디바이스를 추가하려면 사용 설명서의 루트 사용자용 하드웨어 MFA 디바이스 활성화 (콘솔) 를 참조하십시오. AWS 계정 IAM
자격을 갖춘 고객에게 무료 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)
범주: 보호 > 보안 액세스 관리
심각도: 중간
리소스 유형: AWS::::Account
AWS Config 규칙: iam-password-policy
스케줄 유형: 주기적
파라미터:
파라미터 | 설명 | 형식 | 허용된 사용자 지정 값 | Security Hub 기본값 |
---|---|---|---|---|
|
암호에 대문자가 한 개 이상 있어야 합니다. |
불 |
|
|
|
암호에 소문자가 한 개 이상 있어야 합니다. |
불 |
|
|
|
암호에 기호가 한 개 이상 있어야 합니다. |
불 |
|
|
|
암호에 숫자가 한 개 이상 있어야 합니다. |
불 |
|
|
|
암호의 최소 특수 문자 수 |
Integer |
|
|
|
이전 암호를 다시 사용할 수 있을 때까지의 암호 순환 횟수 |
Integer |
|
기본값 없음 |
|
암호 만료까지 남은 일수 |
Integer |
|
기본값 없음 |
이 컨트롤은 IAM 사용자의 계정 암호 정책이 강력한 구성을 사용하는지 여부를 확인합니다. 암호 정책에서 강력한 구성을 사용하지 않으면 제어가 실패합니다. 사용자 지정 파라미터 값을 제공하지 않는 한 Security Hub는 위 표에 나와 있는 기본값을 사용합니다. PasswordReusePrevention
및 MaxPasswordAge
파라미터에는 기본값이 없으므로 이러한 파라미터를 제외하면 Security Hub는 이 제어를 평가할 때 암호 순환 횟수와 암호 사용 기간을 무시합니다.
에 AWS Management Console액세스하려면 IAM 사용자에게 암호가 필요합니다. Security Hub는 IAM 사용자를 생성하는 대신 페더레이션을 사용하는 것이 가장 좋습니다. 페더레이션을 통해 사용자는 기존 기업 보안 인증을 사용하여 AWS Management Console에 로그인할 수 있습니다. AWS IAM Identity Center (IAMIdentity Center) 를 사용하여 사용자를 만들거나 페더레이션한 다음 계정에 IAM 역할을 맡기십시오.
ID 제공자 및 페더레이션에 대해 자세히 알아보려면 IAM사용 설명서의 ID 제공자 및 페더레이션을 참조하십시오. IAMIdentity Center에 대한 자세한 내용은 AWS IAM Identity Center 사용 설명서를 참조하십시오.
IAM사용자를 사용해야 하는 경우 Security Hub는 강력한 사용자 암호를 강제로 생성할 것을 권장합니다. 암호에 대한 복잡성 요구 사항 및 필수 순환 기간을 AWS 계정 지정하도록 암호 정책을 설정할 수 있습니다. 비밀번호 정책을 생성 또는 변경하더라도 대부분의 비밀번호 정책 설정은 사용자가 다음에 자신의 비밀번호를 변경할 때 적용됩니다. 일부 설정은 바로 적용됩니다.
이제 Security Hub가 와 통합되었습니다
암호 정책을 업데이트하려면 IAM사용 설명서의 IAM사용자에 대한 계정 암호 정책 설정을 참조하십시오.
[IAM.8] 사용하지 않는 IAM 사용자 자격 증명은 제거해야 합니다.
관련 요구 사항: PCI DSS v3.2.1/8.1.4, CIS AWS 파운데이션 벤치마크 v1.2.0/1.3,, NIST.800-53.r5 AC-2 (1), (3), NIST.800-53.r5 AC-2, (15), (7), NIST.800-53.r5 AC-2 NIST.800-53.r5 AC-3 NIST.800-53.r5 AC-3 NIST.800-53.r5 AC-3 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를 사용하는 모든 지역에서 활성화되어야 합니다. 그러나 단일 리전에서는 글로벌 리소스 기록을 활성화할 수 있습니다. 단일 리전에서만 글로벌 리소스를 기록하는 경우 글로벌 리소스를 기록하는 리전을 제외한 모든 리전에서 이 제어를 비활성화할 수 있습니다.
이제 Security Hub가 와 통합되었습니다
IAM콘솔에서 사용자 정보를 볼 때 액세스 키 사용 기간, 암호 사용 기간 및 마지막 활동 열이 표시됩니다. 이 열 중 어느 하나라도 값이 90일보다 큰 경우 해당 사용자의 보안 인증을 비활성화하십시오.
또한 보안 인증 보고서를 사용해 사용자를 모니터링하고 90일 이상 활동이 없는 사용자를 식별할 수 있습니다. IAM콘솔에서 자격 증명 보고서를 .csv
형식으로 다운로드할 수 있습니다.
비활성 계정이나 사용하지 않는 보안 인증 정보를 식별한 후에는 비활성화하십시오. 지침은 사용 설명서의 IAM사용자 암호 (콘솔) 생성, 변경 또는 삭제를 참조하십시오. IAM
루트 사용자에 대해 [IAM.9] 를 MFA 활성화해야 합니다.
관련 요구 사항: PCI DSS v3.2.1/8.3.1, CIS AWS 파운데이션 벤치마크 v3.0.0/1.5, 파운데이션 벤치마크 v1.4.0/1.5, CIS AWS 파운데이션 벤치마크 v1.2.0/1.13, (1), CIS AWS (1), (2), (6), (8) NIST.800-53.r5 AC-2 NIST.800-53.r5 AC-3 NIST.800-53.r5 IA-2 NIST.800-53.r5 IA-2 NIST.800-53.r5 IA-2 NIST.800-53.r5 IA-2
범주: 보호 > 보안 액세스 관리
심각도: 심각
리소스 유형: AWS::::Account
AWS Config 규칙: root-account-mfa-enabled
스케줄 유형: 주기적
파라미터: 없음
루트 사용자에게는 AWS 계정의 모든 서비스 및 리소스에 대한 완전한 액세스 권한을 갖습니다. MFA사용자 이름 및 암호 외에 추가 보호 계층을 추가합니다. MFA활성화된 경우 사용자가 에 로그인할 때 사용자 이름과 암호 AWS Management Console, AWS MFA 장치의 인증 코드를 입력하라는 메시지가 표시됩니다.
루트 사용자를 위해 가상을 사용하는 경우 MFA 개인용 장치가 아닌 CIS 것을 권장합니다. 대신에 모든 개인용 개별 디바이스에서 독립적으로 충전 및 보안 상태를 유지하도록 관리할 수 있는 전용 모바일 디바이스(태블릿 또는 전화)를 사용하세요. 이렇게 하면 장치 분실, 장치 보상 판매 또는 장치를 소유한 개인이 더 이상 회사에 근무하지 않는 경우 액세스 권한을 상실할 위험이 줄어듭니다. MFA
이제 Security Hub가 와 통합되었습니다
루트 MFA 사용자를 활성화하려면 AWS 계정 관리 참조 MFA가이드의 AWS 계정 루트 사용자 활성화를 참조하십시오.
[IAM.10] IAM 사용자에 대한 암호 정책은 엄격한 기준을 적용해야 합니다. AWS Config
관련 요구 사항: PCI DSS v3.2.1/8.1.4, v3.2.1/8.2.3, v3.2.1/8.2.4, v3.2.1/8.2.5 PCI DSS PCI DSS PCI DSS
범주: 보호 > 보안 액세스 관리
심각도: 중간
리소스 유형: AWS::::Account
AWS Config 규칙: iam-password-policy
스케줄 유형: 주기적
파라미터: 없음
이 컨트롤은 사용자의 계정 암호 정책이 다음과 같은 최소 구성을 사용하는지 여부를 IAM 확인합니다. PCI DSS
-
RequireUppercaseCharacters
– 암호에 대문자가 한 개 이상이어야 합니다. (기본값은true
) -
RequireLowercaseCharacters
– 암호에 소문자가 한 개 이상이어야 합니다. (기본값은true
) -
RequireNumbers
– 암호에 숫자가 한 개 이상이어야 합니다. (기본값은true
) -
MinimumPasswordLength
– 암호 최소 길이입니다. (기본값은 7 이상) -
PasswordReusePrevention
– 재사용을 허가받기까지 사용할 수 있는 암호 개수입니다. (기본값은 4) -
MaxPasswordAge — 비밀번호가 만료되기 전까지 남은 일수. (기본값은 90)
이제 Security Hub가 와 통합되었습니다
권장 구성을 사용하도록 암호 정책을 업데이트하려면 사용 설명서의 IAM 사용자 계정 암호 정책 설정을 참조하십시오. IAM
[IAM.11] IAM 암호 정책에 하나 이상의 대문자가 필요한지 확인하십시오.
관련 요구 사항: CIS AWS 파운데이션 벤치마크 v1.2.0/1.5
범주: 보호 > 보안 액세스 관리
심각도: 중간
리소스 유형: AWS::::Account
AWS Config 규칙: iam-password-policy
스케줄 유형: 주기적
파라미터: 없음
암호 정책은 부분적으로 암호 복잡성 요건을 강제합니다. IAM암호 정책을 사용하여 암호에 다른 문자 집합을 사용하도록 하십시오.
CIS암호 정책에 대문자를 하나 이상 사용하도록 권장합니다. 비밀번호 복잡성 정책을 설정하면 무차별 로그인 시도에 대한 계정 복원력이 향상됩니다.
이제 Security Hub가 와 통합되었습니다
암호 정책을 변경하려면 사용 설명서의 IAM사용자 계정 암호 정책 설정을 참조하십시오. IAM 비밀번호 강도에서 라틴 알파벳(A~Z) 중 하나 이상의 대문자 요구를 선택합니다.
[IAM.12] IAM 암호 정책에 최소 하나 이상의 소문자가 필요한지 확인하십시오.
관련 요구 사항: CIS AWS 파운데이션 벤치마크 v1.2.0/1.6
범주: 보호 > 보안 액세스 관리
심각도: 중간
리소스 유형: AWS::::Account
AWS Config 규칙: iam-password-policy
스케줄 유형: 주기적
파라미터: 없음
암호 정책은 부분적으로 암호 복잡성 요건을 강제합니다. IAM암호 정책을 사용하여 암호에 다른 문자 집합을 사용하도록 하십시오. CIS암호 정책에 최소 하나 이상의 소문자를 요구하는 것이 좋습니다. 비밀번호 복잡성 정책을 설정하면 무차별 로그인 시도에 대한 계정 복원력이 향상됩니다.
이제 Security Hub가 와 통합되었습니다
암호 정책을 변경하려면 사용 설명서의 IAM사용자 계정 암호 정책 설정을 참조하십시오. IAM 비밀번호 강도에서 라틴 알파벳(A~Z) 중 하나 이상의 소문자 요구를 선택합니다.
[IAM.13] IAM 암호 정책에 하나 이상의 기호가 필요한지 확인하십시오.
관련 요구 사항: CIS AWS 파운데이션 벤치마크 v1.2.0/1.7
범주: 보호 > 보안 액세스 관리
심각도: 중간
리소스 유형: AWS::::Account
AWS Config 규칙: iam-password-policy
스케줄 유형: 주기적
파라미터: 없음
암호 정책은 부분적으로 암호 복잡성 요건을 강제합니다. IAM암호 정책을 사용하여 암호에 다른 문자 집합을 사용하도록 하십시오.
CIS암호 정책에는 하나 이상의 기호가 필요할 것을 권장합니다. 비밀번호 복잡성 정책을 설정하면 무차별 로그인 시도에 대한 계정 복원력이 향상됩니다.
이제 Security Hub가 와 통합되었습니다
암호 정책을 변경하려면 사용 설명서의 IAM 사용자 계정 암호 정책 설정을 참조하십시오. IAM 비밀번호 강도에서 하나 이상의 영숫자가 아닌 문자 요구를 선택합니다.
[IAM.14] IAM 암호 정책에 최소 하나 이상의 숫자가 필요한지 확인하십시오.
관련 요구 사항: CIS AWS 파운데이션 벤치마크 v1.2.0/1.8
범주: 보호 > 보안 액세스 관리
심각도: 중간
리소스 유형: AWS::::Account
AWS Config 규칙: iam-password-policy
스케줄 유형: 주기적
파라미터: 없음
암호 정책은 부분적으로 암호 복잡성 요건을 강제합니다. IAM암호 정책을 사용하여 암호에 다른 문자 집합을 사용하도록 하십시오.
CIS암호 정책에 최소 하나 이상의 숫자를 요구할 것을 권장합니다. 비밀번호 복잡성 정책을 설정하면 무차별 로그인 시도에 대한 계정 복원력이 향상됩니다.
이제 Security Hub가 와 통합되었습니다
암호 정책을 변경하려면 IAM사용 설명서의 IAM사용자에 대한 계정 암호 정책 설정을 참조하십시오. 비밀번호 강도에서 하나 이상의 숫자 요구를 선택합니다.
[IAM.15] IAM 암호 정책에 최소 암호 길이가 14 이상이어야 하는지 확인하십시오.
관련 요구 사항: CIS AWS 파운데이션 벤치마크 v3.0.0/1.8, 파운데이션 벤치마크 v1.4.0/1.8, CIS AWS 파운데이션 벤치마크 v1.2.0/1.9 CIS AWS
범주: 보호 > 보안 액세스 관리
심각도: 중간
리소스 유형: AWS::::Account
AWS Config 규칙: iam-password-policy
스케줄 유형: 주기적
파라미터: 없음
암호 정책은 부분적으로 암호 복잡성 요건을 강제합니다. IAM암호 정책을 사용하여 암호가 지정된 길이 이상인지 확인하십시오.
CIS암호 정책에 최소 14자의 암호 길이를 요구하는 것이 좋습니다. 비밀번호 복잡성 정책을 설정하면 무차별 로그인 시도에 대한 계정 복원력이 향상됩니다.
이제 Security Hub가 와 통합되었습니다
암호 정책을 변경하려면 IAM사용 설명서의 IAM사용자에 대한 계정 암호 정책 설정을 참조하십시오. 비밀번호의 최소 길이에 14
또는 더 큰 숫자를 입력합니다.
[IAM.16] IAM 암호 정책이 암호 재사용을 방지하는지 확인하십시오.
관련 요구 사항: CIS AWS 파운데이션 벤치마크 v3.0.0/1.9, 파운데이션 벤치마크 v1.4.0/1.9, 파운데이션 벤치마크 v1.2.0/1.10 CIS AWS CIS AWS
범주: 보호 > 보안 액세스 관리
심각도: 낮음
리소스 유형: AWS::::Account
AWS Config 규칙: iam-password-policy
스케줄 유형: 주기적
파라미터: 없음
이 제어는 기억할 암호 수가 24개로 설정되어 있는지 확인합니다. 값이 24가 아니면 제어가 실패합니다.
IAM암호 정책은 동일한 사용자가 지정된 암호를 재사용하는 것을 방지할 수 있습니다.
CIS암호 정책에서 암호 재사용을 방지할 것을 권장합니다. 암호 재사용을 방지하면 무차별 로그인 시도에 대한 계정 복원력이 향상됩니다.
이제 Security Hub가 와 통합되었습니다
암호 정책을 변경하려면 IAM사용 설명서의 IAM 사용자에 대한 계정 암호 정책 설정을 참조하십시오. 비밀번호 재사용 방지에 24
를 입력합니다.
[IAM.17] IAM 암호 정책이 90일 이내에 암호가 만료되도록 하십시오.
관련 요구 사항: CIS AWS 파운데이션 벤치마크 v1.2.0/1.11
범주: 보호 > 보안 액세스 관리
심각도: 낮음
리소스 유형: AWS::::Account
AWS Config 규칙: iam-password-policy
스케줄 유형: 주기적
파라미터: 없음
IAM암호 정책에 따라 지정된 일수가 지나면 암호를 교체하거나 만료해야 할 수 있습니다.
CIS암호 정책에서는 90일 이내에 암호를 만료시킬 것을 권장합니다. 비밀번호 수명을 줄이면 무차별 로그인 시도에 대한 계정 복원력이 향상됩니다. 또한 정기적으로 비밀번호를 변경하도록 하면 다음과 같은 시나리오에 도움이 됩니다.
-
비밀번호는 지식이 없어도 도용하거나 침해할 수 있습니다. 이러한 일은 시스템 침해, 소프트웨어 취약점 또는 인터넷 위협을 통해 발생합니다.
-
암호화된 트래픽이라도 특정 기업 및 정부 웹 필터 또는 프록시 서버가 가로채 기록할 수 있습니다.
-
많은 사람들은 업무, 이메일, 개인 용도로 여러 시스템에 동일한 비밀번호를 사용합니다.
-
침해된 최종 사용자 워크스테이션에는 키 입력 로거가 있을 수 있습니다.
이제 Security Hub가 와 통합되었습니다
암호 정책을 변경하려면 IAM사용 설명서의 IAM 사용자에 대한 계정 암호 정책 설정을 참조하십시오. 비밀번호 만료 활성화에 90
또는 더 작은 숫자를 입력하십시오.
[IAM.18] 다음과 같은 사고를 관리할 지원 역할이 생성되었는지 확인하십시오. AWS Support
관련 요구 사항: CIS AWS 재단 벤치마크 v3.0.0/1.17, 재단 벤치마크 v1.4.0/1.17, 재단 벤치마크 v1.2.0/1.20 CIS AWS CIS AWS
범주: 보호 > 보안 액세스 관리
심각도: 낮음
리소스 유형: AWS::::Account
AWS Config 규칙: iam-policy-in-use
스케줄 유형: 주기적
파라미터:
policyARN
:arn:
(사용자 지정할 수 없음)partition
:iam::aws:policy/AWSSupportAccesspolicyUsageType
:ANY
(사용자 지정할 수 없음)
AWS 사고 알림 및 대응은 물론 기술 지원 및 고객 서비스에 사용할 수 있는 지원 센터를 제공합니다.
권한을 부여받은 사용자가 AWS Support에서 인시던트를 관리할 수 있도록 허용하는 IAM 역할을 생성하세요. 액세스 제어를 위한 최소 권한을 구현하는 IAM 역할에는 인시던트를 관리하기 위한 지원 센터 액세스를 허용하는 적절한 IAM 정책이 필요합니다. AWS Support
참고
AWS Config Security Hub를 사용하는 모든 지역에서 활성화되어야 합니다. 그러나 단일 리전에서는 글로벌 리소스 기록을 활성화할 수 있습니다. 단일 리전에서만 글로벌 리소스를 기록하는 경우 글로벌 리소스를 기록하는 리전을 제외한 모든 리전에서 이 제어를 비활성화할 수 있습니다.
이제 Security Hub가 와 통합되었습니다
이 문제를 해결하려면 권한이 있는 사용자가 AWS Support 인시던트를 관리할 수 있도록 허용하는 역할을 생성합니다.
AWS Support 액세스에 사용할 역할을 만들려면
에서 IAM 콘솔을 엽니다 https://console.aws.amazon.com/iam/
. -
IAM탐색 창에서 역할을 선택한 다음 역할 생성을 선택합니다.
-
역할 유형에서 다른 AWS 계정을 선택합니다.
-
계정 ID에는 리소스에 대한 액세스 권한을 AWS 계정 부여하려는 AWS 계정 ID의 ID를 입력합니다.
이 역할을 수임할 사용자 또는 그룹이 동일한 계정에 있는 경우 로컬 계정 번호를 입력합니다.
참고
지정된 계정의 관리자는 해당 계정의 모든 사용자에게 이 역할을 맡을 수 있는 권한을 부여할 수 있습니다. 이를 위해 관리자는
sts:AssumeRole
작업에 대한 권한을 부여하는 정책을 사용자나 그룹에 연결합니다. 이 정책에서는 리소스가 역할이어야 합니다ARN. -
다음: 권한을 선택합니다.
-
관리형 정책
AWSSupportAccess
를 검색합니다. -
AWSSupportAccess
관리형 정책의 확인란을 선택합니다. -
다음: 태그를 선택합니다.
-
(선택 사항) 역할에 메타데이터를 추가하려면 태그를 키-값 쌍으로 연결합니다.
에서 IAM 태그를 사용하는 방법에 대한 자세한 내용은 사용 설명서의 IAM IAM 사용자 및 역할 태그 지정을 참조하십시오.
-
다음: 검토를 선택합니다.
-
역할 이름에 역할의 이름을 입력합니다.
역할 이름은 사용자 AWS 계정내에서 고유해야 합니다. 이메일은 대소문자를 구분하지 않습니다.
-
(선택 사항) 역할 설명에 새 역할에 대한 설명을 입력합니다.
-
역할을 검토한 후 역할 생성을 선택합니다.
[IAM.19] 는 모든 IAM 사용자가 사용할 수 있도록 MFA 설정해야 합니다.
관련 요구 사항: PCI DSS v3.2.1/8.3.1, NIST.800-53.r5 AC-2 (1), (15), NIST.800-53.r5 AC-3 (1), NIST.800-53.r5 IA-2 (2), NIST.800-53.r5 IA-2 (6), NIST.800-53.r5 IA-2 (8) NIST.800-53.r5 IA-2
범주: 보호 > 보안 액세스 관리
심각도: 중간
리소스 유형: AWS::IAM::User
AWS Config 규칙: iam-user-mfa-enabled
스케줄 유형: 주기적
파라미터: 없음
이 컨트롤은 IAM 사용자에게 다단계 인증 () 이 활성화되어 있는지 확인합니다. MFA
참고
AWS Config Security Hub를 사용하는 모든 지역에서 활성화되어야 합니다. 그러나 단일 리전에서는 글로벌 리소스 기록을 활성화할 수 있습니다. 단일 리전에서만 글로벌 리소스를 기록하는 경우 글로벌 리소스를 기록하는 리전을 제외한 모든 리전에서 이 제어를 비활성화할 수 있습니다.
이제 Security Hub가 와 통합되었습니다
IAM사용자를 추가하려면 MFA 사용 설명서의 IAM사용자를 위한 MFA 장치 활성화를 참조하십시오. AWS
[IAM.20] 루트 사용자의 사용을 피하세요
중요
Security Hub는 2024년 4월에 이 제어를 폐기했습니다. 자세한 내용은 Security Hub 제어 기능의 변경 로그 단원을 참조하십시오.
관련 요구 사항: CIS AWS 재단 벤치마크 v1.2.0/1.1
범주: 보호 > 보안 액세스 관리
심각도: 낮음
리소스 유형: AWS::IAM::User
AWS Config 규칙: use-of-root-account-test
(사용자 지정 Security Hub 규칙)
스케줄 유형: 주기적
파라미터: 없음
이 컨트롤은 루트 사용자의 사용에 AWS 계정 제한이 있는지 여부를 확인합니다. 이 제어는 다음 리소스를 평가합니다.
아마존 심플 알림 서비스 (아마존SNS) 주제
AWS CloudTrail 트레일
트레일과 관련된 메트릭 필터 CloudTrail
필터 기반 Amazon CloudWatch 알람
다음 문 중 하나 이상이 참인 경우 이 검사는 FAILED
결과가 됩니다.
계정에는 CloudTrail 트레일이 없습니다.
CloudTrail 트레일이 활성화되었지만 읽기 및 쓰기 관리 이벤트가 포함된 멀티 리전 트레일이 하나 이상 포함되도록 구성되지는 않았습니다.
CloudTrail 트레일은 활성화되지만 로그 CloudWatch 로그 그룹과 연결되지는 않습니다.
인터넷 보안 센터 (CIS) 에서 규정한 정확한 지표 필터는 사용되지 않습니다. 규정된 지표 필터는
'{$.userIdentity.type="Root" && $.userIdentity.invokedBy NOT EXISTS && $.eventType !="AwsServiceEvent"}'
입니다.계정에는 메트릭 필터를 기반으로 하는 CloudWatch 경보가 없습니다.
CloudWatch 관련 SNS 주제에 알림을 보내도록 구성된 경보는 경보 조건에 따라 트리거되지 않습니다.
SNS주제가 주제에 메시지를 보내기 위한 제약 조건을 준수하지 않습니다. SNS
SNS주제에 구독자가 한 명 이상 없습니다.
다음 문 중 하나 이상이 참인 경우 이 검사를 통해 제어 상태는 NO_DATA
이 됩니다.
다중 리전 추적은 다른 리전을 기반으로 합니다. Security Hub는 추적의 기반이 되는 리전에서만 조사 결과를 생성할 수 있습니다.
다중 리전 추적은 다른 계정에 속합니다. Security Hub는 추적을 소유한 계정에 대한 조사 결과만 생성할 수 있습니다.
다음 문 중 하나 이상이 참인 경우 이 검사를 통해 제어 상태는 WARNING
이 됩니다.
현재 계정은 알람에 언급된 SNS 주제를 소유하지 않습니다. CloudWatch
현재 계정은 를 호출할 때 SNS 주제에 대한 액세스 권한이 없습니다.
ListSubscriptionsByTopic
SNS API
참고
조직 추적을 사용하여 조직 내 여러 계정의 이벤트를 기록하는 것이 좋습니다. 조직 트레일은 기본적으로 다중 지역 트레일이며 AWS Organizations 관리 계정 또는 위임된 관리자 계정으로만 관리할 수 있습니다. CloudTrail 조직 트레일을 사용하면 조직 구성원 계정에서 평가된 제어 항목의 제어 상태가 DATA NO_가 됩니다. 구성원 계정에서 Security Hub는 구성원 소유 리소스에 대한 조사 결과만 생성합니다. 조직 추적과 관련된 조사 결과는 리소스 소유자 계정에서 생성됩니다. 크로스 리전 집계 활성화를 통해 Security Hub 위임 관리자 계정에서 이러한 조사 결과를 확인할 수 있습니다.
계정 및 서비스 관리 작업 수행에 필요한 경우에만 루트 사용자 보안 인증 정보를 사용하는 것이 가장 좋습니다. IAM정책을 그룹 및 역할에는 직접 적용하지만 사용자에게는 적용하지 마십시오. 매일 사용할 관리자를 설정하는 방법에 대한 지침은 사용 설명서의 첫 번째 IAM 관리자 및 그룹 만들기를 IAM 참조하십시오.
이제 Security Hub가 와 통합되었습니다
이 문제를 해결하는 단계에는 Amazon SNS 주제, CloudTrail 트레일, 지표 필터 및 지표 필터에 대한 경보 설정이 포함됩니다.
Amazon SNS 주제를 생성하려면
https://console.aws.amazon.com/sns/v3/home에서
아마존 SNS 콘솔을 엽니다. -
모든 CIS 경보를 수신하는 Amazon SNS 주제를 생성하십시오.
이 주제에 대해 하나 이상의 구독자를 생성합니다. 자세한 내용은 Amazon 단순 알림 서비스 개발자 안내서의 Amazon SNS 시작하기를 참조하십시오.
다음으로, 모든 지역에 CloudTrail 적용되는 액티브를 설정하십시오. 이렇게 하려면 [CloudTrail.1] 은 읽기 및 쓰기 관리 이벤트가 포함된 다중 지역 트레일을 하나 이상 사용하여 활성화하고 CloudTrail 구성해야 합니다.의 문제 해결 절차를 따르세요.
CloudTrail 트레일에 연결하는 로그 CloudWatch 로그 그룹의 이름을 기록해 둡니다. 로그 그룹에 대한 지표 필터를 생성합니다.
마지막으로 지표 필터와 경보를 생성합니다.
지표 필터 및 경보를 생성하려면
에서 CloudWatch 콘솔을 https://console.aws.amazon.com/cloudwatch/
여십시오. -
탐색 창에서 로그 그룹을 선택합니다.
-
생성한 CloudTrail 트레일과 연결된 CloudWatch 로그 로그 그룹의 확인란을 선택합니다.
-
작업에서 지표 필터 생성을 선택합니다.
-
패턴 정의에 대해 다음을 수행합니다.
-
다음 패턴을 복사하여 필터 패턴 필드에 붙여 넣습니다.
{$.userIdentity.type="Root" && $.userIdentity.invokedBy NOT EXISTS && $.eventType !="AwsServiceEvent"}
-
다음을 선택합니다.
-
-
지표 할당에서 다음 작업을 수행합니다.
-
필터 이름에 지표 필터의 이름을 입력합니다.
-
지표 네임스페이스에
LogMetrics
를 입력합니다.모든 CIS 로그 지표 필터에 동일한 네임스페이스를 사용하면 모든 CIS 벤치마크 지표가 함께 그룹화됩니다.
-
지표 이름에 지표의 이름을 입력합니다. 지표의 이름을 기억하십시오. 경보를 만들 때 지표를 선택해야 합니다.
-
지표 값에
1
를 입력합니다. -
다음을 선택합니다.
-
-
검토 및 생성에서 새 지표 필터에 대해 제공한 정보를 확인합니다. 그런 다음 지표 필터 생성을 선택합니다.
-
탐색 창에서 로그 그룹을 선택한 다음 지표 필터에서 생성한 필터를 선택합니다.
-
필터 확인란을 선택합니다. 경보 생성을 선택하십시오.
-
지표 및 조건 지정에서 다음을 수행합니다.
-
조건의 임계값에서 정적을 선택합니다.
-
경보 조건 정의에서 크거나/같음을 선택합니다.
-
임계값 정의에는
1
을 입력합니다. -
다음을 선택합니다.
-
-
작업 구성에서 다음 작업을 수행합니다.
-
경보 상태 트리거에서 경보를 선택합니다.
-
주제 선택에서 기존 SNS 주제 선택을 선택합니다. SNS
-
알림 보내기 대상에는 이전 절차에서 만든 SNS 주제의 이름을 입력합니다.
-
Next(다음)를 선택합니다.
-
-
이름 및 설명 추가에서 경보에 대한 이름 및 설명을 입력합니다(예:
CIS-1.1-RootAccountUsage
). 다음을 선택합니다. -
미리 보기 및 생성에서 경보 구성을 검토하십시오. 그런 다음 경보 생성을 선택합니다.
[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 ID 기반 정책에* 와일드카드를 사용하여 서비스의 모든 작업에 대한 권한을 부여하는 Allow 문이 있는지 확인합니다. 정책 문에 "Effect": "Allow"
과 "Action": "Service:*"
가 포함된 경우 제어가 실패합니다.
예를 들어 정책의 다음 문으로 인해 결과가 실패합니다.
"Statement": [ { "Sid": "EC2-Wildcard", "Effect": "Allow", "Action": "ec2:*", "Resource": "*" }
"Effect": "Allow"
와 "NotAction":
"
를 함께 사용하는 경우에도 제어가 실패합니다. 이 경우 service
:*"NotAction
요소는 에서 지정한 작업을 제외한 모든 작업에 대한 액세스를 제공합니다. AWS 서비스NotAction
이 제어는 고객 관리형 IAM 정책에만 적용됩니다. 에서 관리하는 IAM 정책에는 적용되지 않습니다 AWS.
에 권한을 할당할 AWS 서비스때는 IAM 정책에서 허용되는 IAM 작업의 범위를 정하는 것이 중요합니다. 필요한 작업으로만 IAM 작업을 제한해야 합니다. 이렇게 하면 최소 권한 권한을 프로비저닝할 수 있습니다. 정책이 지나치게 허용되면 권한이 필요하지 않을 수 있는 IAM 보안 주체에 정책이 연결된 경우 권한 상승으로 이어질 수 있습니다.
비슷한 접두사가 붙은 IAM 작업 (예: 및) 을 허용해야 하는 경우도 있습니다. DescribeFlowLogs
DescribeAvailabilityZones
이러한 승인된 경우에는 접미사가 붙은 와일드카드를 일반 접두사에 추가할 수 있습니다. 예: ec2:Describe*
.
접두사가 붙은 와일드카드와 함께 접두사가 붙은 IAM 액션을 사용하면 이 컨트롤이 통과합니다. 예를 들어, 정책의 다음 문은 결과 통과로 이어집니다.
"Statement": [ { "Sid": "EC2-Wildcard", "Effect": "Allow", "Action": "ec2:Describe*", "Resource": "*" }
이러한 방식으로 관련 IAM 작업을 그룹화하면 정책 크기 제한을 초과하지 않을 수도 있습니다. IAM
참고
AWS Config Security Hub를 사용하는 모든 지역에서 활성화되어야 합니다. 그러나 단일 리전에서는 글로벌 리소스 기록을 활성화할 수 있습니다. 단일 리전에서만 글로벌 리소스를 기록하는 경우 글로벌 리소스를 기록하는 리전을 제외한 모든 리전에서 이 제어를 비활성화할 수 있습니다.
이제 Security Hub가 와 통합되었습니다
이 문제를 해결하려면 전체 “*” 관리 권한이 허용되지 않도록 IAM 정책을 업데이트하십시오. IAM정책을 편집하는 방법에 대한 자세한 내용은 IAM사용 설명서의 IAM 정책 편집을 참조하십시오.
[IAM.22] 45일 동안 사용하지 않은 IAM 사용자 자격 증명은 제거해야 합니다.
관련 요구 사항: CIS AWS 파운데이션 벤치마크 v3.0.0/1.12, 파운데이션 벤치마크 v1.4.0/1.12 CIS AWS
범주: 보호 > 보안 액세스 관리
심각도: 중간
리소스 유형: AWS::IAM::User
AWS Config 규칙: iam-user-unused-credentials-check
스케줄 유형: 주기적
파라미터: 없음
이 컨트롤은 IAM 사용자가 45일 이상 사용하지 않은 암호 또는 활성 액세스 키를 가지고 있는지 확인합니다. 이를 위해 AWS Config 규칙의 maxCredentialUsageAge
매개 변수가 45 이상인지 확인합니다.
사용자는 암호 또는 액세스 키와 같은 다양한 유형의 자격 증명을 사용하여 AWS 리소스에 액세스할 수 있습니다.
CIS45일 이상 사용하지 않은 모든 자격 증명을 제거하거나 비활성화할 것을 권장합니다. 불필요한 보안 인증을 비활성화하거나 제거하면 침해되거나 버려진 계정과 연결된 보안 인증이 사용될 가능성이 줄어듭니다.
이 컨트롤의 AWS Config 규칙은 4시간마다만 업데이트되는 GetCredentialReport
및 GenerateCredentialReport
API작업을 사용합니다. IAM사용자에 대한 변경 사항이 이 컨트롤에 표시되려면 최대 4시간이 걸릴 수 있습니다.
참고
AWS Config Security Hub를 사용하는 모든 지역에서 활성화되어야 합니다. 그러나 단일 리전에서 글로벌 리소스 기록을 활성화할 수 있습니다. 단일 리전에서만 글로벌 리소스를 기록하는 경우 글로벌 리소스를 기록하는 리전을 제외한 모든 리전에서 이 제어를 비활성화할 수 있습니다.
이제 Security Hub가 와 통합되었습니다
IAM콘솔에서 사용자 정보를 볼 때 액세스 키 사용 기간, 암호 사용 기간 및 마지막 활동 열이 표시됩니다. 이 열 중 어느 하나라도 값이 45일보다 큰 경우 해당 사용자의 보안 인증을 비활성화하십시오.
또한 보안 인증 보고서를 사용해 사용자를 모니터링하고 45일 이상 활동이 없는 사용자를 식별할 수 있습니다. IAM콘솔에서 자격 증명 보고서를 .csv
형식으로 다운로드할 수 있습니다.
비활성 계정이나 사용하지 않는 보안 인증 정보를 식별한 후에는 비활성화하십시오. 지침은 사용 설명서의 IAM사용자 암호 (콘솔) 생성, 변경 또는 삭제를 참조하십시오. IAM
[IAM.23] IAM 액세스 분석기는 태그를 지정해야 합니다.
범주: 식별 > 인벤토리 > 태깅
심각도: 낮음
리소스 유형: 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 (IAMAccess Analyzer) 에서 관리하는 분석기에 매개 변수에 정의된 특정 키가 포함된 태그가 있는지 확인합니다. requiredTagKeys
분석기에 태그 키가 없거나 매개 변수에 지정된 모든 키가 없는 경우 제어가 실패합니다. requiredTagKeys
파라미터가 제공되지 requiredTagKeys
않은 경우 컨트롤은 태그 키의 존재 여부만 확인하고 분석기에 키 태그가 지정되지 않으면 실패합니다. 자동으로 적용되고 로 aws:
시작되는 시스템 태그는 무시됩니다.
태그는 AWS 리소스에 할당하는 레이블이며 키와 선택적 값으로 구성됩니다. 태그를 생성하여 용도, 소유자, 환경 또는 기타 기준으로 리소스를 분류할 수 있습니다. 태그를 사용하면 리소스를 식별, 구성, 검색 및 필터링할 수 있습니다. 또한 태그를 지정하면 작업 및 알림에 대한 책임 있는 리소스 소유자를 추적할 수 있습니다. 태그 지정을 사용하면 태그를 기반으로 권한을 정의하는 권한 부여 전략으로 속성 기반 액세스 제어 (ABAC) 를 구현할 수 있습니다. IAM엔티티 (사용자 또는 역할) 및 리소스에 태그를 첨부할 수 있습니다. AWS 보안 주체에 대해 단일 ABAC 정책 또는 별도의 정책 세트를 만들 수 IAM 있습니다. 보안 주체의 태그가 리소스 태그와 일치할 때 작업을 허용하도록 이러한 ABAC 정책을 설계할 수 있습니다. 자세한 ABAC내용은 용도를 참조하십시오 AWS. IAM사용 설명서에서
참고
태그에 개인 식별 정보 (PII) 또는 기타 기밀 또는 민감한 정보를 추가하지 마십시오. 태그를 AWS 서비스포함한 많은 사람들이 태그에 액세스할 수 있습니다. AWS Billing태그 지정 모범 사례에 대한 자세한 내용은 에서 AWS 리소스 태그 지정을 참조하십시오. AWS 일반 참조
이제 Security Hub가 와 통합되었습니다
분석기에 태그를 추가하려면 AWS IAM액세스 분석기 참조를 참조하십시오 TagResource. 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 보안 주체에 대해 단일 ABAC 정책 또는 별도의 정책 세트를 만들 수 IAM 있습니다. 보안 주체의 태그가 리소스 태그와 일치할 때 작업을 허용하도록 이러한 ABAC 정책을 설계할 수 있습니다. 자세한 ABAC내용은 용도를 참조하십시오 AWS. IAM사용 설명서에서
참고
태그에 개인 식별 정보 (PII) 또는 기타 기밀 또는 민감한 정보를 추가하지 마십시오. 태그를 AWS 서비스포함한 많은 사람들이 태그에 액세스할 수 있습니다. AWS Billing태그 지정 모범 사례에 대한 자세한 내용은 에서 AWS 리소스 태그 지정을 참조하십시오. AWS 일반 참조
이제 Security Hub가 와 통합되었습니다
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 보안 주체에 대해 단일 ABAC 정책 또는 별도의 정책 세트를 만들 수 IAM 있습니다. 보안 주체의 태그가 리소스 태그와 일치할 때 작업을 허용하도록 이러한 ABAC 정책을 설계할 수 있습니다. 자세한 ABAC내용은 용도를 참조하십시오 AWS. IAM사용 설명서에서
참고
태그에 개인 식별 정보 (PII) 또는 기타 기밀 또는 민감한 정보를 추가하지 마십시오. 태그를 AWS 서비스포함한 많은 사람들이 태그에 액세스할 수 있습니다. AWS Billing태그 지정 모범 사례에 대한 자세한 내용은 에서 AWS 리소스 태그 지정을 참조하십시오. AWS 일반 참조
이제 Security Hub가 와 통합되었습니다
IAM사용자에게 태그를 추가하려면 사용 설명서의 IAM리소스 태그 지정을 참조하십시오. IAM
[IAM.26] SSL 만료된/에서 IAM 관리하는 TLS 인증서는 제거해야 합니다.
관련 요구 사항: CIS AWS 파운데이션 벤치마크 v3.0.0/1.19
카테고리: 식별 > 규정 준수
심각도: 중간
리소스 유형: AWS::IAM::ServerCertificate
AWS Config 규칙: iam-server-certificate-expiration-check
스케줄 유형: 주기적
파라미터: 없음
이 컨트롤은 에서 관리하는 SSL TLS 활성/서버 인증서가 IAM 만료되었는지 여부를 확인합니다. 만료된SSL/TLS서버 인증서를 제거하지 않으면 제어가 실패합니다.
에서 AWS웹 사이트 또는 애플리케이션에 HTTPS 연결할 수 있게 하려면SSL/TLS서버 인증서가 필요합니다. IAMor AWS Certificate Manager (ACM) 를 사용하여 서버 인증서를 저장하고 배포할 수 있습니다. 에서 지원하지 않는 HTTPS 연결을 지원해야 AWS 리전 하는 경우에만 인증서 IAM 관리자로 사용하십시오ACM. IAM개인 키를 안전하게 암호화하고 암호화된 버전을 IAM SSL 인증서 저장소에 저장합니다. IAM모든 지역에 서버 인증서 배포를 지원하지만 함께 사용하려면 외부 공급자로부터 인증서를 받아야 합니다. AWS에는 ACM 인증서를 업로드할 수 없습니다. IAM 또한 IAM 콘솔에서는 인증서를 관리할 수 없습니다. 만료된SSL/TLS인증서를 제거하면 잘못된 인증서가 실수로 리소스에 배포되어 기본 응용 프로그램이나 웹 사이트의 신뢰성이 손상될 위험이 없어집니다.
이제 Security Hub가 와 통합되었습니다
에서 IAM 서버 인증서를 제거하려면 IAM사용 설명서의 서버 인증서 관리를 참조하십시오. IAM
[IAM.27] IAM ID에는 정책이 첨부되어 있지 않아야 합니다. AWSCloudShellFullAccess
관련 요구 사항: CIS AWS 재단 벤치마크 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/, arn:aws-cn:iam: :aws:policy/, arn ::iam: :aws:policy/AWSCloudShellFullAccess” AWSCloudShellFullAccess aws-us-gov AWSCloudShellFullAccess
이 컨트롤은 ID (사용자, 역할 또는 그룹) 에 관리형 정책이 연결되어 있는지 확인합니다. IAM AWS AWSCloudShellFullAccess
IAMID에 AWSCloudShellFullAccess
정책이 연결된 경우 제어가 실패합니다.
AWS CloudShell CLI명령을 실행할 수 있는 편리한 방법을 제공합니다 AWS 서비스. AWS 관리형 정책은 사용자의 로컬 시스템과 CloudShell 환경 간에 파일 업로드 및 다운로드 기능을 허용하는 전체 액세스 권한을 AWSCloudShellFullAccess
제공합니다. CloudShell CloudShell 환경 내에서 사용자는 sudo 권한을 가지며 인터넷에 액세스할 수 있습니다. 따라서 이 관리형 정책을 IAM ID에 연결하면 파일 전송 소프트웨어를 설치하고 외부 인터넷 CloudShell 서버로 데이터를 이동할 수 있습니다. 최소 권한 원칙을 따르고 ID에 더 좁은 권한을 부여하는 것이 좋습니다. IAM
이제 Security Hub가 와 통합되었습니다
AWSCloudShellFullAccess
정책을 ID에서 분리하려면 사용 설명서의 IAM IAMID 권한 추가 및 제거를 참조하십시오. IAM
[IAM.28] IAM 액세스 분석기 외부 액세스 분석기를 활성화해야 합니다.
관련 요구 사항: CIS AWS 파운데이션 벤치마크 v3.0.0/1.20
카테고리: 탐지 > 탐지 서비스 > 권한 있는 사용 모니터링
심각도: 높음
리소스 유형: AWS::AccessAnalyzer::Analyzer
AWS Config 규칙: iam-external-access-analyzer-enabled
스케줄 유형: 주기적
파라미터: 없음
이 AWS 계정 컨트롤은 IAM 액세스 분석기 외부 액세스 분석기가 활성화되어 있는지 확인합니다. 현재 선택한 계정에 외부 액세스 분석기가 활성화되어 있지 않으면 제어가 실패합니다. AWS 리전
IAM액세스 분석기 외부 액세스 분석기는 Amazon Simple Storage Service (Amazon S3) 버킷 또는 IAM 역할과 같이 외부 엔티티와 공유되는 조직 및 계정의 리소스를 식별하는 데 도움이 됩니다. 이렇게 하면 리소스 및 데이터에 대한 의도하지 않은 액세스를 방지할 수 있습니다. IAMAccess Analyzer는 지역적이므로 각 지역에서 활성화해야 합니다. 외부 주체와 공유되는 리소스를 식별하기 위해 액세스 분석기는 로직 기반 추론을 사용하여 사용자 환경의 리소스 기반 정책을 분석합니다. AWS 외부 액세스 분석기를 활성화하면 전체 조직 또는 계정에 대한 분석기가 만들어집니다.
이제 Security Hub가 와 통합되었습니다
특정 지역에서 외부 액세스 분석기를 활성화하려면 사용 설명서의 IAM액세스 분석기 활성화를 참조하십시오. IAM 리소스에 대한 액세스를 모니터링하려는 각 지역에서 분석기를 활성화해야 합니다.