목차/06. HSM(하드웨어 보안 모듈)

06HSM(하드웨어 보안 모듈)HSM(하드웨어 보안 모듈)

HSM(Hardware Security Module)암호화 키를 저장하는 전용 장치 입니다. 키를 소프트웨어가 아닌 전용 하드웨어 안에 담아 한 겹 더 보안 을 더하죠. HSM은 네트워크에 추가 보안 계층을 제공하고, 오직 암호화 기능만 전담하도록 설계되었습니다. 이 장은 Check Point Security Gateway가 HSM과 연동되는 큰 그림부터, Gemalto·FutureX 두 벤더별 전체 구성 절차, HSM 통신 중단 방법, 그리고 HSM 연동 상태를 SmartConsole 로그·SNMP·CLI로 모니터링하는 모든 방법까지 원문 그대로 빠짐없이 풀어 정리합니다.

왜 HSM을 쓰나

Check Point Security Gateway가 HSM을 쓸 때, HSM은 오직 Outbound HTTPS Inspection을 위한 객체만 보관합니다. 구체적으로는 다음 두 가지입니다.

  1. CA(인증 기관) 인증서 — 인증서 버퍼(certificate buffer)와 키 쌍을 함께 담습니다. 이 CA 인증서와 키 쌍은 관리자가 게이트웨이를 HSM과 연동하기 전에 미리 만들어 두어야 합니다.
  2. 가짜 인증서용 RSA 키 쌍 2~3개 — 이 키들은 게이트웨이에서 HTTPS Inspection 데몬이 초기화될 때 1024비트·2048비트·4096비트 길이로 생성됩니다.

즉, HTTPS 검사에 쓰는 핵심 SSL 키를 게이트웨이 대신 HSM이 안전하게 보관·제공 하는 것이 요지입니다(HTTPS Inspection 참고).

Check Point Security Gateway와 함께 쓸 수 있는 HSM 솔루션은 두 가지입니다.

HSM과 함께 동작하는 Check Point 환경

HSM과 함께 동작하는 Check Point 환경
HSM과 함께 동작하는 Check Point 환경
항목설명
1Check Point Security Gateway를 거쳐 HTTPS 웹사이트에 접속하는 내부 컴퓨터
2HTTPS Inspection을 켠 Check Point Security Gateway
3인터넷의 HTTPS 웹사이트
4해당 게이트웨이를 관리하는 Check Point Security Management Server
5상호 연결 네트워크(Interconnecting Network)
6SSL 키·인증서를 저장하고 게이트웨이에 제공하는 HSM Server
7HSM Server에 CA 인증서를 만드는 HSM Client 워크스테이션

일반(Generic) 워크플로

이 절은 벤더에 상관없이 공통으로 적용되는 HSM 환경 구성의 일반 흐름을 다룹니다. 벤더별 세부 명령은 뒤의 Gemalto·FutureX 절 에서 이 흐름 위에 얹혀 설명됩니다.

게이트웨이를 HSM과 연동하는 일반 워크플로

HSM과 연동할 Security Gateway / Cluster Member / Scalable Platform Security Group 에서 아래 단계를 따릅니다.

1/3단계 — HSM Server 없이 HTTPS Inspection 먼저 동작시키기

단계지침
1SmartConsole에서 HTTPS Inspection을 구성합니다. R82 Security Management Administration Guide 의 HTTPS Inspection 장을 참고하세요.
2게이트웨이 / 각 Cluster Member / Security Group에서 $FWDIR/conf/hsm_configuration.C 파일의 HSM을 끕니다(아래 절차 참고).
3Check Point 서비스를 재시작합니다.
4HSM Server 없이도 HTTPS Inspection이 잘 동작하는지 확인합니다.

2단계의 세부 절차는 다음과 같습니다.

  • a. 명령줄에 접속합니다.
  • b. Expert mode로 로그인합니다.
  • c. 파일을 엽니다.
vi $FWDIR/conf/hsm_configuration.C
  • d. enabled 파라미터 값을 "no" 로 설정합니다.
:enabled ("no")
  • e. 변경을 저장하고 편집기를 빠져나옵니다.
  • f. Scalable Platform Security Group이라면, 파일을 모든 Security Group Member에 복사합니다.
asg_cp2blades $FWDIR/conf/hsm_configuration.C

3단계에서 서비스를 재시작합니다.

cprestart

4단계 동작 확인은 내부 컴퓨터에서 아무 HTTPS 사이트에 접속 했을 때, 브라우저가 게이트웨이 / Cluster가 서명한 CA 인증서 를 받으면 정상입니다.

2/3단계 — HSM 벤더가 제공하는 PKCS#11 라이브러리 설치·구성

단계지침
1HSM 벤더가 제공한 HSM Client 패키지를 풀고 설치합니다.
2필요한 PKCS#11 라이브러리 파일을 /usr/lib/hsm_client/ 디렉터리로 옮깁니다.
3PKCS#11 라이브러리 구성에 필요한, 벤더가 제공한 그 밖의 도구·파일을 옮깁니다.
4HSM Server와의 연결 또는 신뢰(trust)를 구성합니다.
5(선택) PKCS#11 라이브러리 기반으로 HSM Server와의 신뢰 링크가 있는지 확인합니다.

3/3단계 — Outbound HTTPS Inspection이 HSM Server를 쓰도록 구성

이 단계에서 알아둘 점이 몇 가지 있습니다.

  • 이 단계는 게이트웨이 / 각 Cluster Member / Security Group의 $FWDIR/conf/hsm_configuration.C 파일을 구성하는 작업입니다.
  • HSM 구성을 처음 적용한 직후 HSM 연결 오류가 날 수 있습니다. 가장 흔한 경우는 여러 게이트웨이 / Cluster Member / Security Group이 같은 HSM Server를 동시에 접근할 때입니다. 이때는,
    • a. HSM 연결 문제가 있는 게이트웨이 / Cluster Member / Security Group에서 cprestart 를 실행합니다(VSX 환경에서는 문제가 있는 VSX Virtual System 컨텍스트에서 실행).
    • b. 화면에 HSM on 이 보이면, 다음 게이트웨이 / Cluster Member / Security Group / VSX Virtual System 구성을 이어갑니다.
  • $FWDIR/conf/hsm_configuration.C 파일을 바꾼 뒤에는 반드시 다음 중 하나 를 해야 합니다.
    • fw fetch local 명령으로 로컬 정책을 가져오거나(fetch),
    • SmartConsole에서 게이트웨이 / Cluster / Security Group / VSX Virtual System 객체에 정책을 설치합니다.
  • 로컬 정책을 fetch하거나 SmartConsole에서 정책을 설치할 때 HSM Server를 쓸 수 없으면, Outbound HTTPS 트래픽을 검사할 수 없어 내부 컴퓨터가 HTTPS 사이트에 접속하지 못합니다. 이 경우 게이트웨이에서 HSM Server로 가는 통신 끄기도 참고하세요.

구성 단계:

단계지침
1게이트웨이 / 각 Cluster Member / Security Group 명령줄에 접속합니다.
2Expert mode로 로그인합니다.
3$FWDIR/conf/hsm_configuration.C 파일을 백업합니다.
4$FWDIR/conf/hsm_configuration.C 파일을 편집합니다.
5아래 속성에 필요한 값을 설정합니다(벤더별 절 참고).
6Scalable Platform Security Group이라면 파일을 모든 멤버에 복사합니다.
7새 구성을 적용하려고 모든 Check Point 서비스를 재시작합니다.
8HSM Server에 연결되고 Outbound 트래픽에 HTTPS Inspection이 정상 활성화됐는지 확인합니다.

