출시 버전: 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.rpmedge-message-processor-4.53.01-0.0.60380.noarch.rpmedge-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을 사용할 수 있습니다.
1. 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:// (또는 표준 참조 이름)를 사용합니다.
1. HSM 혼합 모드 구성 (권장)
키 저장소 (클라이언트 인증)에는 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 키 저장소 또는 트러스트 저장소를 추가하려면 다음 단계를 따르세요.
- 키/인증서를 실제 HSM에 로드합니다 (HSM에 키 저장소/트러스트 저장소 로드 참고).
- 새 키 저장소 데이터 파일을 메시지 프로세서 노드에 복사하고 소유권을
apigee로 설정합니다. - 새 참조로 모든 메시지 프로세서 노드 에서
/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 - 각 노드에서 메시지 프로세서를 다시 시작합니다.
apigee-service edge-message-processor restart
- 새
hsmref://new_keystore_ref를 사용하도록 API 프록시 구성을 업데이트하고 배포합니다.
전역에서 HSM 사용 중지
HSM을 사용 중지하려면 다음 단계를 따르세요.
hsmref://를 사용하는 모든 활성 프록시를 업데이트하여 표준 소프트웨어 참조 (ref://)를 사용합니다.- 각 메시지 프로세서 노드에서
/opt/apigee/customer/application/message-processor.properties를 수정하고 다음을 설정합니다.conf_system_apigee.hsm.enabled=false
- 메시지 프로세서를 재구성하고 다시 시작합니다.
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 또는 그 계열사의 상표 또는 등록 상표입니다. 기타 모든 상표는 해당 소유권자의 자산입니다.