Docker 연동
    • PDF

    Docker 연동

    • PDF

    기사 요약

    VPC 환경에서 이용 가능합니다.

    도커에서 컨테이너를 생성하고 해당 컨테이너에서 호스트에 연결된 HSM을 사용하는 방법을 설명합니다.

    참고

    Docker 연동은 Thales 공식 문서를 기반으로 작성되었습니다. 사용 가이드에서 안내하는 내용 외에 더 많은 내용을 살펴보려면 Docker 연동 가이드를 참고해 주십시오.

    도커 호스트(클라이언트) 설정

    도커 호스트 서버의 경우 HSM 연결 또는 SafeNet Luna Client 사용에 언급된 설치 방법과 다른 별도의 스크립트를 사용하여 클라이언트를 설치해야 합니다.
    클라이언트를 설치하고 도커에서 HSM 접속을 확인하는 방법은 다음과 같습니다.

    1. 호스트 서버에서 다음의 스크립트를 실행하여 클라이언트를 설치해 주십시오.
      #!/bin/sh
      
      result=$(curl --location --request GET 'https://hardwaresecuritymodule.apigw.gov-ntruss.com/api/v1/client/configs')
      
      IFS=',' read -ra ADDR <<< "$result"
      
      DOWNLOAD_URL=${ADDR[5]}
      HSM1_URL=${ADDR[2]}
      HSM2_URL=${ADDR[3]}
      HSM3_URL=${ADDR[4]}
      
      cd ~
      
      wget DOWNLOAD_URL
      
      tar -xf 610-000401-003_SW_Linux_Luna_Minimal_Client_V10.3.0_RevA.tar
      
      // 도커 작업 디렉터리 생성
      mkdir $HOME/luna-docker
      mkdir $HOME/luna-docker/config
      mkdir $HOME/luna-docker/config/certs
      
      export ChrystokiConfigurationPath=$HOME/luna-docker/config
      
      cp LunaClient-Minimal-10.3.0-275.x86_64/Chrystoki-template.conf ~/luna-docker/config/Chrystoki.conf
      
      // HSM 서버 등록
      /usr/safenet/lunaclient/bin/vtl addServer -n $HSM1_URL -c ~/LunaClient-Minimal-10.3.0-275.x86_64/cert/fin-hsm001.pem
      /usr/safenet/lunaclient/bin/vtl addServer -n $HSM2_URL -c ~/LunaClient-Minimal-10.3.0-275.x86_64/cert/fin-hsm002.pem
      /usr/safenet/lunaclient/bin/vtl addServer -n $HSM3_URL -c ~/LunaClient-Minimal-10.3.0-275.x86_64/cert/fin-hsm003.pem
      
      cd ~
      
      rm -rf LunaClient-Minimal-10.3.0-275.x86_64
      
    2. 도커 환경에 맞게 config 파일 내부의 라이브러리 경로를 수정해 주십시오.
      sed -i -e 's#\./certs#/usr/local/luna/config/certs#g' -e 's#/usr/safenet/lunaclient/lib/libCryptoki2_64.so#/usr/local/luna/libs/64/libCryptoki2.so#g' -e 's#/usr/safenet/lunaclient/lib/libSoftToken.so#/usr/local/luna/libs/64/libSoftToken.so#g' config/Chrystoki.conf
      
    3. 도커 파일을 생성해 주십시오.
      • 도커 파일에서 필요한 lunaclient binary(예시의 lunacm, vtl, multitoken, ckdemo)는 /usr/safenet/lunaclient/bin에서 작업 디렉터리로 복사해 주십시오.
      FROM centos:centos7
      ARG MIN_CLIENT
      COPY $MIN_CLIENT.tar /tmp
      RUN mkdir -p /usr/local/luna
      RUN tar xvf /tmp/$MIN_CLIENT.tar --strip 1 -C /usr/local/luna
      ENV ChrystokiConfigurationPath=/usr/local/luna/config
      COPY lunacm /usr/local/bin
      COPY vtl /usr/local/bin
      COPY multitoken /usr/local/bin
      
      COPY ckdemo /usr/local/bin
      ENTRYPOINT /bin/bash
      #End of the Dockerfile
      
    4. 도커 파일을 빌드해 주십시오.
      docker build . --build-arg MIN_CLIENT=LunaClient-Minimal-V10.3.0.x86_64 -t lunaclient-image
      
    5. 빌드 결과를 확인해 주십시오.
      [root@intg-server luna-docker]# docker images
      REPOSITORY         TAG       IMAGE ID       CREATED        SIZE
      lunaclient-image   latest    712055d395c1   2 hours ago    285MB
      centos             centos7   8652b9f0cb4c   6 months ago   204MB
      
    6. 도커에 접속해 주십시오.
      docker run -it --name lunaclient -v $PWD/config:/usr/local/luna/config lunaclient-image
      
    7. 도커 내부에서 lunacm을 실행해 HSM 접속을 확인해 주십시오.
      [root@intg-server luna-docker]# docker run -it --name lunaclient -v $PWD/config:/usr/local/luna/config lunaclient-image
      [root@d356e4e300ac /]#
      [root@d356e4e300ac /]# lunacm
      lunacm (64-bit) v10.3.0-275. Copyright (c) 2020 SafeNet. All rights reserved.
      
      
          Available HSMs:
      
          Slot Id ->              0
          Label ->                Oracle
          Serial Number ->        1467067938952
          Model ->                LunaSA 7.7.0
          Firmware Version ->     7.7.0
          Bootloader Version ->   1.1.2
          Configuration ->        Luna User Partition With SO (PW) Key Export With Cloning Mode
          Slot Description ->     Net Token Slot
          FM HW Status ->         FM Ready
      
      
          Current Slot Id: 0
      

    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.