3단계 백업 명령:

# 게이트웨이 / 각 Cluster Member
cp -v $FWDIR/conf/hsm_configuration.C{,_BKP}

# Scalable Platform Security Group
g_cp -v $FWDIR/conf/hsm_configuration.C{,_BKP}

4단계 편집:

vi $FWDIR/conf/hsm_configuration.C

5단계에서 구성하는 속성:

(:enabled ("no") # "yes" / "no"
:hsm_vendor_name ("")
:lib_filename ("")
:CA_cert_public_key_handle (0)
:CA_cert_private_key_handle (0)
:CA_cert_buffer_handle (0)
:token_id ("")
)

각 속성의 뜻은 다음과 같습니다.

속성설명
:enabled ()"yes"(HSM 켜기) 또는 "no"(HSM 끄기) 중 하나여야 합니다.
:hsm_vendor_name ()HSM 벤더 이름을 담습니다.
:lib_filename ()사용하는 HSM 벤더의 PKCS#11 라이브러리 파일 이름(/usr/lib/hsm_client/ 디렉터리에 있음).
:CA_cert_<XXX> ()핸들(handle)의 필요한 값들.
:token_id ()HSM Server의 파티션 암호.

예:

(:enabled ("yes")
:hsm_vendor_name ("FutureX HSM")
:lib_filename ("libfxpkcs11.so")
:CA_cert_public_key_handle (2)
:CA_cert_private_key_handle (1)
:CA_cert_buffer_handle (3)
:token_id ("safest")
)

6단계(Security Group) 복사:

asg_cp2blades $FWDIR/conf/hsm_configuration.C

7단계 재시작:

cprestart

8단계 확인:

# 게이트웨이 / 각 Cluster Member
cpstat https_inspection -f all

# Scalable Platform Security Group
g_all cpstat https_inspection -f all

출력에 반드시 다음이 나와야 합니다.

HSM partition access (Accessible/Not Accessible): Accessible
Outbound status (HSM on/HSM off/HSM error): HSM on

자세한 내용은 CLI로 HSM HTTPS Inspection 모니터링을 참고하세요. 마지막으로 내부 컴퓨터에서 HTTPS 사이트에 접속했을 때 브라우저가 HSM Server에서 서명한 CA 인증서 를 받으면 Outbound HTTPS Inspection이 성공적으로 활성화된 것입니다.

HSM Client 워크스테이션 구성 워크플로

HSM Client 워크스테이션 은 HSM 벤더의 HSM Client 소프트웨어를 설치하는 외부 컴퓨터 입니다. 벤더 요구에 따라 Windows·Linux·기타 운영체제에서 실행할 수 있습니다. 이 워크스테이션으로 하는 일은 두 가지입니다.

  • HSM Server에 CA 인증서를 만듭니다. Check Point 게이트웨이 / Cluster Member / Security Group은 HTTPS Inspection에서 HSM Server에 SSL 키를 저장·접근할 때 이 CA 인증서를 씁니다.
  • 게이트웨이 / Cluster Member / Security Group이 만든 가짜 인증서용 키를 관리 합니다.

Gemalto HSM과 연동하기

이 워크플로로 Check Point Security Gateway / ClusterXL / Scalable Platform Security Group을 Gemalto HSM Server 와 연동합니다.

1/5단계 — Gemalto Help 패키지 풀기

Gemalto 환경은 Gemalto 구성 문서를 보며 설정합니다.

단계지침
1Gemalto SafeNet HSM Help 패키지(007-011136-012_Net_HSM_6.2.2_Help_RevA)를 내려받습니다.
2Windows 기반 컴퓨터를 사용합니다.
3Help 패키지를 적당한 폴더에 풉니다.
4풀어 놓은 Gemalto HSM Help 폴더를 엽니다.
5START_HERE.html 파일을 더블클릭하면 Gemalto SafeNet Network HSM 6.2.2 Product Documentation 이 열립니다.

2/5단계 — Gemalto HSM Server를 Check Point와 연동하도록 구성

Gemalto Help 문서를 보며 Gemalto HSM Server를 설치·구성합니다.

단계지침
1Gemalto HSM Appliance를 설치합니다(Installation Guide > SafeNet Network HSM Hardware Installation).
2Gemalto HSM Appliance와 Server의 초기 구성을 합니다(Configuration Guide 의 Step 1~Step 6).
3LunaSH에서 sysconf recenCert 명령을 실행해 Gemalto HSM Server용 새 인증서(server.pem)를 생성합니다(Configuration Guide > Step 7).
4Check Point 게이트웨이와 연동하도록 Gemalto HSM Server 구성을 마무리합니다(아래 a·b).

4단계 세부 절차:

  • a. 해당 파티션을 active 이면서 auto-activated 상태로 둡니다. LunaSH에서 다음을 실행합니다.
lunash:> partition showPolicies -partition <Partition Name>
lunash:> partition changePolicy -partition <Partition Name> -policy 22 -value 1
lunash:> partition changePolicy -partition <Partition Name> -policy 23 -value 1
lunash:> partition showPolicies -partition <Partition Name>
  • b. NTLA 클라이언트 연결 시 NTLS가 클라이언트 소스 IP를 검증하지 않도록 끕니다. LunaSH에서 다음을 실행합니다.
lunash:> ntls ipcheck disable

3/5단계 — Gemalto HSM Client 워크스테이션 구성

Gemalto HSM Client 워크스테이션으로 Gemalto HSM Server에 CA 인증서를 만듭니다. Check Point 게이트웨이 / ClusterXL / Security Group은 HTTPS Inspection에서 SSL 키를 저장·접근할 때 이 CA 인증서를 씁니다.

단계지침
1Gemalto 벤더에게서 HSM Client 패키지 610-012382-017_SW_Client_HSM_6.2.2_RevA 를 받습니다.
2Gemalto HSM Client 워크스테이션으로 쓸 Windows·Linux 기반 컴퓨터를 준비합니다.
3그 컴퓨터에 HSM Client 패키지를 설치합니다(Installation Guide > SafeNet HSM Client Software Installation).
4워크스테이션과 Gemalto HSM Server 사이에 Trust Link 를 맺습니다(Configuration Guide > Step 7). LunaCM에서 아래 명령을 실행합니다.
lunacm:> clientconfig deploy -c <IP Address of HSM Client Workstation> -n <IP Address of HSM Server> -par <Partition Name> -pw <Partition Password>

4/5단계 — Gemalto HSM Server에 CA 인증서 만들기

단계지침
1Gemalto HSM Client 워크스테이션에서 명령 프롬프트 또는 터미널을 엽니다.
2cmu generatekeypair 명령으로 키 쌍을 만듭니다(Utilities Reference Guide > CMU > cmu generatekeypair).
3프롬프트가 나오면 (2단계에서 설정한) Gemalto HSM Server 파티션 암호를 입력합니다.
4해당 번호를 입력해 RSA 메커니즘을 고릅니다.
5만든 키 쌍의 핸들을 봅니다(Utilities Reference Guide > CMU > cmu list).
6앞서 본 핸들 번호로 CA 인증서를 만듭니다(Utilities Reference Guide > CMU > cmu selfsigncertificate).
7만든 CA 인증서의 핸들을 봅니다.
8CA 인증서를 파일로 내보냅니다(Utilities Reference Guide > CMU > cmu export).

