SEC09-BP01 보안 키 및 인증서 관리 구현 - 보안 원칙

SEC09-BP01 보안 키 및 인증서 관리 구현

전송 계층 보안(TLS) 인증서는 인터넷과 프라이빗 네트워크에서 네트워크 통신을 보호하고 웹사이트, 리소스 및 워크로드의 ID를 설정하는 데 사용됩니다.

원하는 결과: 퍼블릭 키 인프라(PKI)에서 인증서를 프로비저닝, 배포, 저장 및 갱신할 수 있는 보안 인증서 관리 시스템 보안 키 및 인증서 관리 메커니즘은 인증서 개인 키 자료가 공개되는 것을 방지하고 정기적으로 인증서를 자동 갱신합니다. 또한 다른 서비스와 통합하여 워크로드 내부의 머신 리소스에 대한 보안 네트워크 통신 및 ID를 제공합니다. 키 구성 요소는 인적 자격 증명이 절대 접근할 수 없어야 합니다.

일반적인 안티 패턴:

  • 인증서 배포 또는 갱신 프로세스 중에 수동 단계 수행

  • 프라이빗 CA를 설계할 때 인증 기관(CA) 계층 구조에 충분히 주의를 기울이지 않음

  • 퍼블릭 리소스에 자체 서명된 인증서 사용

이 모범 사례 확립의 이점:

  • 자동 배포 및 갱신을 통해 인증서 관리 간소화

  • TLS 인증서를 사용하여 전송 중 데이터의 암호화 장려

  • 인증 기관이 취한 인증서 작업의 보안 및 감사 가능성 향상

  • CA 계층 구조의 여러 계층에서 관리 업무 구성

이 모범 사례가 확립되지 않을 경우 노출되는 위험 수준: 높음

구현 가이드

최신 워크로드는 TLS와 같은 PKI 프로토콜을 사용하는 암호화된 네트워크 통신을 광범위하게 사용합니다. PKI 인증서 관리는 복잡할 수 있지만 자동화된 인증서 프로비저닝, 배포 및 갱신을 통해 인증서 관리와 관련된 마찰을 줄일 수 있습니다.

AWS는 범용 PKI 인증서를 관리하기 위해 AWS Certificate ManagerAWS Private Certificate Authority(AWS Private CA)의 두 가지 서비스를 제공합니다. ACM은 고객이 퍼블릭 워크로드와 프라이빗 AWS 워크로드 모두에서 사용할 인증서를 프로비전, 관리 및 배포하는 데 사용하는 기본 서비스입니다. ACM은 AWS Private CA를 사용하여 인증서를 발급하고 다른 많은 AWS 관리형 서비스와 통합하여 워크로드에 보안 TLS 인증서를 제공합니다.

AWS Private CA를 사용하면 자체 루트의 CA 또는 하위 CA를 설정하고 API를 통해 TLS 인증서를 발급할 수 있습니다. 이러한 종류의 인증서는 TLS 연결의 클라이언트 측에서 신뢰 체인을 제어하고 관리하는 시나리오에서 사용할 수 있습니다. TLS 사용 사례 외에도 AWS Private CA를 사용하면 사용자 지정 템플릿으로 Kubernetes 포드, Matter 디바이스 제품 증명, 코드 서명 및 기타 사용 사례에 인증서를 발급할 수 있습니다. 또한 IAM Roles Anywhere 를 사용하여 Private CA에서 서명한 X.509 인증서를 발급한 온프레미스 워크로드에 임시 IAM 보안 인증을 제공할 수 있습니다.

ACM 및 AWS Private CA 외에도 AWS IoT Core 는 PKI 인증서를 IoT 디바이스에 프로비전, 관리 및 배포하기 위한 전문 지원을 제공합니다. AWS IoT Core는 대규모 공개 키 인프라에 적용할 수 있는 IoT 디바이스 온보딩용 전문 메커니즘을 제공합니다.

프라이빗 CA 계층 구조 설정 시 고려 사항

프라이빗 CA를 설정해야 하는 경우 CA 계층 구조를 미리 적절하게 설계할 수 있도록 특별히 주의를 기울이는 것이 중요합니다. 프라이빗 CA 계층 구조를 만들 때는 CA 계층 구조의 각 수준을 별도의 AWS 계정에 배포하는 것이 좋습니다. 이 의도적인 단계는 CA 계층 구조의 각 수준에 대한 노출 영역을 줄여 CloudTrail 로그 데이터에서 이상 징후를 더 쉽게 발견하고 계정 중 하나에 대한 무단 액세스가 발생할 경우 액세스 또는 영향 범위를 줄일 수 있습니다. 루트 CA는 별도의 계정에 있어야 하며 하나 이상의 중간 CA 인증서를 발급하는 데만 사용해야 합니다.

그런 다음 루트 CA 계정과 분리된 계정에 하나 이상의 중간 CA를 생성하여 최종 사용자, 디바이스 또는 기타 워크로드에 대한 인증서를 발급합니다. 마지막으로 루트 CA에서 중간 CA로 인증서를 발급합니다. 그러면 중간 CA가 최종 사용자나 디바이스에 인증서를 발급합니다. 복원력 계획, 교차 리전 복제, 조직 전반의 CA 공유 등을 포함하여 CA 배포 계획 및 CA 계층 설계에 대한 자세한 내용은 AWS Private CA 배포 계획하기를 참조하십시오.

구현 단계

  1. 사용 사례에 필요한 관련 AWS 서비스 확인:

    • 많은 사용 사례에서 다음을 사용하여 기존 AWS 공개 키 인프라를 활용할 수 있습니다. AWS Certificate Manager. ACM는 웹 서버나 로드 밸런서용 또는 공개적으로 신뢰할 수 있는 인증서를 위한 기타 용도로 TLS 인증서를 배포하는 데 사용할 수 있습니다.

    • 자체 사설 인증 기관 계층 구조를 설정해야 하거나 내보낼 수 있는 인증서에 액세스해야 하는 경우 AWS Private CA 를 고려하세요. 그런 다음 ACM을 사용하여 다양한 유형의 최종 엔티티 인증서 (AWS Private CA 사용)를 발급할 수 있습니다.

    • 내장된 사물 인터넷(IoT) 디바이스에 대규모로 인증서를 프로비저닝해야 하는 사용 사례의 경우에는 AWS IoT Core를 고려해 보십시오.

  2. 가능한 경우 자동 인증서 갱신 구현:

    • 다음을 사용하십시오. ACM 관리형 갱신 (통합 AWS 관리형 서비스와 함께 ACM 발급 인증서에 대해 사용)

  3. 로깅 및 감사 트레일 설정:

    • 또한 CloudTrail 로그 를 활성화하여 인증 기관이 있는 계정에 대한 액세스를 추적합니다. CloudTrail에서 로그 파일 무결성 검증을 구성하여 로그 데이터의 신뢰성을 확인하는 것이 좋습니다.

    • 프라이빗 CA가 발급하거나 해지한 인증서가 기재된 감사 보고서 를 주기적으로 생성 및 검토합니다. 이러한 보고서는 S3 버킷으로 내보낼 수 있습니다.

    • 프라이빗 CA를 배포할 때는 인증서 폐기 목록(CRL)을 저장할 S3 버킷도 설정해야 합니다. 워크로드 요구 사항에 따라 이 S3 버킷을 구성하는 방법에 대한 지침은 CRL(인증서 폐기 목록) 계획을 참조하십시오.

리소스

관련 모범 사례:

관련 문서:

관련 동영상:

관련 예시:

관련 도구: