← Cloudflare SSL/TLS / ssl / keyless-ssl / hardware-security-modules
Azure Dedicated HSM
Tento tutoriál používá Azure Dedicated HSM ↗ : implementace certifikovaná podle FIPS 140-2 Level 3 založená na zařízení Gemalto SafeNet Luna a790.
Než začnete
Ujistěte se, že máte:
- Podle doporučení společnosti Microsoft návod ↗ pro nasazení HSM do existující virtuální sítě pomocí PowerShellu
- Nainstalováno klientský software SafeNet ↗
1. Vytvoření, přiřazení a inicializace nového oddílu
Prvním krokem je vytvoření oddílu HSM, který si můžete představit jako samostatný logický HSM v rámci vašeho zařízení Azure Dedicated HSM.
vm$ ssh tenantadmin@hsm
[local_host] lunash:>hsm login
Please enter the HSM Administrators' password:
> ********
'hsm login' successful.
Command Result : 0 (Success)
[local_host] lunash:>partition create -partition KeylessSSL
Type 'proceed' to create the partition, or
'quit' to quit now.
> proceed
'partition create' successful.
Command Result : 0 (Success)Dále je potřeba přiřadit oddíl klientovi, v tomto případě vašemu serveru klíčů.
[local_host] lunash:>client assignpartition -client azure-keyless -partition KeylessSSL
'client assignPartition' successful.
Command Result : 0 (Success)Po přiřazení oddílu spusťte lunacm z vašeho virtuálního serveru a inicializujte oddíl.
vm$ lunacm
lunacm (64-bit) v7.2.0-220. Copyright (c) 2018 SafeNet. All rights reserved.
Available HSMs:
Slot Id -> 0
Label ->
Serial Number -> XXXXXXXXXXXXX
Model -> LunaSA 7.2.0
Firmware Version -> 7.0.3
Configuration -> Luna User Partition With SO (PW) Signing With Cloning Mode
Slot Description -> Net Token Slot
Current Slot Id: 0
lunacm:>partition init -label KeylessSSL -domain cloudflare
Enter password for Partition SO: ********
Re-enter password for Partition SO: ********
You are about to initialize the partition.
All contents of the partition will be destroyed.
Are you sure you wish to continue?
Type 'proceed' to continue, or 'quit' to quit now ->proceed
Command Result : No Error2. Vygenerování páru klíčů RSA a žádosti o podepsání certifikátu (CSR)
Než spustíte níže uvedené příkazy, ověřte si u svého týmu pro informační bezpečnost a/nebo kryptografii schválené postupy pro vytváření klíčů ve vaší organizaci.
# cmu generatekeypair -keyType=RSA -modulusBits=2048 -publicExponent=65537 -sign=1 -verify=1 -labelpublic=myrsakey -labelprivate=myrsakey -keygenmech=1
Please enter password for token in slot 0 : ********
# cmu list
Please enter password for token in slot 0 : ********
handle=51 label=myrsakey
handle=48 label=myrsakeyPomocí klíče vytvořeného v předchozím kroku vygenerujte CSR, který lze odeslat k podpisu veřejně důvěryhodné certifikační autoritě (CA).
# cmu requestCertificate -c="US" -o="Example, Inc." -cn="azure-dedicatedhsm.example.com" -s="California" -l="San Francisco" -publichandle=48 -privatehandle=51 -outputfile="rsa.csr" -sha256withrsa
Please enter password for token in slot 0 : ********
Using "CKM_SHA256_RSA_PKCS" Mechanism3. Získejte podepsaný certifikát od své certifikační autority (CA) a nahrajte ho
Poskytněte CSR vytvořený v předchozím kroku preferované certifikační autoritě (CA) vaší organizace, prokažte podle požadavků, že doménu ovládáte, a poté stáhněte podepsané certifikáty SSL. Postupujte podle pokynů uvedených v Nahrání certifikátů Keyless SSL.
4. Upravte konfigurační soubor gokeyless a restartujte službu
Nakonec je třeba upravit konfigurační soubor, který server klíčů načte při spuštění. Nezapomeňte změnit object=mykey a pin-value=username:password hodnoty tak, aby odpovídaly zadanému štítku klíče a vámi vytvořenému uživateli CU.
Otevřete /etc/keyless/gokeyless.yaml a bezprostředně poté:
private_key_stores:
- dir: /etc/keyless/keyspřidat:
- uri: pkcs11:token=KeylessSSL;object=myrsakey?module-path=/usr/safenet/lunaclient/lib/libCryptoki2_64.so&pin-value=password&max-sessions=1Po uložení konfiguračního souboru restartujte gokeyless a ověřte, že se úspěšně spustil.
sudo systemctl restart gokeyless.service
sudo systemctl status gokeyless.service -l