3.3. OpenStack Key Manager(barbican)와 Entrust nShield Connect XC HSM 통합


PKCS#11 백엔드를 Entrust nShield Connect XC HSM과 통합하려면 Ansible 역할을 사용하여 컨트롤러에 Entrust 클라이언트 소프트웨어를 다운로드 및 설치하고 사전 정의된 HSM IP 및 인증 정보를 포함하도록 Barbican 구성 파일을 생성합니다.

사전 요구 사항

  • Entrust nShield Connect XC에 대한 벤더 소프트웨어를 제공하는 암호로 보호된 HTTPS 서버입니다.

절차

  1. Barbican에 대한 configure-barbican.yaml 환경 파일을 생성하고 해당 환경과 관련된 매개변수를 추가합니다. 다음 스니펫을 예로 사용합니다.

        parameter_defaults:
            VerifyGlanceSignatures: true
            SwiftEncryptionEnabled: true
            BarbicanPkcs11CryptoLogin: 'sample string'
            BarbicanPkcs11CryptoSlotId: '492971158'
            BarbicanPkcs11CryptoGlobalDefault: true
            BarbicanPkcs11CryptoLibraryPath: '/opt/nfast/toolkits/pkcs11/libcknfast.so'
            BarbicanPkcs11CryptoEncryptionMechanism: 'CKM_AES_CBC'
            BarbicanPkcs11CryptoHMACKeyType: 'CKK_SHA256_HMAC'
            BarbicanPkcs11CryptoHMACKeygenMechanism: 'CKM_NC_SHA256_HMAC_KEY_GEN'
            BarbicanPkcs11CryptoMKEKLabel: 'barbican_mkek_10'
            BarbicanPkcs11CryptoMKEKLength: '32'
            BarbicanPkcs11CryptoHMACLabel: 'barbican_hmac_10'
            BarbicanPkcs11CryptoThalesEnabled: true
            BarbicanPkcs11CryptoEnabled: true
            ThalesVars:
                thales_client_working_dir: /tmp/thales_client_install
                thales_client_tarball_location: https://your server/CipherTools-linux64-dev-12.40.2.tgz
                thales_client_tarball_name: CipherTools-linux64-dev-12.40.2.tgz
                thales_client_path: linux/libc6_11/amd64/nfast
                thales_client_uid: 42481
                thales_client_gid: 42481
                thales_km_data_location: https://your server/kmdata_post_card_creation.tar.gz
                thales_km_data_tarball_name: kmdata_post_card_creation.tar.gz
                thales_rfs_server_ip_address: 192.168.10.12
                thales_hsm_config_location: hsm-C90E-02E0-D947
                nShield_hsms:
                  - name: hsm-name.example.com
                    ip: 192.168.10.10
                thales_rfs_user: root
                thales_rfs_key: |
                    -----BEGIN RSA PRIVATE KEY-----
    Sample private key
    -----END RSA PRIVATE KEY-----
    
    resource_registry:
        OS::TripleO::Services::BarbicanBackendPkcs11Crypto: /home/stack/tripleo-heat-templates/puppet/services/barbican-backend-pkcs11-crypto.yaml
    표 3.4. heat 매개변수
    매개변수현재의

    BarbicanSimpleCryptoGlobalDefault

    simplecrypto 가 글로벌 기본값인지 여부를 결정하는 부울입니다.

    BarbicanPkcs11GlobalDefault

    PKCS#11 이 글로벌 기본값인지 여부를 결정하는 부울입니다.

    BarbicanPkcs11CryptoSlotId

    Barbican에서 사용할 Virtual HSM의 슬롯 ID입니다.

    BarbicanPkcs11CryptoMKEKLabel

    이 매개 변수는 HSM에서 생성된 mKEK의 이름을 정의합니다. director는 이 이름을 사용하여 HSM에 이 키를 생성합니다.

    BarbicanPkcs11CryptoHMACLabel

    이 매개 변수는 HSM에 생성된 HMAC 키의 이름을 정의합니다. director는 이 이름을 사용하여 HSM에 이 키를 생성합니다.

    ThalesVars

    thales_client_working_dir

    사용자 정의 임시 작업 디렉터리입니다.

    thales_client_tarball_location

    Entrust 소프트웨어의 HTTPS 서버 위치를 지정하는 URL입니다.

    thales_km_data_tarball_name

    Entrust 소프트웨어 tarball의 이름입니다.

    thales_rfs_key

    RFS 서버에 대한 SSH 연결을 가져오는 데 사용되는 개인 키입니다. 이를 RFS 서버에 인증된 키로 추가해야 합니다.

  2. 사용자 지정 configure-barbican.yaml 환경 파일과 함께 barbican.yaml 및 Thales 특정 barbican-pkcs11-thales.yaml 환경 파일과 함께 openstack overcloud deploy 명령을 실행할 때 배포에 필요한 기타 템플릿을 포함합니다.

    $ openstack overcloud deploy \
        --timeout 100 \
        --templates /usr/share/openstack-tripleo-heat-templates \
        --stack overcloud \
        --libvirt-type kvm \
        --ntp-server clock.redhat.com \
        -e /home/stack/containers-prepare-parameter.yaml \
        -e /home/stack/templates/config_lvm.yaml \
        -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \
        -e /home/stack/templates/network/network-environment.yaml \
        -e /home/stack/templates/hostnames.yml \
        -e /home/stack/templates/nodes_data.yaml \
        -e /home/stack/templates/extra_templates.yaml \
        -e /usr/share/openstack-tripleo-heat-templates/environments/services/barbican.yaml \
        -e /usr/share/openstack-tripleo-heat-templates/environments/barbican-backend-pkcs11-thales.yaml \
        -e /home/stack/templates/configure-barbican.yaml \
        --log-file overcloud_deployment_with_atos.log

검증

  1. 테스트 보안을 생성합니다.

    $ openstack secret store --name testSecret --payload 'TestPayload'
    +---------------+------------------------------------------------------------------------------------+
    | Field         | Value                                                                              |
    +---------------+------------------------------------------------------------------------------------+
    | Secret href   | https://192.168.123.163/key-manager/v1/secrets/4cc5ffe0-eea2-449d-9e64-b664d574be53 |
    | Name          | testSecret                                                                         |
    | Created       | None                                                                               |
    | Status        | None                                                                               |
    | Content types | None                                                                               |
    | Algorithm     | aes                                                                                |
    | Bit length    | 256                                                                                |
    | Secret type   | opaque                                                                             |
    | Mode          | cbc                                                                                |
    | Expiration    | None                                                                               |
    +---------------+------------------------------------------------------------------------------------+
  2. 방금 생성한 시크릿의 페이로드를 검색합니다.

    openstack secret get https://192.168.123.163/key-manager/v1/secrets/4cc5ffe0-eea2-449d-9e64-b664d574be53 --payload
    +---------+-------------+
    | Field   | Value       |
    +---------+-------------+
    | Payload | TestPayload |
    +---------+-------------+

3.3.1. Entrust nShield Connect를 사용한 로드 밸런싱

유효한 HSM 배열을 지정하여 Entrust nShield Connect HSMs에서 로드 공유를 활성화할 수 있습니다. 두 개 이상의 HSM이 나열되면 로드 공유가 활성화됩니다.

이 기능은 이 릴리스에서 기술 프리뷰로 제공되므로 Red Hat에서 완전히 지원되지 않습니다. 테스트 용도로만 사용해야 하며 프로덕션 환경에 배포해서는 안 됩니다.

기술 프리뷰 기능에 대한 자세한 내용은 적용 범위 상세 정보를 참조하십시오.

절차

  • Entrust nShield Connect HSM에 대한 이름ip 매개변수를 구성할 때 하나 이상의 연결을 지정하면 로드 공유를 활성화합니다.

      parameter_defaults:
        ....
        ThalesVars:
          ....
          nshield_hsms:
            - name: hsm-name1.example.com
              ip: 192.168.10.10
            - name: hsm-nam2.example.com
              ip: 192.168.10.11
          ....
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.