AWS Fargate FIPS-140

AWS Fargate FIPS-140

FIPS-140(Federal Information Processing Standard)는 민감한 정보를 보호하는 암호화 모듈의 보안 요구 사항을 규정하는 미국·캐나다 정부 표준이에요. FIPS-140은 전송 중 데이터와 저장 중 데이터를 암호화하는 데 사용할 수 있는 검증된 암호화 함수 집합을 정의합니다. FIPS-140 규정 준수를 켜면 FIPS-140을 준수하는 방식으로 Fargate에서 워크로드를 실행할 수 있어요.

출처: 문서

본문

FIPS-140 규정 준수에 대한 자세한 내용은 Federal Information Processing Standard (FIPS) 140-3을 참고하세요.

AWS Fargate FIPS-140 고려 사항

Fargate에서 FIPS-140 규정 준수를 사용할 때 다음을 고려하세요:

  • FIPS-140 규정 준수는 AWS GovCloud (US) 리전에서만 사용할 수 있어요.
  • Fargate는 FIPS-140 버전 140.3을 지원합니다.
  • FIPS-140 규정 준수는 기본적으로 꺼져 있으며, 직접 켜야 해요.
  • Amazon CloudWatch는 IPv6 전용 구성에서 FIPS-140 규정 준수를 사용하는 Amazon ECS 태스크를 모니터링하는 데 사용할 수 있는 dualstack FIPS 엔드포인트를 지원하지 않습니다.
  • 태스크가 FIPS-140 규정 준수를 위해서는 다음 구성을 사용해야 해요:
    • operatingSystemFamily가 LINUX여야 합니다.
    • cpuArchitecture가 X86_64여야 합니다.
    • Fargate 플랫폼 버전이 1.4.0 이상이어야 해요.

Fargate에서 FIPS 사용

Fargate에서 FIPS-140 규정 준수를 사용하려면 다음 절차를 따르세요.

  1. FIPS-140 규정 준수를 켭니다. 자세한 내용은 AWS Fargate FIPS-140 규정 준수를 참고하세요.
  2. 선택 사항으로 ECS Exec을 사용해 다음 명령으로 클러스터의 FIPS-140 규정 준수 상태를 확인할 수 있어요. cluster-name은 클러스터 이름으로, task-id는 태스크의 ID 또는 ARN으로, container-name은 명령을 실행할 태스크의 컨테이너 이름으로 바꾸세요. 반환 값이 "1"이면 FIPS를 사용 중이라는 뜻입니다.
aws ecs execute-command \
    --cluster cluster-name \
    --task task-id \
    --container container-name \
    --interactive \
    --command "cat /proc/sys/crypto/fips_enabled"

Fargate FIPS-140 감사를 위한 CloudTrail 사용

CloudTrail은 계정을 만들 때 AWS 계정에서 켜져 있어요. Amazon ECS에서 API 및 콘솔 활동이 발생하면 그 활동은 다른 AWS 서비스 이벤트와 함께 Event history의 CloudTrail 이벤트에 기록됩니다. AWS 계정의 최근 이벤트를 보고, 검색하고, 다운로드할 수 있어요. 자세한 내용은 CloudTrail Event History로 이벤트 보기(Viewing Events with CloudTrail Event History)를 참고하세요.

Amazon ECS 이벤트를 포함해 AWS 계정의 지속적인 이벤트 기록을 보려면 CloudTrail이 로그 파일을 Amazon S3 버킷에 전달하는 데 사용하는 trail을 만드세요. 기본적으로 콘솔에서 trail을 만들면 trail이 모든 리전에 적용됩니다. trail은 AWS 파티션의 모든 리전에서 이벤트를 기록하고 지정한 Amazon S3 버킷에 로그 파일을 전달해요. 또한 다른 AWS 서비스를 구성해 CloudTrail 로그에 수집된 이벤트 데이터를 추가로 분석하고 조치할 수도 있습니다. 자세한 내용은 AWS CloudTrail을 사용한 Amazon ECS API 호출 로깅(Log Amazon ECS API calls using AWS CloudTrail)을 참고하세요.

다음 예시는 PutAccountSettingDefault API 작업을 보여주는 CloudTrail 로그 항목입니다:

{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "AIDAIV5AJI5LXF5EXAMPLE",
         "arn": "arn:aws:iam::123456789012:user/jdoe",
        "accountId": "123456789012",
        "accessKeyId": "AKIAIPWIOFC3EXAMPLE",
    },
    "eventTime": "2023-03-01T21:45:18Z",
    "eventSource": "ecs.amazonaws.com",
    "eventName": "PutAccountSettingDefault",
    "awsRegion": "us-gov-east-1",
    "sourceIPAddress": "52.94.133.131",
    "userAgent": "aws-cli/2.9.8 Python/3.9.11 Windows/10 exe/AMD64 prompt/off command/ecs.put-account-setting",
    "requestParameters": {
        "name": "fargateFIPSMode",
        "value": "enabled"
    },
    "responseElements": {
        "setting": {
            "name": "fargateFIPSMode",
            "value": "enabled",
            "principalArn": "arn:aws:iam::123456789012:user/jdoe"
        }
    },
    "requestID": "acdc731e-e506-447c-965d-f5f75EXAMPLE",
    "eventID": "6afced68-75cd-4d44-8076-0beEXAMPLE",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "eventCategory": "Management",
    "tlsDetails": {
        "tlsVersion": "TLSv1.2",
        "cipherSuite": "ECDHE-RSA-AES128-GCM-SHA256",
        "clientProvidedHostHeader": "ecs-fips.us-gov-east-1.amazonaws.com"
    }
}