프라이빗 클라우드용 Apigee Edge의 다운스트림 하드웨어 보안 모듈 통합 가이드

출시 버전: Edge for Private Cloud v4.53.01.02 패치 출시 버전 이상

이 페이지에서는 Entrust nShield® 5c 네트워크 하드웨어 보안 모듈 (HSM) 을 사용하여 다운스트림 TLS 연결 (Apigee 메시지 프로세서에서 백엔드 대상 서비스로)을 구성하는 방법을 설명합니다.

서드 파티 콘텐츠 면책조항: 이 페이지에서는 Apigee Edge 통합과 관련된 Entrust nShield 하드웨어의 구성 단계를 제공합니다. 이 단계는 표준 통합 패턴을 기반으로 하며 정보 제공 목적으로만 제공됩니다. Entrust 구성은 제조업체에서 변경할 수 있습니다. 공식 Entrust 문서 포털에서 권위 있는 사양, 보안 구성, 현재 하드웨어 요구사항을 참조하세요.

개요

하드웨어 보안 모듈 (HSM)은 보안 키 저장소 및 암호화 작업을 위한 전용 강화 환경을 제공합니다. Apigee Edge for Private Cloud를 Entrust nShield HSM과 통합하면 다운스트림 TLS 및 mTLS 핸드셰이크에 사용되는 비공개 키를 보호할 수 있습니다.

Apigee는 다음 구성요소에서 나가는 다운스트림 HTTPS 트래픽에 대한 HSM 통합을 지원합니다.

  • 대상 엔드포인트
  • 대상 서버
  • 서비스 콜아웃 정책
  • 메시지 로깅 정책
  • JavaScript 정책

기본 요건

HSM 통합을 구성하기 전에 다음 기본 요건이 충족되는지 확인합니다.

1. 소프트웨어 버전 요구사항

  • Apigee Edge for Private Cloud 클러스터는 4.53.01.02 이상 버전에서 실행되어야 합니다.
  • HSM 통합은 다음 RPM 버전 (이상)에 기본적으로 포함되어 있습니다.
    • edge-management-server-4.53.01-0.0.60380.noarch.rpm
    • edge-message-processor-4.53.01-0.0.60380.noarch.rpm
    • edge-gateway-4.53.01-0.0.60380.noarch.rpm

2. 인프라 및 운영체제 구성

  • Edge for Private Cloud 클러스터를 호스팅하는 OS에서 FIPS가 사용 중지되어 있어야 합니다.
  • HSM 클라이언트 및 보안 세계는 모든 메시지 프로세서 노드에 설치 및 구성되어야 합니다.
  • 중요: 이러한 단계는 apigee 사용자가 수행해야 합니다.

공식 Entrust nShield 문서에 제공된 표준 JCA/JCE CSP 설치 테스트를 실행하여 HSM 클라이언트 설치가 올바르게 구성되고 apigee 사용자가 액세스할 수 있는지 확인합니다. 이 테스트가 모든 메시지 프로세서 노드에서 성공적으로 완료되는지 확인합니다.

지원되는 구성

Apigee를 구성하여 두 가지 모드로 HSM을 사용할 수 있습니다.

이 모드에서는 비공개 키 (키 저장소)만 HSM에 저장되고 신뢰할 수 있는 인증서 (트러스트 저장소)는 표준 Apigee 소프트웨어 저장소에 남아 있습니다.

2. 전체 HSM 모드

이 모드에서는 키 저장소 (비공개 키)와 트러스트 저장소 (신뢰할 수 있는 인증서)가 모두 HSM에 저장됩니다. 이 모드는 지원되지만 추가 지연 시간이 발생할 수 있습니다.

1단계: 메시지 프로세서에서 HSM 사용 설정

각 메시지 프로세서 노드에서 한 번에 하나씩 다음 단계를 수행합니다.

1. 메시지 프로세서 중지

apigee-service edge-message-processor stop

2. HSM 키 저장소 데이터 파일 확인

HSM 키 저장소 데이터 파일 (HSM에 로드된 키를 참조)이 메시지 프로세서 노드에 있고 apigee 사용자가 소유하는지 확인합니다.

chown apigee:apigee /opt/apigee/{name_of_the_Keystore_Data_File}

3. HSM 구성 파일 만들기

/opt/apigee/hsm-config.properties에서 구성 파일을 만들거나 업데이트합니다. HSM 키 저장소 및 트러스트 저장소의 위치와 비밀번호를 정의합니다 (선택사항).

구성 예 (혼합 및 전체 HSM 프록시 모두 지원):

# HSM KeyStore Reference
hsm.property.unique_keystore_ref1.keystore.file.location=/opt/apigee/ks.keystore
hsm.property.unique_keystore_ref1.keystore.password=keystore_password

# HSM TrustStore Reference (Optional, only needed for Full HSM Mode)
hsm.property.unique_truststore_ref1.truststore.file.location=/opt/apigee/ts.truststore
hsm.property.unique_truststore_ref1.truststore.password=truststore_password

올바른 권한을 설정합니다.

chown apigee:apigee /opt/apigee/hsm-config.properties
chmod 600 /opt/apigee/hsm-config.properties

4. 메시지 프로세서 속성 구성

/opt/apigee/customer/application/message-processor.properties를 만들거나 수정하고 다음을 추가합니다.

# Enable HSM Integration
conf_system_apigee.hsm.enabled=true

# HSM Configuration File Path
conf_system_apigee.hsm.properties.file=/opt/apigee/hsm-config.properties

# Advanced Custom HSM Port Support (Optional, default is 9000/9001)
# conf_system_apigee.hsm.priv_port=9001
# conf_system_apigee.hsm.nonpriv_port=9000

올바른 소유권을 확인합니다.

chown apigee:apigee /opt/apigee/customer/application/message-processor.properties

5. 재구성 및 다시 시작

apigee-service edge-message-processor configure
apigee-service edge-message-processor restart

6. 초기화 확인

시스템 로그 /opt/apigee/var/log/edge-message-processor/logs/system.log에서 초기화 성공 메시지를 확인합니다.

main INFO  SECURITY-CONTEXT - SSLPreEvaluationContext.isHSMConfigEnabled() : HSM_FLOW : HSM config is enabled
main INFO  SECURITY-CONTEXT - SSLPreEvaluationContext.loadProperties() : HSM_FLOW :  HSM config properties loaded from file /opt/apigee/hsm-config.properties

2단계: API 프록시 구성

API 프록시 구성 (TargetEndpoint, ServiceCallout 또는 정책)에서 SSLInfo 블록을 업데이트합니다. hsmref:// 프리픽스를 사용하여 HSM 관리 저장소를 참조하고 소프트웨어 저장소에는 ref:// (또는 표준 참조 이름)를 사용합니다.

키 저장소 (클라이언트 인증)에는 HSM을 사용하고 트러스트 저장소에는 소프트웨어를 사용합니다.

<SSLInfo>
    <Enabled>true</Enabled>
    <ClientAuthEnabled>true</ClientAuthEnabled>
    <KeyStore>hsmref://unique_keystore_ref1</KeyStore>
    <TrustStore>ref://mySoftwareTrustStoreRef</TrustStore>
</SSLInfo>

2. 전체 HSM 구성

키 저장소와 트러스트 저장소 모두에 HSM을 사용합니다.

<SSLInfo>
    <Enabled>true</Enabled>
    <ClientAuthEnabled>true</ClientAuthEnabled>
    <KeyStore>hsmref://unique_keystore_ref1</KeyStore>
    <TrustStore>hsmref://unique_truststore_ref1</TrustStore>
</SSLInfo>

배포 시간 유효성 검사 우회

Apigee의 Cassandra 데이터베이스에 비공개 키를 업로드하지 않고 배포를 용이하게 하기 위해 Apigee는 hsmref:// 프리픽스로 시작하는 모든 참조에 대해 배포 중에 환경 키 저장소/트러스트 저장소 존재 검사를 자동으로 우회합니다.

작업: 새 HSM 키 저장소/트러스트 저장소 추가

실행 중인 기존 환경에 새 HSM 키 저장소 또는 트러스트 저장소를 추가하려면 다음 단계를 따르세요.

  1. 키/인증서를 실제 HSM에 로드합니다 (HSM에 키 저장소/트러스트 저장소 로드 참고).
  2. 새 키 저장소 데이터 파일을 메시지 프로세서 노드에 복사하고 소유권을 apigee로 설정합니다.
  3. 새 참조로 모든 메시지 프로세서 노드 에서 /opt/apigee/hsm-config.properties를 업데이트합니다.
    hsm.property.new_keystore_ref.keystore.file.location=/opt/apigee/new_ks.keystore
    hsm.property.new_keystore_ref.keystore.password=new_password
        
  4. 각 노드에서 메시지 프로세서를 다시 시작합니다.
    apigee-service edge-message-processor restart
  5. hsmref://new_keystore_ref를 사용하도록 API 프록시 구성을 업데이트하고 배포합니다.

전역에서 HSM 사용 중지

HSM을 사용 중지하려면 다음 단계를 따르세요.

  1. hsmref://를 사용하는 모든 활성 프록시를 업데이트하여 표준 소프트웨어 참조 (ref://)를 사용합니다.
  2. 각 메시지 프로세서 노드에서 /opt/apigee/customer/application/message-processor.properties를 수정하고 다음을 설정합니다.
    conf_system_apigee.hsm.enabled=false
  3. 메시지 프로세서를 재구성하고 다시 시작합니다.
    apigee-service edge-message-processor configure
    apigee-service edge-message-processor restart

제한사항 및 주의사항

  • 지원되는 하드웨어: Entrust nShield 5c 네트워크 HSM으로 제한됩니다.
  • 유지보수: 고객은 HSM 서버/클라이언트 유지보수를 담당합니다.
  • 지연 시간: HSM과의 네트워크 협상으로 인해 추가 지연 시간이 발생할 수 있습니다. HSM 혼합 모드 를 사용하면 이 문제를 어느 정도 완화할 수 있습니다.
  • HSM 다시 시작: HSM 하드서버가 다시 시작되면 연결된 메시지 프로세서 노드에서 edge-message-processor를 다시 시작해야 합니다.

HSM에 키 저장소/트러스트 저장소 로드

PKCS12 키 저장소 또는 PEM 인증서를 HSM으로 가져오는 데 필요한 정확한 keytool 명령어는 공식 Entrust nShield 문서 포털을 참고하세요.

Apigee와의 호환성을 보장하려면 결과 HSM 키 저장소 파일이 다음 요구사항을 충족해야 합니다.

  • 디렉터리: /opt/apigee/에 저장해야 합니다 (예: /opt/apigee/hsmks.keystore).
  • 권한: apigee 사용자가 소유해야 합니다 (chown apigee:apigee /opt/apigee/<filename>).
  • 가독성: edge-message-processor 서비스에서 읽을 수 있어야 합니다.

오류 참조

오류 코드 HTTP 상태 설명 / 원인
entities.HsmConfigNotEnabled 500 API 프록시가 런타임에 hsmref://를 사용하려고 했지만 메시지 프로세서에서 HSM이 전역적으로 사용 중지되었습니다 (conf_system_apigee.hsm.enabled=false).

Entrust 및 nShield는 Entrust Corporation 또는 그 계열사의 상표 또는 등록 상표입니다. 기타 모든 상표는 해당 소유권자의 자산입니다.