기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon ElastiCache Well-Architected Lens Security Pillar
보안 요소는 정보 및 시스템 보호에 중점을 둡니다. 주요 주제로는 데이터의 기밀성 및 무결성, 권한 기반의 관리를 통해 누가 무엇을 할 수 있는지 식별 및 관리하기, 시스템 보호하기, 보안 이벤트 탐지를 위한 제어 설정하기 등이 있습니다.
주제
- SEC 1: ElastiCache 데이터에 대한 권한 있는 액세스를 제어하기 위해 어떤 조치를 취하고 있습니까?
- SEC 2: 애플리케이션이 네트워킹 기반 제어 이상의 제어에 ElastiCache 대한 추가 권한이 필요합니까?
- SEC 3: 명령이 실수로 실행되어 데이터 손실 또는 장애가 발생할 위험이 있나요?
- SEC 4: 저장 데이터 암호화를 확인하려면 어떻게 해야 합니까? ElastiCache
- SEC 5: 를 사용하여 전송 중 데이터를 암호화하려면 어떻게 해야 하나요 ElastiCache?
- SEC 6: 제어 영역 리소스에 대한 액세스를 어떻게 제한합니까?
- SEC 7: 보안 이벤트를 어떻게 탐지하고 대응하나요?
SEC 1: ElastiCache 데이터에 대한 권한 있는 액세스를 제어하기 위해 어떤 조치를 취하고 있습니까?
질문 수준 소개: 모든 ElastiCache 클러스터는 VPC, 서버리스 함수(AWS Lambda) 또는 컨테이너(Amazon Elastic Container Service)의 Amazon Elastic Compute Cloud 인스턴스에서 액세스하도록 설계되었습니다. 가장 많이 발생하는 시나리오는 동일한 Amazon Virtual Private Cloud(Amazon Virtual Private Cloud ) 내의 Amazon Elastic Compute Cloud 인스턴스에서 ElastiCache 클러스터에 액세스하는 것입니다. Amazon EC2 인스턴스에서 클러스터에 연결하려면 먼저 Amazon EC2 인스턴스가 클러스터에 액세스할 수 있도록 권한을 부여해야 합니다. 에서 실행되는 ElastiCache 클러스터에 액세스하려면 클러스터에 네트워크 수신을 부여VPC해야 합니다.
질문 수준의 이점: 클러스터로의 네트워크 수신은 VPC 보안 그룹을 통해 제어됩니다. 보안 그룹은 Amazon EC2 인스턴스가 수신 및 발신 트래픽을 제어할 수 있는 가상 방화벽 역할을 합니다. 인바운드 규칙은 인스턴스로 들어오는 트래픽을 제어하고 아웃바운드 규칙은 인스턴스에서 나가는 트래픽을 제어합니다. 의 경우 클러스터를 시작할 ElastiCache때 보안 그룹을 연결해야 합니다. 이렇게 하면 클러스터를 구성하는 모든 노드에 대해 인바운드 및 아웃바운드 트래픽 규칙이 적용됩니다. 또한 ElastiCache 는 VPC의 프라이빗 네트워킹을 통해서만 액세스할 수 있도록 프라이빗 서브넷에만 배포하도록 구성되어 있습니다.
-
[필수] 클러스터와 연결된 보안 그룹은 클러스터에 대한 네트워크 수신 및 액세스를 제어합니다. 기본적으로 보안 그룹에는 인바운드 규칙이 정의되지 않으므로 에 대한 수신 경로가 없습니다 ElastiCache. 이를 활성화하려면 소스 IP 주소/범위를 지정하는 보안 그룹에 인바운드 규칙을 구성하고 트래픽과 ElastiCache 클러스터의 포트를 TCP 입력합니다(예: ElastiCache (Redis OSS)의 기본 포트 6379). VPC (0.0.0.0/0) 내의 모든 리소스와 같이 매우 광범위한 수신 소스를 허용하는 것이 가능하지만, 특정 보안 그룹과 연결된 Amazon EC2 인스턴스에서 실행되는 Valkey 또는 Redis OSS 클라이언트에 대한 인바운드 액세스 권한 부여와 같은 인바운드 규칙을 정의할 때는 최대한 세분화하는 것이 좋습니다.
[리소스]:
-
[필수] AWS Identity and Access Management 정책을 AWS Lambda 함수에 할당하여 ElastiCache 데이터에 액세스할 수 있습니다. 이 기능을 활성화하려면
AWSLambdaVPCAccessExecutionRole
권한으로 IAM 실행 역할을 생성한 다음 AWS Lambda 함수에 역할을 할당합니다.[리소스]: Amazon ElastiCache 에서 Amazon에 액세스하도록 Lambda 함수 구성VPC: 자습서: Amazon ElastiCache 에서 Amazon에 액세스하도록 Lambda 함수 구성 VPC
SEC 2: 애플리케이션이 네트워킹 기반 제어 이상의 제어에 ElastiCache 대한 추가 권한이 필요합니까?
질문 수준 소개: 개별 클라이언트 수준에서 ElastiCache (Redis OSS) 클러스터에 대한 액세스를 제한하거나 제어해야 하는 시나리오에서는 ElastiCache (Redis OSS) AUTH 명령을 통해 인증하는 것이 좋습니다. ElastiCache (Redis OSS) 인증 토큰은 선택적 사용자 및 사용자 그룹 관리를 통해 클라이언트가 명령 및 액세스 키를 실행하도록 허용하기 전에 ElastiCache (Redis OSS)에 암호가 필요하도록 활성화하여 데이터 영역 보안을 개선합니다.
질문 수준의 이점: 데이터를 안전하게 유지하기 위해 ElastiCache (Redis OSS)는 데이터의 무단 액세스로부터 보호하는 메커니즘을 제공합니다. 여기에는 권한 있는 명령을 수행하기 ElastiCache 전에 클라이언트가 에 연결하는 데 사용할 역할 기반 액세스 제어(RBAC) AUTH또는 AUTH 토큰(암호)을 적용하는 것이 포함됩니다.
-
[Best] ElastiCache (Redis OSS) 6.x 이상의 경우 사용자 그룹, 사용자 및 액세스 문자열을 정의하여 인증 및 권한 부여 제어를 정의합니다. 사용자를 사용자 그룹에 할당한 다음, 클러스터에 사용자 그룹을 할당합니다. 를 사용하려면 클러스터 생성 시 RBAC를 선택하고 전송 중 암호화를 활성화해야 합니다. 가 를 활용할 수 TLS 있도록 지원하는 Valkey 또는 Redis OSS 클라이언트를 사용하고 있는지 확인합니다RBAC.
[리소스]:
-
[Best] 6.x 이전 ElastiCache (Redis OSS) 버전의 경우 강력한 토큰/암호를 설정하고 ElastiCache (Redis OSS) 에 대한 엄격한 암호 정책을 유지하는 것 외에도 암호/토큰을 교체하는 AUTH것이 좋습니다. 는 언제든지 최대 두(2) 개의 인증 토큰을 관리할 ElastiCache 수 있습니다. 인증 토큰 사용을 명시적으로 요구하도록 클러스터를 수정할 수도 있습니다.
SEC 3: 명령이 실수로 실행되어 데이터 손실 또는 장애가 발생할 위험이 있나요?
질문 수준 소개: 실수로 실행되거나 악의적인 공격자가 실행할 경우 작업에 부정적인 영향을 미칠 수 있는 Valkey 또는 Redis OSS 명령이 많이 있습니다. 이러한 명령은 성능 및 데이터 안전 관점에서 의도하지 않은 결과를 초래할 수 있습니다. 예를 들어 개발자는 FLUSHALL 개발 환경에서 명령을 정기적으로 호출할 수 있으며 실수로 인해 프로덕션 시스템에서 이 명령을 호출하려고 실수로 시도하여 실수로 데이터가 손실될 수 있습니다.
질문 수준 이점: ElastiCache (Redis OSS) 5.0.3부터 워크로드에 지장을 줄 수 있는 특정 명령의 이름을 바꿀 수 있습니다. 명령의 이름을 바꾸면 클러스터에서 실수로 명령이 실행되는 것을 방지할 수 있습니다.
-
[필수]
[리소스]:
SEC 4: 저장 데이터 암호화를 확인하려면 어떻게 해야 합니까? ElastiCache
질문 수준 소개: ElastiCache (Redis OSS)는 인 메모리 데이터 스토어이지만 클러스터의 표준 작업의 일부로 (스토리지에) 지속될 수 있는 모든 데이터를 암호화할 수 있습니다. 여기에는 Amazon S3에 기록된 정기 백업과 수동 백업뿐 아니라 동기화 및 스왑 작업의 결과로 디스크 스토리지에 저장된 데이터가 포함됩니다. M6g 및 R6g 패밀리의 인스턴스 유형에는 상시 켜져 있는 인메모리 암호화 기능도 있습니다.
질문 수준 이점: ElastiCache (Redis OSS)는 데이터 보안을 높이기 위해 저장 시 선택적 암호화를 제공합니다.
-
[필수] 저장 시 암호화는 생성된 경우에만 ElastiCache 클러스터(복제 그룹)에서 활성화할 수 있습니다. 기존 클러스터를 수정하여 저장 데이터 암호화를 시작할 수 없습니다. 기본적으로 ElastiCache 는 유휴 암호화에 사용되는 키를 제공하고 관리합니다.
[리소스]:
-
[최고] 메모리에 있는 동안 데이터를 암호화하는 Amazon EC2 인스턴스 유형(예: M6g 또는 R6g )을 활용합니다. 가능하면 저장 데이터 암호화를 위해 자체 키를 관리하는 것이 좋습니다. 보다 엄격한 데이터 보안 환경의 경우, AWS Key Management Service (KMS)를 사용하여 고객 마스터 키()를 자체 관리할 수 있습니다CMK. 와의 ElastiCache 통합을 통해 ElastiCache (Redis OSS) 클러스터의 저장 데이터 암호화에 사용되는 키를 생성, 소유 및 관리할 AWS Key Management Service수 있습니다.
[리소스]:
SEC 5: 를 사용하여 전송 중 데이터를 암호화하려면 어떻게 해야 하나요 ElastiCache?
질문 수준의 소개: 전송 중에 데이터가 손상되는 것을 방지하는 것은 일반적인 요구 사항입니다. 이는 분산 시스템의 구성 요소 내뿐만 아니라 애플리케이션 클라이언트와 클러스터 노드 간의 데이터를 나타냅니다. ElastiCache (Redis OSS)는 클라이언트와 클러스터 간 및 클러스터 노드 자체 간에 전송 중인 데이터를 암호화할 수 있도록 허용하여 이 요구 사항을 지원합니다. M6g 및 R6g 패밀리의 인스턴스 유형에는 상시 켜져 있는 인메모리 암호화 기능도 있습니다.
질문 수준 이점: Amazon 전송 ElastiCache 중 암호화는 한 위치에서 다른 위치로 전송 중일 때 가장 취약한 지점에서 데이터의 보안을 강화할 수 있는 선택적 기능입니다.
-
[필수] 전송 중 암호화는 생성 시 ElastiCache (Redis OSS) 클러스터(복제 그룹)에서만 활성화할 수 있습니다. 데이터 암호화/복호화에 추가 처리가 필요하기 때문에 전송 중 암호화를 구현하면 성능에 어느 정도 영향을 미칠 수 있다는 점에 유의하시기 바랍니다. 영향을 이해하려면 를 활성화하기 전과 후에 워크로드를 벤치마킹하는 것이 좋습니다encryption-in-transit.
[리소스]:
SEC 6: 제어 영역 리소스에 대한 액세스를 어떻게 제한합니까?
질문 수준 소개: IAM ElastiCache (Redis OSS)에 대한 세분화된 액세스 제어를 정책 및 ARN 활성화하여 더 엄격한 제어를 통해 ElastiCache (Redis OSS) 클러스터의 생성, 수정 및 삭제를 관리할 수 있습니다.
질문 수준 이점: 복제 그룹, 노드 등과 같은 Amazon ElastiCache 리소스 관리는 IAM 정책에 따라 특정 권한이 있는 AWS 계정으로 제한되어 리소스의 보안 및 신뢰성을 개선할 수 있습니다.
-
[필수] 사용자에게 특정 AWS Identity and Access Management정책을 할당하여 Amazon ElastiCache 리소스에 대한 AWS 액세스를 관리하여 클러스터에서 어떤 계정을 통해 어떤 작업을 수행할 수 있는지 더 세밀하게 제어할 수 있습니다.
[리소스]:
SEC 7: 보안 이벤트를 어떻게 탐지하고 대응하나요?
질문 수준 소개: ElastiCache를 RBAC 활성화하여 배포하면 가 CloudWatch 지표를 내보내 사용자에게 보안 이벤트를 알립니다. 이러한 지표는 RBAC 사용자 연결 권한이 없는 인증, 액세스 키 또는 실행 명령에 실패한 시도를 식별하는 데 도움이 됩니다.
또한 AWS 제품 및 서비스 리소스는 배포를 자동화하고 이후 검토/감사를 위해 모든 작업 및 수정 사항을 로깅하여 전체 워크로드를 보호하는 데 도움이 됩니다.
질문 수준의 이점: 이벤트를 모니터링하면 조직이 요구 사항, 정책 및 절차에 따라 대응할 수 있습니다. 이러한 보안 이벤트에 대한 모니터링 및 대응을 자동화하면 전반적인 보안 태세가 강화됩니다.
-
[필수] RBAC 인증 및 권한 부여 실패와 관련된 게시된 CloudWatch 지표를 숙지합니다.
-
AuthenticationFailures = Valkey 또는 Redis 인증 시도 실패 OSS
-
KeyAuthorizationFailures = 사용자가 권한 없이 키에 액세스하려는 시도 실패
-
CommandAuthorizationFailures = 권한 없이 명령을 실행하려는 사용자의 시도 실패
[리소스]:
-
-
[가장 좋음] 이러한 지표에 대한 경고 및 알림을 설정하고 필요에 따라 대응하는 것이 좋습니다.
[리소스]:
-
[Best] Valkey 또는 Redis OSS ACL LOG 명령을 사용하여 추가 세부 정보 수집
[리소스]:
-
[최고] ElastiCache 배포 및 이벤트를 모니터링, 로깅 및 분석하는 것과 관련된 AWS 제품 및 서비스 기능을 숙지합니다.
[리소스]: