Ansichten:

Bereiten Sie Ihre Linux-Endpunkte darauf vor, dass der Trend Vision One Endpoint Security Agent in der UEFI Secure Boot-Umgebung ausgeführt werden kann.

Einige Versionen des Agenten für Linux sind kompatibel mit Unified Extensible Firmware Interface (UEFI) Secure Boot.
Wenn Secure Boot aktiviert ist, überprüft der Linux-Kernel des Computers die PKI-Signatur jedes Kernel-Moduls, bevor es geladen wird. Es werden weder unsignierte Kernel-Module noch Module mit ungültigen Signaturen geladen. Diese Agentenfunktionen installieren Kernel-Module:
  • Anti-Malware
  • Web Reputation
  • Firewall
  • Integritätsüberwachung
  • Eindringschutz
  • Application Control
Wenn Sie diese Funktionen mit Secure Boot verwenden möchten, müssen Sie die öffentlichen Schlüssel von Trend Micro in die Firmware des Computers eintragen, damit er diese Kernel-Modul-Signaturen validieren kann.
Methoden variieren je nach Plattform:

Laden Sie die öffentlichen Schlüssel von Trend Micro herunter

Bevor Sie sie auf Secure Boot-Computern registrieren, müssen Sie zuerst die öffentlichen Schlüssel von Trend Micro herunterladen, die zur Validierung von Kernel-Modul-Signaturen verwendet werden. Die öffentlichen Schlüssel sind im DER-Format kodiert. Wenn Sie Probleme beim Herunterladen der Schlüsseldateien haben, klicken Sie mit der rechten Maustaste und wählen Sie Save Link As.
  • DS2022.der SHA-256 Zertifikat-Hash: BB FA 4A B8 3C 61 A0 3F 1D D0 4B A7 A4 51 75 E7 D7 EF D3 C8 4B F3 D9 FE A0 CE AB B9 2A F4 8E 92
  • DS20_V2.der SHA-256 Zertifikat-Hash: B3 36 43 7B 12 B3 EB 6A 4E 4A 44 62 40 4F 1F BD 21 32 70 77 4C 33 7D 1C 5A 58 7C 99 83 F7 30 C7
Wenn der Agent auf SuSE 15 mit Kerneln 5.3.18-24.34-default oder höher bereitgestellt wird, ist DS20_v2.der erforderlich, da sich die Überprüfung der Kernel-Modul-Signaturen geändert hat.
  • DS11_2022.der SHA-256 Zertifikat-Hash: BB FA 4A B8 3C 61 A0 3F 1D D0 4B A7 A4 51 75 E7 D7 EF D3 C8 4B F3 D9 FE A0 CE AB B9 2A F4 8E 92
Der alte öffentliche Schlüssel für die Agentenversion 11 (DS11.der mit einem SHA-1-Hash 7D 96 56 5C 3A 77 B7 A7 24 49 D5 6A A5 0C 28 AA D7 3B 0B FB) ist am 5. Dezember 2022 abgelaufen. Um den Agenten nach diesem Datum weiterhin zu verwenden, müssen Sie diesen neuen öffentlichen Schlüssel registrieren. Andernfalls wird eine "Engine Offline" Fehlermeldung in der Konsole angezeigt, und der Computer wird nicht geschützt.
Sie müssen auch die Zwischenzertifizierungsstellen (CA) Zertifikate herunterladen, die erforderlich sind, um die Signaturkette der öffentlichen Schlüssel von Trend Micro zu validieren. Wenn Microsoft diese CA-Zertifikate aktualisiert, müssen Sie die neuen Zertifikate verwenden. Die CA-Zertifikate sind X.509 v3 CRT-Dateien, die im DER-Format kodiert sind.
  • MicWinProPCA2011_2011-10-19.crt Microsoft Windows Production PCA 2011 SHA-256 Zertifikat-Hash: E8 E9 5F 07 33 A5 5E 8B AD 7B E0 A1 41 3E E2 3C 51 FC EA 64 B3 C8 FA 6A 78 69 35 FD DC C7 19 61
  • MicCorUEFCA2011_2011-06-27.crt Microsoft Corporation UEFI CA 2011 SHA-256 Zertifikat-Hash: 48 E9 9B 99 1F 57 FC 52 F7 61 49 59 9B FF 0A 58 C4 71 54 22 9B 9F 8D 60 3A C4 0D 35 00 24 85 07
  • MicCorKEKCA2011_2011-06-24.crt Microsoft Corporation KEK CA 2011 SHA-256 Zertifikat-Hash: A1 11 7F 51 6A 32 CE FC BA 3F 2D 1A CE 10 A8 79 72 FD 6B BE 8F E0 D0 B9 96 E0 9E 65 D8 02 A5 03

Aktualisieren Sie den öffentlichen Schlüssel von Trend Micro

Sie werden aufgefordert, Ihre registrierten öffentlichen Schlüssel für signierte Trend Micro-Kernel-Module in bestimmten Szenarien zu aktualisieren.
  • Sie aktualisieren den Agenten auf eine neuere Hauptversion
    In jeder Hauptversion des Agents (zum Beispiel Agent 12.0 und 20.0) aktualisiert Trend Micro die öffentlichen Schlüssel für die Secure Boot Kernel-Modul-Signaturen. Neue Kernel-Modul-Signaturen können nicht mit einem alten öffentlichen Schlüssel validiert werden. Daher müssen Sie beim Upgrade des Agents auch den neuen öffentlichen Schlüssel registrieren.
  • Der öffentliche Schlüssel ist abgelaufen
    Wenn Trend Micro ein End-of-Life-Datum verlängert, erstellt Trend Micro einen neuen öffentlichen Schlüssel, der dem neuen End-of-Life-Datum entspricht. Sie müssen den alten öffentlichen Schlüssel durch den neuen ersetzen und dann den Agenten aktualisieren.
    Hinweis
    Hinweis
    Wenn ein öffentlicher Schlüssel für Secure Boot aus einem der oben genannten Gründe ungültig wird und Sie ihn nicht ersetzen, könnte eine Meldung "Engine Offline" in der Konsole erscheinen und der Computer wird nicht geschützt.
    Damit der Deep Security Agent 20 Secure Boot verwenden kann, ist es wichtig, die Schlüssel DS2022.der und DS20_V2.der zu registrieren.
    Agent-Version
    Schlüssel
    Ablaufdatum
    Kommentar
    20
    DS2022.der
    24-Nov-2031
    Ein neuer Ersatzschlüssel wird voraussichtlich ein Jahr vor dem Ablaufdatum veröffentlicht.
    DS20.der
    26-Nov-2024
    DS20.der wurde durch DS2022.der ersetzt. DS2022.der muss vor dem Ablaufdatum von DS20.der registriert worden sein.
    DS20_v2.der
    24. Okt. 2026 Erforderlich für SuSE 15 nach 5.3.18-24.34-default
    Erforderlich für SUSE 15 Kernel nach 5.3.18-24.34-default.
    DS20_V2.der wird bei Ablauf durch DS2022.der ersetzt. Stellen Sie sicher, dass DS2022.der vor dem Ablaufdatum von DS20_V2.der registriert ist.
    12
    DS12.der
    26-Nov-2024
    DS12.der wurde durch DS2022.der ersetzt. DS2022.der muss vor dem Ablaufdatum von DS12.der registriert worden sein.
    11
    DS11_2022.der
    24-Nov-2031
    DS11.der
    05-Dez-2022
  • Die Überprüfung der Signatur von Linux-Kernel-Modulen hat sich geändert
    Wenn Sie den Linux-Kernel aktualisieren, kann sich die Methode zur Überprüfung der Kernel-Modul-Signaturen ändern. Dies kann erfordern, dass Sie die registrierten öffentlichen Schlüssel ersetzen. Zum Beispiel hat SuSE 15 in der Kernel-Version 5.3.18-24.34-default die erweiterte Schlüsselverwendung (EKU) für die Code-Signatur-Verifizierung hinzugefügt, was eine neue Version des öffentlichen Schlüssels erforderte, DS20_v2.der.

Einen Secure Boot-Schlüssel für AWS registrieren

  1. Wenn Sie keinen Plattformschlüssel haben, lesen Sie die AWS-Dokumentation, um einen Secure Boot-Plattformschlüssel zu erstellen. Ersetzen Sie den Plattformschlüssel nur, wenn Sie auf die Firmware von all devices that are loaded during boot zugreifen können (zum Beispiel die GPU). Wenn Sie die Signaturkette der Firmware nicht aktualisieren können, um Ihren neuen Plattformschlüssel zu verwenden, könnte Secure Boot dazu führen, dass die Instanz dauerhaft nicht mehr booten kann.
  2. Erstellen Sie eine EC2-Instanz einer virtuellen Maschine aus einem Linux-Distributions-AMI, das Secure Boot unterstützt.
  3. Installieren Sie in der Konsole auf dieser Instanz den Machine Owner Key (MOK) Befehl mokutil, uefivars und Python. Geben Sie beispielsweise auf Red Hat Enterprise Linux die Befehle ein:
    yum install mokutil
    yum install python3
    curl -L -o uefivars.zip https://github.com/awslabs/python-uefivars/archive/refs/heads/main.zip
    unzip uefivars.zip
    Geben Sie auf Debian oder Ubuntu die Befehle ein:
    sudo apt-get update
    sudo apt-get install efitools
    sudo apt-get install python3
    curl -L -o uefivars.zip https://github.com/awslabs/python-uefivars/archive/refs/heads/main.zip
    unzip uefivars.zip
  4. Laden Sie die CA-Zertifikate und die öffentlichen Schlüssel von Trend Micro auf die Instanz hoch.
  5. Legen Sie jeden Plattformschlüssel, das CA-Zertifikat und den öffentlichen Schlüssel von Trend Micro in eine UEFI-Signaturliste (.esl) Datei. Kombinieren Sie sie in eine Datei und konvertieren Sie sie dann in das Binärformat (.bin). Je nachdem, welche öffentlichen Schlüssel von Trend Micro Sie verwenden, könnten Sie beispielsweise die folgenden Befehle eingeben:
    # Convert your platform key into signatures list format
    cert-to-efi-sig-list YOUR_PLATFORM_KEY.crt YOUR_PLATFORM_KEY.esl
    # Convert CA certificates
    sbsiglist --owner 77fa9abd-0359-4d32-bd60-28f4e78f784b --type x509 --output MS_CA_KEK.esl MicCorKEKCA2011_2011-06-24.crt
    sbsiglist --owner 77fa9abd-0359-4d32-bd60-28f4e78f784b --type x509 --output MS_CA_PROD.esl MicWinProPCA2011_2011-10-19.crt
    sbsiglist --owner 77fa9abd-0359-4d32-bd60-28f4e78f784b --type x509 --output MS_CA_UEFI.esl MicCorUEFCA2011_2011-06-27.crt
    # Convert Trend Micro public keys
    sbsiglist --owner 77fa9abd-0359-4d32-bd60-28f4e78f784b --type x509 --output TREND_UEFI_db_DS11.esl DS11_2022.der
    sbsiglist --owner 77fa9abd-0359-4d32-bd60-28f4e78f784b --type x509 --output TREND_UEFI_db_DS20_v2.esl DS20_v2.der
    sbsiglist --owner 77fa9abd-0359-4d32-bd60-28f4e78f784b --type x509 --output TREND_UEFI_db_DS2022.esl DS2022.der
    # Combine CA and vendor public keys into one signatures list
    cat MS_CA_PROD.esl MS_CA_UEFI.esl TREND_UEFI_db_DS11.esl TREND_UEFI_db_DS20_v2.esl TREND_UEFI_db_DS2022.esl > ALL_SIGNATURES_db.esl
    cp *.esl /root/
    # Combine all and convert to binary
    ./python-uefivars-main/uefivars.py -i none -o aws -O YOUR_BINARY_SIGNING_CHAIN.bin -P ./YOUR_PLATFORM_KEY.esl -K ./MS_CA_KEK.esl --db ./ALL_SIGNATURES_db.esl
    wo 77fa9abd-0359-4d32-bd60-28f4e78f784b die GUID im SignatureOwner-Feld des Microsoft Corporation KEK CA 2011 Zertifikats ist.
  6. Laden Sie die .bin-Datei herunter.
  7. Erstellen Sie einen neuen EC2-Snapshot der Instanz.
  8. Gehen Sie zu AWS Cloudshell. Wählen Sie AktionenDateienUpload file und wählen Sie dann die Binärdatei aus.
  9. Erstellen Sie ein neues AMI mit der Snapshot-ID und der .bin-Datei, die Sie hochgeladen haben. Zum Beispiel könnten Sie den Befehl eingeben:
    aws ec2 register-image --name LIFT-UBUNTU20SecureBootX64 --uefi-data $(cat YOUR_BINARY_SIGNING_CHAIN.bin) --block-device-mappings "DeviceName=/dev/sda1,Ebs= {SnapshotId={{YOUR-SNAPSHOT-ID}},DeleteOnTermination=true}" --architecture x86_64 --root-device-name /dev/sda1 --virtualization-type hvm --boot-mode uefi
  10. Verwenden Sie das angepasste Image, um eine neue Instanz mit aktiviertem Secure Boot zu erstellen.
  11. Überprüfen Sie, ob die Schlüssel erfolgreich in die MOK-Liste aufgenommen wurden:
    mokutil --db | grep Trend
    und dass der Kernel die Trend Micro-öffentlichen Schlüssel erfolgreich geladen hat:
    dmesg | grep cert

Einen Secure Boot-Schlüssel für Google Cloud Platform registrieren

  1. Wenn Sie keinen Plattformschlüssel haben, lesen Sie die Google Cloud Platform-Dokumentation, um einen Secure Boot-Plattformschlüssel zu erstellen.
    Warnung
    Warnung
    Ersetzen Sie den Plattformschlüssel nur, wenn Sie auf die Firmware von all devices that are loaded during boot (for example, the GPU). zugreifen können. Wenn Sie die Signaturkette der Firmware nicht aktualisieren können, um Ihren neuen Plattformschlüssel zu verwenden, könnte Secure Boot dazu führen, dass die Instanz dauerhaft nicht mehr booten kann.
  2. Erstellen Sie benutzerdefinierte virtuelle Maschinen-Images mit den CA-Zertifikaten und Trend Micro-öffentlichen Schlüsseln, die von Secure Boot verwendet werden. Zum Beispiel könnten Sie den Befehl eingeben:
    gcloud compute images create [IMAGE_NAME] \
     --source-image=[SOURCE_IMAGE] \
     --source-image-project=[SOURCE_PROJECT] \
     --platform-key-file=YOUR_PLATFORM_KEY.der \
     --signature-database-file=./MicCorUEFCA2011_2011-06-27.crt,./MicWinProPCA2011_2011-10-19.crt,./DS2022.der,./DS20_v2.der,./DS11_2022.der[,OTHER_EXISTING_KEYS] \
     --guest-os-features=UEFI_COMPATIBLE
    Öffentliche Schlüssel müssen im DER- oder BIN-Format vorliegen. Trennen Sie jeden mit einem Komma ( , ). Weitere Informationen zur Befehlsnutzung und zur API finden Sie in der Google Cloud Platform-Dokumentation.
    Warnung
    Warnung
    Schließen Sie alle gültigen vorhandenen Secure Boot-Schlüssel ein, wenn Sie diesen Befehl eingeben. Dieser Befehl overwrites alle vorhandenen Schlüssel. Wenn Sie sie nicht einschließen, werden sie gelöscht und ihre Kernel-Module werden nicht geladen.
  3. Verwenden Sie das angepasste Image, um eine neue Instanz mit aktiviertem Secure Boot zu erstellen.
  4. Überprüfen Sie, ob die Schlüssel erfolgreich registriert sind:
    grep 'Trend' /proc/keys

Einen Secure Boot-Schlüssel für VMware vSphere oder physische Computer registrieren

Tipp
Tipp
Wenn viele Computer Secure Boot verwenden, erstellen Sie eine virtuelle Maschine oder eine Betriebssystem-Abbilddatei, nachdem Sie diesen Vorgang abgeschlossen haben. Neue Computer können von dieser Datei installiert werden.
Hinweis
Hinweis
Wenn der Computer Oracle Linux vor UEK R6U3 verwendet, verwenden Sie dieses Verfahren nicht. Stattdessen siehe Sicherer Boot-Schlüssel für Oracle Linux registrieren.
  1. Wenn Sie keinen Plattformschlüssel haben, lesen Sie die Dokumentation Ihrer Linux-Distribution, um einen Secure Boot-Plattformschlüssel zu generieren.
    Warnung
    Warnung
    Ersetzen Sie den Plattformschlüssel nur, wenn Sie auf die Firmware von all devices that are loaded during boot (for example, the GPU). zugreifen können. Wenn Sie die Signaturkette der Firmware nicht aktualisieren können, um Ihren neuen Plattformschlüssel zu verwenden, könnte Secure Boot den Computer dauerhaft am Starten hindern.
  2. Auf dem Computer, auf dem Secure Boot aktiviert wird, installieren Sie den Machine Owner Key (MOK) Befehl mokutil. Zum Beispiel, geben Sie auf Red Hat Enterprise Linux den Befehl ein:
    yum install mokutil
    Geben Sie auf Debian oder Ubuntu die Befehle ein:
    sudo apt-get update
    sudo apt-get install efitools
  3. Fügen Sie die öffentlichen Schlüssel von Trend Micro zur MOK-Liste hinzu. Trennen Sie mehrere Schlüssel (falls erforderlich) mit einem Leerzeichen. Zum Beispiel:
    mokutil --import /opt/ds_agent/DS2022.der /opt/ds_agent/DS20_v2.der
    Wenn Sie dazu aufgefordert werden, geben Sie ein Passwort ein, das Sie später in diesem Verfahren verwenden werden.
  4. Starten Sie den Computer neu.
  5. Wenn der Computer neu startet, öffnet sich die Shim UEFI-Schlüsselverwaltungskonsole. Drücken Sie eine beliebige Taste, um fortzufahren.
  6. Wählen Sie auf dem Perform MOK management-Bildschirm Enroll MOK aus.
  7. Wählen Sie View key X, wenn Sie die Zertifikats-Hashes der öffentlichen Schlüssel überprüfen müssen. Drücken Sie eine beliebige Taste, um zum Enroll MOK-Bildschirm zurückzukehren.
  8. Wählen Sie Continue auf dem Enroll the key(s)?-Bildschirm aus.
  9. Wählen Sie Yes aus und geben Sie das zuvor eingegebene Passwort ein.
  10. Auf dem The system must now be rebooted-Bildschirm wählen Sie OK, um Ihre Änderungen zu bestätigen und neu zu starten.
  11. Überprüfen Sie, ob die Schlüssel erfolgreich in die MOK-Liste aufgenommen wurden:
    • Auf den meisten Betriebssystemen geben Sie den Befehl ein: mokutil --test-key /opt/ds_agent/${certificate_file}.der
    • Unter Debian 11 geben Sie den Befehl ein: keyctl show %:.platform | grep 'Trend'

Einen Secure Boot-Schlüssel für Oracle Linux registrieren

Auf Oracle Linux UEK R6 releases prior to UEK R6U3 erfordert Secure Boot leicht abweichende Schritte. Mit dem Unbreakable Enterprise Kernel (UEK) vertraut der Kernel nur Schlüsseln, die sich im integrierten Schlüsselbund befinden. Aus diesem Grund muss der Kernel mit den öffentlichen Schlüsseln von Trend Micro neu kompiliert werden, und da dies den Kernel selbst ändert, müssen Sie auch das neue Kernel-Boot-Image signieren.
  1. Wenn Sie den Schritt für Signing the Kernel Module erreichen, ersetzen Sie pubkey.der durch den Namen Ihres Trend Micro Public Key. Zum Beispiel:
    sudo /usr/src/kernels/$(uname -r)/scripts/insert-sys-cert -s /boot/System.map$(uname -r) -z /boot/vmlinuz$(uname -r) -c ./DS20_v2.der
  2. Fahren Sie mit den verbleibenden Schritten fort, um das Kernel-Boot-Image zu signieren.
  3. Überprüfen Sie, ob der Schlüssel im builtin_trusted_keys-Schlüsselbund aufgeführt ist:
    sudo keyctl show %:.builtin_trusted_keys | grep 'Trend'

Einen Secure Boot-Schlüssel für Azure registrieren

  1. Laden Sie die erforderlichen CA-Zertifikate und Trend Micro Public Keys für Secure Boot herunter.
  2. Wenn Sie eine Generation 2 Azure-VM haben, die aus einem Linux-Distributionsabbild mit Unterstützung für Secure Boot erstellt wurde, stellen Sie sicher, dass diese VM die folgenden Kriterien erfüllt:
    • Der Sicherheitstyp ist als Trusted launch virtual machines angegeben.
    • Die Sicherheitsfunktion Enable Secure Boot ist ausgewählt.
    Wenn Sie keine Generation 2 Azure-VM haben, erstellen Sie sie aus einem Linux-Distributionsabbild, das Secure Boot unterstützt, wie folgt:
    • Wählen Sie ein VM-Image mit Unterstützung für Generation 2 aus.
    • Navigieren Sie zur Seite Create a virtual machine im Azure-Portal.
    • Wählen Sie in der Liste Security type die Option Trusted launch virtual machines aus.
    • Wählen Sie in Sicherheitsfunktionen konfigurieren Enable Secure Boot aus.
  3. Stellen Sie sicher, dass die Azure-VM gestoppt ist, und notieren Sie den Namen der VM-Festplatte.
  4. Führen Sie den az login-Befehl lokal oder über die Cloud Shell auf Azure aus.
  5. Führen Sie das folgende Skript zeilenweise aus, um eine URL für die gemeinsame Nutzung von Zugriffs-Signaturen (SAS) zu generieren:
    read -p 'Your Subscription ID: ' subscriptionId
    read -p 'Your Resource Group Name: ' resourceGroupName
    read -p 'Your Disk Name for Exporting: ' diskName
    read -p 'Input the Expiry Duration for SAS URL in seconds (for example, 3600): ' sasExpiryDuration
    read -p 'Your Storage Account Name to Hold this VHD file: ' storageAccountName
    read -p 'Your Storage Container Name: ' storageContainerName
    read -p 'Your Storage Account Key: ' storageAccountKey
    read -p 'Your Destination VHD File Name: ' destinationVHDFileName
    az account set --subscription $subscriptionId
    sas=$(az disk grant-access --resource-group $resourceGroupName --name $diskName --duration-in-seconds $sasExpiryDuration --query [accessSas] -o tsv)
    az storage blob copy start --destination-blob $destinationVHDFileName --destination-container $storageContainerName --account-name $storageAccountName --account-key $storageAccountKey --source-uri $sas
  6. Kopieren Sie den Inhalt der folgenden Datei und speichern Sie ihn als CreateSIGFromOSvhdWithCustomUEFIKey.json:
    {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "galleryName": {
                "defaultValue": "{{ change to custom gallary name for the deployed template }}",
                "type": "String",
                "metadata": {
                    "description": "Name of the gallery"
                }
            },
            "imageDefinitionName": {
                "defaultValue": "{{ change to custom image definition name }}",
                "type": "String",
                "metadata": {
                    "description": "Name of the image definition"
                }
            },
            "versionName": {
                "defaultValue": "{{ change to custom image version }}",
                "type": "String",
                "metadata": {
                    "description": "Name of the image version"
                }
            },
            "storageAccountName": {
                "defaultValue": "{{ change to custom storage account name contains the exported OS vhd }}",
                "type": "string",
                "metadata": {
                    "description": "Storage account name containing the OS vhd"
                }
            },
            "vhdURI": {
                "defaultValue": "{{ change to custom vhd URL of the exported OS vhd }}",
                "type": "String",
                "metadata": {
                    "description": "OS vhd URL"
                }
            },
            "imagePublisher": {
                "defaultValue": "{{ change to custom image publisher name }}",
                "type": "String",
                "metadata": {
                    "description": "Publisher name of the image"
                }
            },
            "offer": {
                "defaultValue": "{{ change to custom image offer name }}",
                "type": "String",
                "metadata": {
                    "description": "Offer of the image"
                }
            },
            "sku": {
                "defaultValue": "{{ change to custom image sku name }}",
                "type": "String",
                "metadata": {
                    "description": "Sku of the image"
                }
            },
            "osType": {
                "defaultValue": "Linux",
                "allowedValues": [
                    "Windows",
                    "Linux"
                ],
                "type": "String",
                "metadata": {
                    "description": "Operating system type"
                }
            },
            "gallerySecurityType": {
                "defaultValue": "TrustedLaunchSupported",
                "type": "String",
                "allowedValues": [
                    "TrustedLaunchSupported",
                    "TrustedLaunchAndConfidentialVMSupported"
                ],
                "metadata": {
                    "description": "Gallery Image security type"
                }
           
            },
            "customDBKeyDS20V2": {
                "defaultValue": "MIIFyzCCA7OgAwIBAgIJAOqCjczOdriRMA0GCSqGSIb3DQEBCwUAMGsxGjAYBgNVBAoMEVRyZW5kIE1pY3JvLCBJbmMuMSUwIwYDVQQDDBxUcmVuZCBNaWNybyBEZWVwIFNlY3VyaXR5IDIwMSYwJAYJKoZIhvcNAQkBFhdjc3VwcG9ydEB0cmVuZG1pY3JvLmNvbTAeFw0yMDExMjQwOTIzNTFaFw0yNjEwMjQwOTIzNTFaMGsxGjAYBgNVBAoMEVRyZW5kIE1pY3JvLCBJbmMuMSUwIwYDVQQDDBxUcmVuZCBNaWNybyBEZWVwIFNlY3VyaXR5IDIwMSYwJAYJKoZIhvcNAQkBFhdjc3VwcG9ydEB0cmVuZG1pY3JvLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK5e7V+I80gksQSQR74uxAZylIdKaLVqBob/J6Fbca8zt7pdxCLeebu6S3yT0DRiaS5UslWO21v9q09cuqd0GoDCCaImNdMpCfTB91OZf9t3gHili0cTUyzkktT8n4g2/xw2mzoXBrm5PvX2psCFwBFh3FE7Mb5VgeA/Bh8uz7jpV9+7+TjouHQ9DXgV2dIDD2QacvtvaGyFqssNLKoKOnEm6+7o0/Cl/9eIzJT0YKzqS2BFY13ANHVTJieNVrfl9dIu1XxU7ABQ8LOVI835CAIJGJyYtIhnu2bCei7AGZzPYP7Way7djOvmG+2t+NopIE/RMTknsn3NQMJtrUi4oJOAwI36z8dMDBASUUCpglK12C9z6vHelNrE4z/tiUFYei2OBsLB/yNP9HloVDq4CMvcrZzwWbUtxmtcbTIW/uU1LOsqV92aHIMA3ZivLvvAPvlr4/8NltTvEy5N/CsxUxAeC21AbE9OXDyyE/9C+VB16YvrqQIEm5IW1Q0/fmmO6rBwy3Uu+4vZcUkq0QbOji/XcNbu17Cfg5fMuuLKu7kwqtl0JZxhZ0XBNdmhOL+XfwrZbZvCqXIKFZo1QsXsbFIoiOWVakXDonUTLPLJX5n5/7iIrw7hiUViPvTrkAUSjUm5OIu1p+hkKjGDHehdU4XX2bv9rrLAh3vIKxQSCTdlAgMBAAGjcjBwMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMB0GA1UdDgQWBBQ50RP6qbc9bEOp0jufVa+TgZWLlzAfBgNVHSMEGDAWgBQ50RP6qbc9bEOp0jufVa+TgZWLlzANBgkqhkiG9w0BAQsFAAOCAgEAXBhNUgJeKlB/ZwwsIjJsGXa9IPczWfTklg85hZILCT5Khcxl36zs6AEdtbW5pjV/hN+bV5LD84ZHoAa76ib4iHdU5nK4Q35AhWFdXMTCjg5bm78lESkyC7vLIjj1ITy2K3k+CgZosDXSe9V77AIN43+R4wwqbsI/FEuXmLw8UHW1DSQphjzcNGXAdbJVXhGoYLLBpyZ/OSFqhcqWwTtHZukrivtfix8fAQZ1GvfPZA0NlseXbSh883aERqwgP/etvdkUFuby0P66YTSaGZ4Dc9Q5NB4sJ+W/GcSz7Tnn2cF/hZor9ErjC+AUD0nvhn0IaJxzcCpz53XjFD8K/XeHVpBP8FqHFCoh7Ro4WcYBFR+DfoCc9Xq6tovWFZlcokybM7AmYw3DDisclkfMZFmhxi+yZQ6fmN9evVp2g7X/+w+hHrV38pnpz323186ALqSXShBPqG3HcQRvjdnS1Ve1nS8UKvy+ae+0+TKR9KTD+jQsL9daW4NfaSaBetFmdnbuNRIlKXscgoSne+Qi3YhtI93BoOnfpxEbWB4sWnSHkDO9iekSa42tabtCaY1d1MHxdYtdEBb1Gx5aWl8CmsZoWB0xRrk1NG7S8Mi+ux/2LiOfECkm1mpzaUY0w4dKfTT7/YeVAm1zgumWX+T0dsDc5Sc3t7AxiLHSmTxtYphFT4c=",
                "type": "String",
                "metadata": {
                    "description": "Custom UEFI DB DS20_V2.der in base64 format"
                }
            },
            "customDBKeyDS2022": {
                "defaultValue": "MIIFzzCCA7egAwIBAgIJAIfzdTk2xdt2MA0GCSqGSIb3DQEBCwUAMG0xGjAYBgNVBAoMEVRyZW5kIE1pY3JvLCBJbmMuMScwJQYDVQQDDB5UcmVuZCBNaWNybyBEZWVwIFNlY3VyaXR5IDIwMjIxJjAkBgkqhkiG9w0BCQEWF2NzdXBwb3J0QHRyZW5kbWljcm8uY29tMB4XDTIxMTEyNjA2MzI0OVoXDTMxMTEyNDA2MzI0OVowbTEaMBgGA1UECgwRVHJlbmQgTWljcm8sIEluYy4xJzAlBgNVBAMMHlRyZW5kIE1pY3JvIERlZXAgU2VjdXJpdHkgMjAyMjEmMCQGCSqGSIb3DQEJARYXY3N1cHBvcnRAdHJlbmRtaWNyby5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCWb6JAyvw0PoMfHEMoBtj3hsRS8q5TPFoa6vDrAOcJZf0MTw3NZjlbnNzVP/Ri4J5DGpOWDXLte0ngugtdAG+w3y8UY8K2agEq1ehGIB3iUz45zPqDiQWs/huafj96q9FzNlWkLJT+M0E2l0qpNJ9NlyphbQ+cnccm1fHrNOMNtEbm31nW4DVD9VyB7BFf4NRS2h4FiDjRqUTAREMfk84MReQNEP98kPZLXR3ajE4MTZztYF6INR68nK9Jzig/vJjMRpMwFp+VkQaFnbiti6hbfRjS/GbCW62aJJCTHEavbyJKKY1+MRG406lYVlpH632iyvHfj2ni+B7lLvfi5qag+27mX+rBxlqLGuiwNu0geGv5GTlmDyx2onNWRz1akk5GJUloY2xG9ak92o6WsnDdJCXlFHytPc0R+FleZ/nNNpyzPYr1V8pqWenk+wpVcA7BsuRHofWYzut98GkjGYWXXjsipaDt1V2tTKNexFgzMCUIi/tJGmUe3U6czS4zk3tXiTq2Z3kZvrV59nRWJ+QEdax0ICNZH6AEqNNajgvcvP9WcZmOtgozNxoJuQrCETMKcPQ+JgLbSAiZU7zLIp1z7XF358G7Azu/AGFpJ0orSpZ9f2J7f1WQ8CsHUgz9KISw6P7b8j160CCEbLBxcRnORCGSeVpO5tdKt4a7oil5wwIDAQABo3IwcDAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUnbil6RHtl1sidPNZk/35mq9EaWAwHwYDVR0jBBgwFoAUnbil6RHtl1sidPNZk/35mq9EaWAwDQYJKoZIhvcNAQELBQADggIBADsauvVNB9jPnlkOJY48eayLDfDN6JMriDA8Q0s0X9EZtTBMcRSNGIQjtyr4LOCOMNrUGMG2XFKHa8S17QYtcFM/2Y+t7aOilSTokWTkwC9jU1XBESH7fV44d/fYEO5yD3LBYw5BIEgSqJg39rdWWWOD6N1CGRwH3SZwT1aeDj7+YqCYXIUFR/jUm6SXyenoxIlSkn6Ymf3Pil3GtnqqxW1+VfkL6YOa715/3ZxqdWfvf1ArUL0spEtQEm4yHwdCuhPWbIG1RKejSFSLk92B/RdxqvYXiCxZ5SLziOLslvW0s48LrQ0TEr/HWhiuJ2Q//NSSCllUYy9f6CwXnW38xml+zZu/I8qJ5smI19JfO77HeRGACNSp2GC/C2mamLb1dSXSDKG6YomcrEFSO9oll/gfi6hwCw5Lx21/dD2SBjKMnwBYGRvDsovE2BQ26GnzvKQbJZW+kN6s5Gi3L0C56kSLLZUFJUxkKFN2//Qyu0cMC0oeecr+CYDxAHD2FMf4HGJAAScnk9mcEhxYs+B2IW/nCaRjbYvUg1LdaOR9oCXH14rh+FJ9DZmR84ia/YArHOJXSX/ziy0ftePgAGqQBmHNIPDA0TSGUYg/P5fcfYTT2bKO6lV/uXiqmDQuuCm1ietUpaTAJ0kWdDxhDzJem+N1qABRpuT93xbaapiX3199",
                "type": "String",
                "metadata": {
                    "description": "Custom UEFI DB DS2022.der in base64 format"
                }
            }
        },
        "variables": {
            "linuxSignatureTemplate": "MicrosoftUefiCertificateAuthorityTemplate",
            "windowsSignatureTemplate": "MicrosoftWindowsTemplate"
        },
        "resources": [
            {
                "type": "Microsoft.Compute/galleries",
                "apiVersion": "2022-01-03",
                "name": "[parameters('galleryName')]",
                "location": "[resourceGroup().location]",
                "tags": {
                    "AzSecPackAutoConfigReady": "true"
                },
                "properties": {
                    "identifier": {}
                }
            },
            {
                "type": "Microsoft.Compute/galleries/images",
                "apiVersion": "2022-08-03",
                "name": "[concat(parameters('galleryName'), '/', parameters('imageDefinitionName'))]",
                "location": "[resourceGroup().location]",
                "dependsOn": [
                   "[resourceId('Microsoft.Compute/galleries', parameters('galleryName'))]"
                ],
                "tags": {
                    "AzSecPackAutoConfigReady": "true"
                },
                "properties": {
                    "hyperVGeneration": "V2",
                    "architecture": "x64",
                    "osType": "[parameters('osType')]",
                    "osState": "Generalized",
                    "identifier": {
                        "publisher": "[parameters('imagePublisher')]",
                        "offer": "[parameters('offer')]",
                        "sku": "[parameters('sku')]"
                    },
                    "features": [
                        {
                            "name": "SecurityType",
                            "value": "TrustedLaunchSupported"
                        }
                    ],
                    "recommended": {
                        "vCPUs": {
                            "min": 1,
                            "max": 16
                        },
                        "memory": {
                            "min": 1,
                            "max": 32
                        }
                    }
                }
            },
            {
                "type": "Microsoft.Compute/galleries/images/versions",
                "apiVersion": "2022-08-03",
                "name": "[concat(parameters('galleryName'), '/',parameters('imageDefinitionName'),'/', parameters('versionName'))]",
                "location": "[resourceGroup().location]",
                "dependsOn": [
                   "[resourceId('Microsoft.Compute/galleries/images', parameters('galleryName'), parameters('imageDefinitionName'))]",
                   "[resourceId('Microsoft.Compute/galleries', parameters('galleryName'))]"
                ],
                "properties": {
                    "publishingProfile": {
                        "targetRegions": [
                            {
                                "name": "[resourceGroup().location]",
                                "regionalReplicaCount": 1
                            }
                        ]
                    },
                    "storageProfile": {
                        "osDiskImage": {
                            "hostCaching": "ReadOnly",
                            "source": {
                                "uri": "[parameters('vhdURI')]",
                                "storageAccountId": "[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
                            }
                        }
                    },
                    "securityProfile": {
                        "uefiSettings": {
                            "signatureTemplateNames": [
                               "[if(equals(parameters('osType'),'Linux'), variables('linuxSignatureTemplate'), variables('windowsSignatureTemplate'))]"
                            ],
                            "additionalSignatures": {
                                "db": [
                                    {
                                        "type": "x509",
                                        "value": [
                                            "[parameters('customDBKeyDS20')]"
                                        ]
                                    },
                                    {
                                        "type": "x509",
                                        "value": [
                                            "[parameters('customDBKeyDS20V2')]"
                                        ]
                                    },
                                    {
                                        "type": "x509",
                                        "value": [
                                            "[parameters('customDBKeyDS2022')]"
                                        ]
                                     }
                                ]
                            }
                        }
                    }
                }
            }
        ]
    }
  7. Ersetzen Sie die Werte innerhalb von {{ }} im Abschnitt "parameters" der Datei CreateSIGFromOSvhdWithCustomUEFIKey.json, und beachten Sie dabei Folgendes:
    • Die vorherige CreateSIGFromOSvhdWithCustomUEFIKey.json-Datei ist ein Beispiel für die benutzerdefinierte Bereitstellung. DS20_v2.der und DS2022.der wurden bereits im Base64-Format ausgefüllt.
    • Um einen weiteren öffentlichen Schlüssel in die Vorlage aufzunehmen, verwenden Sie den folgenden Befehl, um den Schlüssel in das Base64-Format zu konvertieren, und fügen Sie dann den Schlüssel der JSON-Datei hinzu:
      openssl base64 -in <Trend_Micro_public_key> -A
  8. Erstellen Sie ein Shared Image Gallery (SIG)-Image mithilfe der Vorlageneinführung über die Azure CLI, wie folgt:
    az deployment group create --resource-group <resource-group-name> --template-file
          CreateSIGFromOSvhdWithCustomUEFIKey.json
  9. Erstellen Sie eine Azure-VM mit dem benutzerdefinierten Bereitstellungsabbild.
  10. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Schlüssel erfolgreich in die Machine Owner Key (MOK)-Liste aufgenommen wurden:
    mokutil --db | grep Trend
  11. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob der Kernel die öffentlichen Schlüssel von Trend Micro geladen hat:
    dmesg | grep cert
Für weitere Informationen siehe Secure Boot UEFI-Schlüssel.