전송 중 암호화가 비활성화된 EFS 볼륨

ECS 태스크와 EFS 파일 시스템 사이의 통신을 전송 중 암호화로 보호하세요.

설명

EFS를 ECS 태스크와 함께 사용할 때는 호스트와 파일 시스템 사이의 트래픽도 보호해야 합니다. 전송 중 암호화가 꺼져 있으면 파일 데이터와 메타데이터가 네트워크 구간에서 노출될 수 있습니다.

ECS 태스크 정의의 efs_volume_configuration.transit_encryption을 ENABLED로 설정하면 해당 EFS 연결에 전송 암호화를 사용합니다. 저장 암호화와 파일 접근 권한은 별도로 관리해야 합니다.

잠재적 영향

통신 경로에 접근할 수 있는 주체가 암호화되지 않은 트래픽을 가로채면 애플리케이션 파일과 운영 데이터가 노출될 수 있습니다. 내부 네트워크라는 이유만으로 전송 데이터가 보호되는 것은 아닙니다.

해결 방법

  • EFS를 사용하는 볼륨에서 transit_encryption = "ENABLED"를 설정하세요.
  • 새 태스크 정의 리비전을 사용하는 태스크로 배포하고 실제 파일 접근을 확인하세요.
  • 전송 암호화와 함께 IAM, 액세스 포인트와 보안 그룹 설정을 검토하세요.

예시

태스크 정의의 발췌입니다. 참조한 컨테이너 정의 파일과 EFS 파일 시스템이 필요하며, 컨테이너의 볼륨 마운트도 별도로 구성해야 합니다.

변경 전

hcl
resource "aws_ecs_task_definition" "example" {
  family                = "service"
  container_definitions = file("task-definitions/service.json")

  volume {
    name = "service-storage"

    efs_volume_configuration {
      file_system_id          = aws_efs_file_system.fs.id
      root_directory          = "/opt/data"
      transit_encryption      = "DISABLED"
      transit_encryption_port = 2999
    }
  }
}

EFS 연결의 전송 암호화를 비활성화합니다.

변경 후

hcl
resource "aws_ecs_task_definition" "example" {
  family                = "service"
  container_definitions = file("task-definitions/service.json")

  volume {
    name = "service-storage"

    efs_volume_configuration {
      file_system_id          = aws_efs_file_system.fs.id
      root_directory          = "/opt/data"
      transit_encryption      = "ENABLED"
      transit_encryption_port = 2999
    }
  }
}

같은 연결에 전송 암호화를 활성화합니다. 이미 실행 중인 태스크는 새 정의를 사용하도록 전환해야 합니다.

참조