2단계 키 쌍 생성 예:

# cd /usr/safenet/lunaclient/bin
# ./cmu generatekeypair -modulusBits=2048 -publicExponent=65537 -labelPublic="CAPublicKeyPairLabel" -labelPrivate="CAPrivateKeyPairLabel" -sign=T -verify=T

3단계 암호 프롬프트 예:

Enter a password for the token in slot 0:

4단계 RSA 메커니즘 선택:

[1] PKCS [2] FIPS 186-3 Only Primes [3] FIPS 186-3 Auxiliary Primes

5단계 핸들 조회:

# ./cmu list

출력 예:

Enter password for token in slot 0 : <Password for the Partition>
handle=17      label=CAPrivateKeyPairLabel
handle=18      label=CAPublicKeyPairLabel

6단계 CA 인증서 생성 예:

# ./cmu selfsigncertificate -privatehandle=17 CN="www.gemltoHSM.cp" -sha256WithRSA -startDate 20190720 -endDate 20240720 -serialNum=111aaa -keyusage digitalsignature,keycertsign,crlsign -basicconstraints=critical,ca:true

7단계 핸들 다시 조회:

# ./cmu list

출력 예:

Enter password for token in slot 0 : <Password for the Partition>
handle=13     label=www.myhsm.cp
handle=17     label=CAPrivateKeyPairLabel
handle=18     label=CAPublicKeyPairLabel

8단계 내보내기:

# ./cmu export -handle=<Handle Number> -outputfile=<Name of Output File>

5/5단계 — 게이트웨이를 Gemalto HSM Server와 연동하도록 구성

이 단계는 세 개의 하위 단계로 나뉩니다.

하위 단계 5-A: Gemalto HSM Server 없이 HTTPS Inspection 동작시키기

단계지침
1SmartConsole에서 HTTPS Inspection을 켜고 구성합니다(R82 Security Management Administration Guide > HTTPS Inspection 장).
2$FWDIR/conf/hsm_configuration.C 파일에서 HSM을 끕니다(:enabled ("no")).
3SmartConsole에서 게이트웨이 / ClusterXL 객체에 해당 Access Control Policy를 설치합니다.
4HSM Server 없이 HTTPS Inspection이 잘 되는지 확인합니다(브라우저가 게이트웨이가 서명한 CA 인증서를 받는지).

2단계 세부는 1/3단계의 절차와 같습니다 — 명령줄 접속 → Expert mode → vi $FWDIR/conf/hsm_configuration.C:enabled ("no") → 저장; Security Group이면 asg_cp2blades $FWDIR/conf/hsm_configuration.C 로 복사.

하위 단계 5-B: 게이트웨이 / ClusterXL / Security Group에 Gemalto HSM Simplified Client 소프트웨어 설치

게이트웨이 / ClusterXL 절차:

단계지침
1받은 Gemalto HSM Client 패키지 610-012382-017_SW_Client_HSM_6.2.2_RevA 를 열고 linux > 32 디렉터리로 갑니다.
2HSM Client 패키지를 설치합니다(Installation Guide > SafeNet HSM Client Software Installation).
3Expert mode에서 libCryptoki2.so 파일을 /usr/lib/hsm_client/ 디렉터리로 복사합니다.
4게이트웨이 / 각 Cluster Member의 Gemalto HSM Client와 Server 사이에 Trust Link를 맺습니다.
5게이트웨이 / 각 Cluster Member에서 파티션 접근을 점검합니다.

3단계 복사:

cp -v /usr/safenet/lunaclient/lib/libCryptoki2.so /usr/lib/hsm_client/

4단계 Trust Link(LunaCM):

lunacm:> clientconfig deploy -c <IP Address of Security Gateway or Cluster Member> -n <IP Address of HSM Server> -par <Partition Name> -pw <Partition Password>

5단계 파티션 접근 점검:

# /usr/safenet/lunaclient/bin/vtl verify

Scalable Platform Security Group 절차:

단계지침
1받은 Gemalto HSM Client 패키지 610-012382-017_SW_Client_HSM_6.2.2_RevA 를 엽니다.
2패키지를 Security Group의 적당한 디렉터리로 옮깁니다(예: 모든 멤버에 /var/log/HSM_Client/ 생성).
3Security Group 명령줄에 접속합니다.
4Expert mode로 로그인합니다.
5Gemalto HSM Client 패키지를 풉니다.
6모든 Security Group Member에 Gemalto HSM Client 패키지들을 설치합니다.
7Security Group과 HSM Server 사이에 Trust Link를 맺습니다.
8Security Group에서 파티션 접근을 점검합니다.

2단계 디렉터리 생성:

g_all mkdir -v /var/log/HSM_Client/

5단계 압축 풀기:

g_all cd /var/log/HSM_Client/
g_all tar -xvf <Name of Gemalto HSM Client Package>.tar

6단계 설치:

g_all rpm -Uvh /var/log/HSM_Client/configurator-6.2.2-4.i386.rpm
g_all rpm -Uvh /var/log/HSM_Client/libcryptoki-6.2.2-4.i386.rpm
g_all rpm -Uvh /var/log/HSM_Client/vtl-6.2.2-4.i386.rpm

7단계 Trust Link(LunaCM):

lunacm:> clientconfig deploy -c <IP Address of Security Group> -n <IP Address of HSM Server> -par <Partition Name> -pw <Partition Password>

8단계 파티션 접근 점검:

# /usr/safenet/lunaclient/bin/vtl verify

하위 단계 5-C: 게이트웨이 / ClusterXL / Security Group이 Gemalto HSM Server를 쓰도록 HTTPS Inspection 구성

단계지침
1게이트웨이 / 각 Cluster Member / Security Group 명령줄에 접속합니다.
2Expert mode로 로그인합니다.
3$FWDIR/conf/hsm_configuration.C 파일을 백업합니다.
4그 파일을 편집합니다.
5아래 속성들에 필요한 값을 설정합니다.
6새 구성을 적용합니다.
7HSM Server 연결과 Outbound HTTPS Inspection 활성화를 확인합니다.
8Outbound 트래픽에 HTTPS Inspection이 정상 활성화됐는지 확인합니다.

3단계 백업:

# 게이트웨이 / 각 Cluster Member
cp -v $FWDIR/conf/hsm_configuration.C{,_BKP}

# Scalable Platform Security Group
g_cp -v $FWDIR/conf/hsm_configuration.C{,_BKP}

4단계 편집:

vi $FWDIR/conf/hsm_configuration.C

5단계 구성:

:enabled ("yes")
:hsm_vendor_name ("Luna Gemalto HSM")
:lib_filename ("libCryptoki2.so")
:CA_cert_public_key_handle (<Number of "Public" Handle for CA certificate>)
:CA_cert_private_key_handle (<Number of "Private" Handle for CA certificate>)
:CA_cert_buffer_handle (<Number of Handle for CA certificate>)
:token_id ("<Password for Partition on Gemalto HSM Server>")
)

각 속성:

속성설명
:enabled ()"yes"(HSM 켜기) 또는 "no"(끄기).
:hsm_vendor_name ()문자열 "Luna Gemalto HSM" 을 담거나 비워 둡니다.
:lib_filename ()Gemalto HSM 벤더의 PKCS#11 라이브러리 이름(/usr/lib/hsm_client/ 에 있음).
:CA_cert_<XXX> ()Gemalto HSM Server에서 cmu list 명령으로 얻은 핸들 값(4/5단계 참고).
:token_id ()Gemalto HSM Server의 파티션 암호(2/5단계 참고).

예:

:enabled ("yes")
:hsm_vendor_name ("Gemalto HSM")
:lib_filename ("libCryptoki2.so")
:CA_cert_public_key_handle (17)
:CA_cert_private_key_handle (18)
:CA_cert_buffer_handle (13)
:token_id ("p@ssw0rd")
)

6단계 — 구성 적용 방식은 :hsm_vendor_name () 값을 어떻게 다뤘는지에 따라 갈립니다.

  • :hsm_vendor_name () 에 문자열 "Gemalto HSM" 을 명시적으로 정의(또는 변경)했다면, 모든 Check Point 서비스를 재시작합니다.
# 게이트웨이 / 각 Cluster Member
cprestart

# Scalable Platform Security Group
g_all cprestart
  • :hsm_vendor_name () 값을 정의하지 않았다면(비어 있음), 로컬 정책을 fetch합니다.
# 게이트웨이 / 각 Cluster Member
fw fetch local

# Scalable Platform Security Group
g_fw fetch local

7단계 확인:

# 게이트웨이 / 각 Cluster Member
cpstat https_inspection -f all

# Scalable Platform Security Group
g_all cpstat https_inspection -f all

출력에 다음이 나와야 합니다.

HSM partition access (Accessible/Not Accessible): Accessible
Outbound status (HSM on/HSM off/HSM error): HSM on

자세한 내용은 CLI로 HSM HTTPS Inspection 모니터링 참고. 8단계로 내부 컴퓨터에서 HTTPS 사이트에 접속해 브라우저가 HSM Server에서 서명한 CA 인증서 를 받으면 성공입니다.

Gemalto HSM Server를 위한 추가 작업

HSM Server와의 Trust Link 삭제

Check Point 게이트웨이와 HSM Server 사이에 새 Trust Link를 맺으려면, 현재 Trust Link를 먼저 삭제해야 합니다.

단계지침
1Check Point 게이트웨이 / 각 Cluster Member / Security Group에서 현재 Trust Link를 삭제합니다(아래 a~d).
2HSM Appliance에서 현재 Trust Link를 삭제합니다(아래 a~c).

1단계 세부:

  • a. 명령줄에 접속합니다.
  • b. Expert mode로 로그인합니다.
  • c. SafeNet HSM Simplified Client 설치 디렉터리로 이동합니다.
# 게이트웨이 / 각 Cluster Member
cd /usr/safenet/lunaclient/bin/

# Scalable Platform Security Group
g_all cd /usr/safenet/lunaclient/bin/
  • d. 기존 Trust Link를 삭제합니다.
# 게이트웨이 / 각 Cluster Member
./vtl deleteServer -n <IP Address of HSM Server>

# Scalable Platform Security Group
g_all ./vtl deleteServer -n <IP Address of HSM Server>

2단계 세부:

  • a. HSM Appliance에 SSH로 접속합니다.
  • b. 구성된 HSM Client 워크스테이션 목록을 봅니다.
lunash:> client list
  • c. Check Point HSM Client 워크스테이션을 삭제합니다.
lunash:> client delete -client <Name of HSM Client>

NTLS용 두 번째 인터페이스를 Gemalto HSM Appliance에 구성

단계지침
1HSM Appliance에 SSH로 접속합니다.
2구성된 모든 인터페이스를 봅니다.
3새 인터페이스를 추가합니다.
4모든 인터페이스에서 NTLS(Network Trust Link Service)를 켭니다.

2단계:

lunash:> network show

3단계:

lunash:> network interface -device <Name of Interface> -ip <IP Address> -netmask <NetMask> [-gateway <IP Address>]

FutureX HSM과 연동하기

이 워크플로로 Check Point Security Gateway / ClusterXL / Scalable Platform Security Group을 FutureX HSM Server 와 연동합니다.

준비물(Prerequisites)

FutureX 소프트웨어 패키지

FutureX 벤더가 아래 패키지를 모두 제공합니다.

패키지 / 파일설명
FutureX PKCS11 Libraryfxpkcs11-windows-4.20-4afd.zip, fxpkcs11-redhat-4.20-4afd.tar, fxpkcs11-linux-4.20-4afd.tar, fxpkcs11-mac-4.20-4afd.tarFutureX PKCS#11 라이브러리. FutureX HSM Client 워크스테이션Check Point 게이트웨이 / 각 Cluster Member / Security Group 에 설치합니다.
FutureX CLI Utilityfxcl-hsm-windows-1.2.4.2-37a8.zip, fxcl-hsm-redhat-1.2.4.2-37a8.tar, fxcl-hsm-linux-1.2.4.2-37a8.tar, fxcl-hsm-mac-1.2.4.2-37a8.tar, fxcli-hsm-commands.txt키·인증서를 관리하는 FutureX CLI 유틸리티. FutureX HSM Client 워크스테이션 에 설치합니다.

FutureX 인증서

FutureX HSM Client 워크스테이션과 FutureX HSM Server 사이의 신뢰(trust)를 위한 FutureX 인증서.

구성 단계

1/3단계 — FutureX HSM Client 워크스테이션 구성

FutureX HSM Client 워크스테이션으로 ① FutureX HSM Server에 CA 인증서를 만들고(게이트웨이가 HTTPS Inspection에서 SSL 키를 저장·접근할 때 씀), ② 게이트웨이가 만든 가짜 인증서용 키를 관리합니다.

단계지침
1FutureX HSM Client 워크스테이션으로 쓸 컴퓨터를 준비하고, 벤더에게서 HSM Client 패키지를 받습니다.
2운영체제에 맞는 FutureX PKCS#11 Library 패키지를 워크스테이션으로 옮깁니다.
3패키지 내용을 워크스테이션의 적당한 디렉터리(<PKCS#11 Dir>)에 풉니다.
4벤더에게서 받은 인증서들을 워크스테이션의 적당한 디렉터리로 옮깁니다.
5PKCS#11 manager와 동작하도록 HSM Client를 준비합니다.
6PKCS#11 라이브러리를 테스트합니다.
7(참고) PKCS#11 구성에 대한 자세한 정보는 FutureX 포털을 봅니다.
8운영체제에 맞는 FutureX CLI Utility 패키지를 워크스테이션으로 옮깁니다.
9CLI Utility 패키지를 적당한 디렉터리(<CLI Dir>)에 풉니다.
10Client 인증서·CA 인증서를 <CLI Dir> 디렉터리로 옮깁니다.
11FutureX HSM Client와 Server 사이에 연결을 맺습니다.
12키·인증서 관리 도구를 사용합니다.

워크스테이션이 돌 수 있는 운영체제(자세한 건 FutureX 벤더에 문의): Windows(FutureX 포털에서 "FXTools" 패키지 다운로드·설치), Red Hat Linux, Ubuntu Linux, Debian Linux, macOS.

2단계 — 운영체제별 PKCS#11 Library 패키지:

운영체제파일
Windowsfxpkcs11-windows-<BUILD>.zip
Red Hat Linuxfxpkcs11-redhat-<BUILD>.tar
Ubuntu·Debian Linuxfxpkcs11-linux-<BUILD>.tar
macOSfxpkcs11-mac-<BUILD>.tar

3단계 — 압축 풀기 주의:

  • PKCS#11 Library 패키지(fxpkcs11-<OS>-<BUILD>)에는 fxpkcs11 이라는 중첩 디렉터리가 있습니다. fxpkcs11 디렉터리의 내용<PKCS#11 Dir> 에 풀어야 합니다.
  • fxpkcs11 안에는 x64(64비트 OS용)·x86(32비트 OS용) 디렉터리가 있습니다. 맞는 쪽 내용을 <PKCS#11 Dir> 에 풉니다.

5단계 세부:

  • a. Linux 기반 HSM Client에 OpenSSL 패키지를 설치합니다.
# Ubuntu·Debian Linux
sudo apt-get install openssl

# Red Hat Linux
sudo yum install openssl
  • b. FutureX PKCS#11 Library 파일이 <PKCS#11 Dir> 에 있는지 확인합니다 — Linux는 libfxpkcs11.so, Windows는 fxpkcs11.dll.
  • c. 구성 파일 fxpkcs11.cfg 가 알맞은 위치에 있는지 확인합니다 — Linux<PKCS#11 Dir> 에서 /etc/ 로 옮기고(옮긴 /etc/ 파일을 편집), Windows<PKCS#11 Dir> 에 그대로 둡니다.
  • d. fxpkcs11.cfg 에서 다음 설정을 구성합니다.
속성설명
<LOG-FILE>로그 파일 경로.
<ADDRESS>FutureX HSM Server의 IP 주소.
<PROD-PORT>FutureX HSM Server의 포트. 기본 9100 또는 다른 포트(Cloud FutureX HSM이면 FutureX Support에서 받음).
<PROD-TLS-CA>CA 인증서 파일 경로. 여러 번 나올 수 있어 CA 체인의 모든 인증서를 넣을 수 있습니다.
<PROD-TLS-CERT>클라이언트 인증서 파일 경로.
<PROD-TLS-KEY>클라이언트 개인 키 파일 경로.

6단계 — PKCS#11 Library 테스트:

  • a. <PKCS#11 Dir> 에서 configTest 도구로 구성을 테스트합니다.
  • b. 키를 관리하려면 <PKCS#11 Dir> 에서 PKCS11Manager 도구를 실행합니다.
  • c. <LOG-FILE> 에 설정한 로그 파일을 살펴봅니다.
# Linux OS
export VARIABLE=VALUE
export FXPKCS11_CFG=/home/user/fxpkcs11.cfg

# Windows OS
set VARIABLE=VALUE
set FXPKCS11_CFG=C:\Users\Futurex\Desktop\fxpkcs11.cfg

7단계 — 자세한 PKCS#11 구성 정보는 FutureX 포털에 로그인해 DEVELOPER DOCUMENTATION > GENERAL PURPOSE > General Purpose Technical Reference > PKCS #11 Technical Reference 로 갑니다.

8단계 — 운영체제별 CLI Utility 패키지:

운영체제파일
Windowsfxcl-hsm-windows-<BUILD>.zip
Red Hat Linuxfxcl-hsm-redhat-<BUILD>.tar
Ubuntu·Debian Linuxfxcl-hsm-linux-<BUILD>.tar
macOSfxcl-hsm-mac-<BUILD>.tar

9단계 — CLI Utility 압축 풀기 주의:

  • CLI Utility 패키지(fxcl-hsm-<OS>-<BUILD>)에는 fxcl 중첩 디렉터리가 있습니다.
  • fxcl 안에는 x64(64비트)·x86(32비트) 디렉터리가 있습니다.
  • x64·x86 안에는 OpenSSL-1.0.x·OpenSSL-1.1.x 디렉터리가 있습니다. 관리자가 쓸 OpenSSL 버전을 골라 해당 디렉터리 내용을 <CLI Dir> 에 풉니다(자세한 건 FutureX 벤더에 문의).

10단계 — <Client Certificate>(Client 인증서)와 <CA Certificate>(CA 인증서)를 <CLI Dir> 로 옮깁니다.

11단계 — 연결 수립:

  • a. <CLI Dir> 로 이동합니다.
  • b. 셸을 시작합니다.
fxcli-hsm
  • c. 다음 명령을 순서대로 실행합니다.
tls pki -f <Client Certificate> -p safest
tls ca -f <CA Certificate>
connect tcp -c <IP Address of URL of HSM Server>:<Port on HSM Server>
login user -u <Username> -p <Password (default is "safest")>
exit

12단계 — FutureX HSM Server에 저장된 키·인증서를 관리하는 도구:

  • a. PKCS11Manager<PKCS#11 Dir> 에서 실행. 키를 만들고 HSM 파티션 내용을 둘러볼 수 있습니다. 도구 메뉴를 따라 옵션을 봅니다.
  • b. fxcli-hsm<CLI Dir> 에서 실행. 셸 내 전체 명령은 help, 특정 명령의 옵션은 명령만 입력하거나 -h 옵션을 붙여 봅니다.

2/3단계 — FutureX HSM Server에 CA 인증서 만들기

단계지침
1FutureX HSM Client 워크스테이션에서 FutureX CLI 유틸리티를 엽니다.
2사용 가능한 슬롯 목록을 가져옵니다(keytable list 또는 keytable reload).
3CA 인증서용 키 쌍을 생성합니다.
4CA 인증서를 생성합니다.
5CA 인증서와 그 키 쌍에 쓰인 슬롯 목록을 봅니다(keytable list 또는 keytable reload).
6CA 인증서·공개 키·개인 키의 핸들을 적어 둡니다.

3단계 키 쌍 생성:

generate -a rsa -b 2048 --slot <Slot or Label of CA Certificate> --name <Name of CA Certificate Private Key File> --tpk-slot <Slot or Label of CA Certificate Public Key> --tpk-name <Name of CA Certificate Public Key File> -u sign,verify

예:

generate -a RSA -b 2048 --slot 0 --name CAPrivateKey --tpk-slot 1 --tpk-name CAPublicKey -u sign,verify

4단계 CA 인증서 생성:

x509 sign --private-slot <Slot or Label of Private Key> --dn "<Distinguished Name of CA Certificate>" --ca 1 --key-usage DigitalSignature --key-usage CrlSign --key-usage KeyCertSign --save-slot <Slot to Save the CA Certificate> --save-name <Label of CA Certificate File> -o <Full Path and Name of CA Certificate File>.cer --validity-period '<Period>'

예:

x509 sign --private-slot 0 --dn "CN=www.futurexhsm.cp" --ca 1 --key-usage DigitalSignature --key-usage KeyCertSign --key-usage CrlSign --save-slot 2 --save-name CACert -o Z:\FutureXhsm.cer --validity-period '5 years'

5단계 슬롯 목록:

keytable list
keytable reload

6단계 핸들 적어 두기 — 예:

CAPublicKey (1)
CAPrivateKey (2)
CACert (3)

3/3단계 — 게이트웨이를 FutureX HSM Server와 연동하도록 구성

이 단계는 네 개의 하위 단계로 나뉩니다.

하위 단계 3-A: FutureX HSM Server 없이 HTTPS Inspection 동작시키기

단계지침
1SmartConsole에서 HTTPS Inspection을 구성합니다.
2$FWDIR/conf/hsm_configuration.C 에서 HSM을 끕니다(:enabled ("no")).
3SmartConsole에서 게이트웨이 / ClusterXL 객체에 Access Control Policy를 설치합니다.
4HSM Server 없이 HTTPS Inspection이 잘 되는지 확인합니다.

2단계 세부는 앞과 동일합니다 — 명령줄 접속 → Expert mode → vi $FWDIR/conf/hsm_configuration.C:enabled ("no") → 저장; Security Group이면 asg_cp2blades $FWDIR/conf/hsm_configuration.C 로 복사.

하위 단계 3-B: 게이트웨이 / Cluster Member / Security Group에 필요한 소프트웨어 설치

단계지침
1FutureX PKCS#11 바이너리 파일을 게이트웨이 / 각 Cluster Member / Security Group으로 옮깁니다.
2FutureX PKCS#11 구성 파일을 옮깁니다.

1단계 세부:

  • a. 컴퓨터에서 FutureX PKCS#11 Library 패키지를 엽니다.
  • b. fxpkcs11-linux-<BUILD> > fxpkcs11 > x86 > OpenSSL-1.1.x 폴더로 갑니다.
  • c. libfxpkcs11.soconfigTest 를 게이트웨이 / 각 Cluster Member / Security Group의 /usr/lib/hsm_client/ 디렉터리로 옮깁니다(반드시 바이너리 모드).
  • d. Scalable Platform Security Group이라면 모든 멤버에 복사합니다.
asg_cp2blades /usr/lib/hsm_client/libfxpkcs11.so
asg_cp2blades /usr/lib/hsm_client/configTest

2단계 세부:

  • a. FutureX PKCS#11 Library 패키지를 엽니다.
  • b. fxpkcs11-linux-<BUILD> > fxpkcs11 폴더로 갑니다.
  • c. fxpkcs11.cfg 를 게이트웨이 / 각 Cluster Member / Security Group의 /etc/ 디렉터리로 옮깁니다.
  • d. Security Group이라면 모든 멤버에 복사합니다.
asg_cp2blades /usr/lib/hsm_client/fxpkcs11.cfg

하위 단계 3-C: 게이트웨이 / Cluster Member / Security Group과 FutureX HSM Server 사이 연결 구성

Check Point 게이트웨이(HSM 클라이언트)와 FutureX HSM Server 사이의 TLS 인증을 위해 인증서 파일을 만들어야 합니다. 인증서를 만드는 방법은 세 가지입니다.

  • HSM에서 인증서를 만듭니다(가장 흔한 방법).
  • FutureX 벤더에게서 인증서를 받습니다.
  • HSM Server에서 "Anonymous" 설정 을 켜서 상호 인증을 요구하지 않게 합니다(FutureX Integration Guide 참고).
단계지침
1받은 FutureX 인증서 파일을 게이트웨이 / 각 Cluster Member / Security Group의 /usr/futurex/ 디렉터리로 옮깁니다.
2게이트웨이 / 각 Cluster Member / Security Group 명령줄에 접속합니다.
3Expert mode로 로그인합니다.
4구성 파일 /etc/fxpkcs11.cfg 를 백업합니다.
5/etc/fxpkcs11.cfg 를 편집합니다.
6아래 속성 값을 구성합니다.
7변경을 저장하고 편집기를 빠져나옵니다.
8Security Group이면 파일을 모든 멤버에 복사합니다.
9필요한 심볼릭 링크를 만듭니다.

1단계(Security Group) 복사:

asg_cp2blades /usr/futurex/<Name of Certificate File>

4단계 백업:

# 게이트웨이 / 각 Cluster Member
cp -v /etc/fxpkcs11.cfg{,_BKP}

# Scalable Platform Security Group
g_cp -v /etc/fxpkcs11.cfg{,_BKP}

5단계 편집:

vi /etc/fxpkcs11.cfg

6단계 — 구성할 속성 값:

속성
<LOG-FILE>/var/log/fxpkcs11.log
<ADDRESS>FutureX HSM Server의 IP 주소(또는 URL).
<PROD-PORT>FutureX HSM Server의 포트. 기본 9100 또는 다른 포트.
<PROD-TLS-CA>CA 인증서 파일 경로. 여러 번 나올 수 있습니다.
<PROD-TLS-CERT>클라이언트 인증서 파일 경로.
<PROD-TLS-KEY>클라이언트 개인 키 파일 경로.

8단계(Security Group) 복사:

asg_cp2blades /etc/fxpkcs11.cfg

9단계 심볼릭 링크:

# 게이트웨이 / 각 Cluster Member
ln -s /var/log/fxpkcs11.log /tmp/fxpkcs11.log

# Scalable Platform Security Group
g_all ln -s /var/log/fxpkcs11.log /tmp/fxpkcs11.log

하위 단계 3-D: 게이트웨이가 FutureX HSM Server를 쓰도록 HTTPS Inspection 구성

단계지침
1게이트웨이 / 각 Cluster Member / Security Group 명령줄에 접속합니다.
2Expert mode로 로그인합니다.
3$FWDIR/conf/hsm_configuration.C 를 백업합니다.
4그 파일을 편집합니다.
5아래 속성 값을 구성합니다.
6새 구성을 적용합니다.
7HSM Server 연결과 Outbound HTTPS Inspection 활성화를 확인합니다.
8Outbound 트래픽에 HTTPS Inspection이 정상 활성화됐는지 확인합니다.

3단계 백업:

# 게이트웨이 / 각 Cluster Member
cp -v $FWDIR/conf/hsm_configuration.C{,_BKP}

# Scalable Platform Security Group
g_cp -v $FWDIR/conf/hsm_configuration.C{,_BKP}

4단계 편집:

vi $FWDIR/conf/hsm_configuration.C

5단계 구성:

:enabled ("yes")
:hsm_vendor_name ("FutureX HSM")
:lib_filename ("")
:CA_cert_public_key_handle (<Number of "CAPublicKey" Handle for CA certificate>)
:CA_cert_private_key_handle (<Number of "CAPrivateKey" Handle for CA certificate>)
:CA_cert_buffer_handle (<Number of "CACert" Handle for CA certificate>)
:token_id ("<Password for Partition on FutureX HSM Server>")
)

각 속성:

속성설명
:enabled ()"yes"(HSM 켜기) 또는 "no"(끄기).
:hsm_vendor_name ()문자열 "FutureX HSM" 을 담아야 합니다.
:lib_filename ()게이트웨이 / 각 Cluster Member / Security Group의 libfxpkcs11.so 전체 경로. 파일이 기본 경로 /usr/lib/libfxpkcs11.so 에 없으면 전체 경로를 명시적으로 설정 해야 합니다.
:CA_cert_<XXX> ()FutureX HSM Server에서 keytable 명령으로 얻은 핸들 값(2/3단계 참고).
:token_id ()FutureX HSM Server의 파티션 암호.

예:

(:enabled ("yes")
:hsm_vendor_name ("FutureX HSM")
:lib_filename ("")
:CA_cert_public_key_handle (1)
:CA_cert_private_key_handle (2)
:CA_cert_buffer_handle (3)
:token_id ("p@ssw0rd")
)

6단계 — 구성 적용:

  • :hsm_vendor_name () 값을 문자열 "FutureX HSM" 으로 명시적으로 정의(또는 변경)했다면, 모든 서비스를 재시작합니다.
# 게이트웨이 / 각 Cluster Member
cprestart

# Scalable Platform Security Group
g_all cprestart
  • :hsm_vendor_name () 값에 이미 "FutureX HSM" 이 들어 있었다면, 로컬 정책을 fetch합니다.
# 게이트웨이 / 각 Cluster Member
fw fetch local

# Scalable Platform Security Group
g_fw fetch local

7단계 확인:

# 게이트웨이 / 각 Cluster Member
cpstat https_inspection -f all

# Scalable Platform Security Group
g_all cpstat https_inspection -f all

출력에 다음이 나와야 합니다.

HSM partition access (Accessible/Not Accessible): Accessible
Outbound status (HSM on/HSM off/HSM error): HSM on

자세한 내용은 CLI로 HSM HTTPS Inspection 모니터링 참고. 8단계로 내부 컴퓨터에서 HTTPS 사이트에 접속해 브라우저가 HSM Server에서 서명한 CA 인증서를 받으면 성공입니다.

게이트웨이에서 HSM Server로 가는 통신 끄기

예를 들어 HSM Server를 점검(maintenance) 할 때, 게이트웨이 / Cluster Member / Security Group에서 HSM Server로 가는 통신을 끌 수 있습니다.

단계지침
1게이트웨이 / 각 Cluster Member / Security Group 명령줄에 접속합니다.
2Expert mode로 로그인합니다.
3$FWDIR/conf/hsm_configuration.C 파일을 편집합니다.
4enabled 파라미터 값을 "no" 로 설정합니다.
5변경을 저장하고 편집기를 빠져나옵니다.
6Security Group이면 파일을 모든 멤버에 복사합니다.
7Check Point 서비스를 재시작합니다.

3단계 편집:

vi $FWDIR/conf/hsm_configuration.C

4단계 설정:

:enabled ("no")

6단계(Security Group) 복사:

asg_cp2blades $FWDIR/conf/hsm_configuration.C

7단계 재시작:

cprestart

게이트웨이가 HSM과 동작할 때 HTTPS Inspection 모니터링

HTTPS Inspection 데몬 wstlsd 가 게이트웨이 / Cluster Member / Security Group에서 초기화될 때, 해당 장비가 HSM Server와 연동되도록 구성되었는지 확인합니다. 상태를 보는 방법은 세 가지입니다.

SmartConsole 로그로 HSM HTTPS Inspection 모니터링

SmartConsole에서 Gemalto HSM Server 관련 HTTPS Inspection 로그를 보려면:

단계지침
1왼쪽 탐색 창에서 Logs & Events > Logs 를 클릭합니다.
2검색 창에 type:Control 을 입력합니다.
3해당 로그를 더블클릭합니다.
4로그에서 More 섹션을 봅니다.

나올 수 있는 로그는 다음과 같습니다.

로그 설명추가 정보 설명
HSM is enabled for outbound HTTPS inspection with <HSM Vendor>:enabled()"yes" 로 설정됨. <HSM Vendor>:hsm_vendor_name () 값입니다.
HSM is disabled for outbound HTTPS inspectionHSM Client 소프트웨어 미설치, $FWDIR/conf/hsm_configuration.C 파일 부재, :enabled()"no", 또는 :enabled() 속성 손상 중 하나.
Outbound HTTPS inspection works with HSM / Gateway is connected to HSM:enabled()"yes" 이고 게이트웨이가 HSM Server에 연결됨.
Outbound HTTPS inspection is off due to HSM error오류 발생(상세 문자열은 아래).

HSM is disabled 의 경우 Outbound HTTPS Inspection은 HSM Server 없이 동작하고, SSL 키는 게이트웨이 / Cluster Member / Security Group에 저장 됩니다.

HSM error 일 때 나올 수 있는 문자열:

HSM configuration file is corrupted
Loading HSM library failed
There is no trust or no connectivity with HSM server
Login to HSM partition failed
Error importing CA certificate from HSM server
Error generating key pair on HSM server

예:

HSM HTTPS Inspection 로그 예 1
HSM HTTPS Inspection 로그 예 1
HSM HTTPS Inspection 로그 예 2
HSM HTTPS Inspection 로그 예 2

SNMP로 HSM HTTPS Inspection 모니터링

게이트웨이 / Cluster Member / Security Group에서 HTTPS Inspection 상태와 HSM Server 연결 상태를 SNMP로 조회할 수 있습니다.

  • 전체 OID: .iso.org.dod.internet.private.enterprises.checkpoint.products.httpsInspection
  • 숫자 OID: .1.3.6.1.4.1.2620.1.54

조회할 수 있는 SNMP 객체와 반환 값은 다음과 같습니다.

SNMP OID객체 / 번호반환 문자열설명
httpsInspectionStatus.1.3.6.1.4.1.2620.1.54.1On / OffHTTPS Inspection 기능 구성 여부.
httpsInspectionStatusDescription.1.3.6.1.4.1.2620.1.54.2HTTPS Inspection is on / HTTPS Inspection is off위 상태 설명.
hsmStatus.hsmEnabled.1.3.6.1.4.1.2620.1.54.3.1Enabled / Disabled:enabled()"yes"(Enabled)인지, 아니면 미설치·파일 부재·"no"·속성 손상(Disabled)인지.
hsmStatus.hsmEnabledDescription.1.3.6.1.4.1.2620.1.54.3.2HSM is enabled for HTTPS inspection with <HSM Vendor> / HSM is disabled for HTTPS inspection위 구성 상태 설명. <HSM Vendor>:hsm_vendor_name () 값.
hsmStatus.hsmPartitionAccess.1.3.6.1.4.1.2620.1.54.3.3N/A / Accessible / Not Accessible파티션 접근 확인 실패(주로 HSM 구성이 꺼짐) / 접근 성공 / 오류로 접근 실패.
hsmStatus.hsmPartitionAccessDescription.1.3.6.1.4.1.2620.1.54.3.4HSM partition access cannot be checked / Gateway can access HSM partition for HTTPS inspection / Gateway cannot access HSM partition for HTTPS inspection: <Error Message>위 접근 상태 설명.
hsmStatus.outboundStatus.1.3.6.1.4.1.2620.1.54.3.5N/A / HSM on / HSM off / HSM errorOutbound HTTPS Inspection 상태.
hsmStatus.outboundStatusDescription.1.3.6.1.4.1.2620.1.54.3.6Cannot get HTTPS inspection outbound status... / Outbound HTTPS inspection works with HSM / Outbound HTTPS inspection works without HSM / Outbound HTTPS inspection is off due to HSM error: <Error Message>위 Outbound 상태 설명.

상태 값의 의미를 좀 더 풀어 보면 다음과 같습니다.

  • Disabled(hsmEnabled) / HSM off(outboundStatus) — HSM Client 미설치, $FWDIR/conf/hsm_configuration.C 부재, :enabled()"no", 또는 속성 손상 중 하나. 이 경우 Outbound HTTPS Inspection은 HSM 없이 동작하고 SSL 키는 게이트웨이에 저장 됩니다.
  • HSM on:enabled()"yes" 이고 게이트웨이가 HSM Server에 연결됨.
  • HSM error:enabled()"yes" 인데 오류 발생. 이 경우 Outbound HTTPS Inspection이 동작하지 않아 HTTPS 트래픽이 통과하지 못 합니다.
  • N/A(outboundStatus) — wstlsd 데몬이 막 시작되면, 실제 상태를 얻기까지 1분 이하를 기다려야 합니다.

outboundStatus / 파티션 접근의 가능한 오류 메시지:

HSM configuration file is corrupted
Loading HSM library failed
There is no trust or no connectivity with HSM server
Login to HSM partition failed
Error importing CA certificate from HSM server
Error generating key pair on HSM server

SNMP 조회 예:

# snmpwalk -m $CPDIR/lib/snmp/chkpnt.mib -On -v 2c -c public localhost 1.3.6.1.4.1.2620.1.54
.1.3.6.1.4.1.2620.1.54.1.0 = STRING: On
.1.3.6.1.4.1.2620.1.54.2.0 = STRING: HTTPS Inspection is on
.1.3.6.1.4.1.2620.1.54.3.1.0 = STRING: Enabled
.1.3.6.1.4.1.2620.1.54.3.2.0 = STRING: HSM is enabled for HTTPS inspection with Gemalto HSM
.1.3.6.1.4.1.2620.1.54.3.3.0 = STRING: Accessible
.1.3.6.1.4.1.2620.1.54.3.4.0 = STRING: Gateway can access HSM partition for HTTPS inspection
.1.3.6.1.4.1.2620.1.54.3.5.0 = STRING: HSM on
.1.3.6.1.4.1.2620.1.54.3.6.0 = STRING: Outbound HTTPS inspection works with HSM

# snmpwalk -m $CPDIR/lib/snmp/chkpnt.mib -Oa -v 2c -c public localhost 1.3.6.1.4.1.2620.1.54
CHECKPOINT-MIB::httpsInspectionStatus.0 = STRING: On
CHECKPOINT-MIB::httpsInspectionStatusDescription.0 = STRING: HTTPS Inspection is on
CHECKPOINT-MIB::hsmEnabled.0 = STRING: Enabled
CHECKPOINT-MIB::hsmEnabledDescription.0 = STRING: HSM is enabled for HTTPS inspection with Gemalto HSM
CHECKPOINT-MIB::hsmPartitionAccess.0 = STRING: Accessible
CHECKPOINT-MIB::hsmPartitionAccessDescription.0 = STRING: Gateway can access HSM partition for HTTPS inspection
CHECKPOINT-MIB::outboundStatus.0 = STRING: HSM on
CHECKPOINT-MIB::outboundStatusDescription.0 = STRING: Outbound HTTPS inspection works with HSM

CLI로 HSM HTTPS Inspection 모니터링

게이트웨이 / Cluster Member / Security Group에서 cpstat https_inspection 명령으로 HTTPS Inspection 상태와 HSM Server 연결 상태를 봅니다.

구문:

# 게이트웨이 / 각 Cluster Member
cpstat -h
cpstat https_inspection -f {default | hsm_status | all}

# Scalable Platform Security Group
cpstat -h
g_all cpstat https_inspection -f {default | hsm_status | all}

출력 예:

[Expert@GW:0]# cpstat https_inspection -f default
HTTPS inspection status (On/Off):
On
HTTPS inspection status description: HTTPS Inspection is on
[Expert@GW:0]#
[Expert@GW:0]# cpstat https_inspection -f hsm_status
HSM enabled (Enabled/Disabled):
Enabled
HSM enabled description:
HSM is enabled for HTTPS inspection with
Gemalto HSM
HSM partition access (Accessible/Not Accessible): Accessible
HSM partition access description:
Gateway can access to HSM partition for
HTTPS inspection
Outbound status (HSM on/HSM off/HSM error):
HSM on
Outbound status description:
Outbound HTTPS inspection works with HSM
[Expert@GW:0]#
[Expert@GW:0]# cpstat https_inspection -f all
HTTPS inspection status (On/Off):
On
HTTPS inspection status description:
HTTPS Inspection is on
HSM enabled (Enabled/Disabled):
Enabled
HSM enabled description:
HSM is enabled for HTTPS inspection with
Gemalto HSM
HSM partition access (Accessible/Not Accessible): Accessible
HSM partition access description:
Gateway can access to HSM partition for
HTTPS inspection
Outbound status (HSM on/HSM off/HSM error):
HSM on
Outbound status description:
Outbound HTTPS inspection works with HSM
[Expert@GW:0]#

각 출력 항목의 의미는 다음과 같습니다.

항목반환 문자열설명
HTTPS inspection status (On/Off)On / OffHTTPS Inspection 기능 구성 여부.
HTTPS inspection status descriptionHTTPS Inspection is on / HTTPS Inspection is off위 상태 설명.
HSM enabled (Enabled/Disabled)Enabled / Disabled:enabled()"yes"(Enabled)인지, 미설치·파일 부재·"no"·속성 손상(Disabled)인지.
HSM enabled descriptionHSM is enabled for HTTPS inspection with <HSM Vendor> / HSM is disabled for HTTPS inspection위 구성 상태 설명. <HSM Vendor>:hsm_vendor_name () 값.
HSM partition access (Accessible/Not Accessible)N/A / Accessible / Not Accessible파티션 접근 확인 실패 / 접근 성공 / 오류로 접근 실패.
HSM partition access descriptionHSM partition access cannot be checked / Gateway can access HSM partition for HTTPS inspection / Gateway cannot access HSM partition for HTTPS inspection: <Error Message>위 접근 상태 설명.
Outbound status (HSM on/HSM off/HSM error)N/A / HSM on / HSM off / HSM errorOutbound HTTPS Inspection 상태.
Outbound status descriptionCannot get HTTPS inspection outbound status... / Outbound HTTPS inspection works with HSM / Outbound HTTPS inspection works without HSM / Outbound HTTPS inspection is off due to HSM error: <Error Message>위 Outbound 상태 설명.

상태 값의 의미는 SNMP 절과 같습니다.

  • Disabled / HSM off — HSM Client 미설치, 구성 파일 부재, :enabled()"no", 데몬이 :enabled() 를 못 읽음, 또는 속성 손상 중 하나. 이 경우 Outbound HTTPS Inspection은 HSM 없이 동작하고 SSL 키는 게이트웨이(Cluster Member)에 저장 됩니다.
  • Accessible / HSM on:enabled()"yes" 이고 게이트웨이가 HSM Server에 연결됨.
  • Not Accessible / HSM error — 오류 발생. 이 경우 Outbound HTTPS Inspection이 동작하지 않아 HTTPS 트래픽이 통과하지 못 합니다.
  • N/A — wstlsd 데몬이 막 시작됐으면 실제 상태를 얻기까지 1분 이하를 기다립니다.

파티션 접근 / Outbound 상태의 가능한 오류 메시지:

HSM configuration file is corrupted
Loading HSM library failed
There is no trust or no connectivity with HSM server
Login to HSM partition failed
Error importing CA certificate from HSM server
Error generating key pair on HSM server