目次

AgentのLinuxセキュアブートの設定

Linux 用エージェントの一部のバージョンは、 Unified Extensible Firmware Interface (UEFI) セキュアブートを備えた互換のです。

セキュアブートが有効になっている場合、コンピュータのLinuxカーネルは、各カーネルモジュールがロードされる前に、そのモジュールのPKI署名を確認します。署名のないカーネルモジュールや、署名が無効なモジュールはロードしません。次のエージェント機能により、カーネルモジュールがインストールされます。

  • 不正プログラム対策
  • Webレピュテーション
  • ファイアウォール
  • 変更監視
  • 侵入防御
  • アプリケーションコントロール

したがって、セキュアブートでこれらの機能を使用する場合は、トレンドマイクロの公開鍵これらのカーネル モジュールの署名を検証できるように、コンピューターのファームウェアで。

方法はプラットフォームによって異なります。

トレンドマイクロの公開鍵をダウンロードする

セキュアブートコンピュータに登録する前に、カーネルモジュールの署名を検証するためのトレンドマイクロ公開鍵をロードする必要があります。キーファイルのダウンロードで問題が発生した場合は、右クリックして [リンクに名前を付けて保存] を選択します。

公開鍵はDER形式でエンコードされます。

  • DS2022.der
    SHA-256証明書ハッシュ: 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証明書ハッシュ: 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

カーネル5.3.18-24.34-default以降のSuSE 15にエージェントを配備する場合、カーネルモジュールの署名の検証が変更されたため、 DS20_v2.der が必要です。

  • DS20.der
    SHA-256証明書ハッシュ: CB 44 47 C8 76 CF 28 79 2F 8E B6 76 F1 42 4B D4 93 82 70 0E 46 92 ED 69 83 0C C3 52 E9 E4 71 03
  • DS12.der
    SHA-256証明書ハッシュ: CB 44 47 C8 76 CF 28 79 2F 8E B6 76 F1 42 4B D4 93 82 70 0E 46 92 ED 69 83 0C C3 52 E9 E4 71 03
  • DS11_2022.der
    SHA-256証明書ハッシュ: 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

エージェントバージョン11の古い公開鍵 (SHA-1ハッシュ 7D 96 56 5C 3A 77 B7 A7 24 49 D5 6A A5 0C 28 AA D7 3B 0B FBを使用したDS11.der ) の有効期限は2022年12月5日です。この日以降も引き続きAgentを使用するには、この新しい公開鍵を登録する必要があります。そうしないと、コンソールに「Engine Offline」エラーメッセージが表示され、コンピュータが保護されなくなります。

また、トレンドマイクロの公開鍵の署名チェーンを検証するために必要な中間認証局 (CA) 証明書をダウンロードする必要があります。 MicrosoftがこれらのCA証明書をアップデートする場合は、新しい証明書を使用する必要があります。 CA証明書は、DER形式でエンコードされたX.509 v3 CRTファイルです。

  • MicWinProPCA2011_2011-10-19.crt
    Microsoft Windows製品版PCA 2011
    SHA-256証明書ハッシュ: 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証明書ハッシュ: 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証明書ハッシュ: 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

トレンドマイクロの公開鍵をアップデートする

次のいずれかに該当する場合は、署名済みのトレンドマイクロカーネルモジュールの登録済み公開鍵をアップデートする必要があります。

エージェントを新しいメジャーリリースにアップグレードする

エージェントのすべてのメジャーリリース ( エージェント 12.0および20.0など) では、セキュアブートカーネルモジュールの署名の公開鍵が更新されます。新しいカーネルモジュールの署名は、古い公開鍵では検証できません。そのため、 エージェントをアップグレードする場合は、新しい公開鍵も登録する必要があります。

公開鍵の有効期限が切れています

公開鍵は、Agentの延長サポートライフサイクル (EOL) の終了時に有効期限が切れます。Deep Security LTSのライフサイクル日付も参照してください。

サポート終了日が延長された場合、トレンドマイクロは新しいEOL日と一致する新しい公開鍵を作成します。古い公開鍵を新しいものに置き換えてから、 エージェントをアップグレードする必要があります。

Key 有効期限
DS2022.der 2031年11月24日
DS20.der 2024年11月26日
DS20_v2.der 2026年10月24日
SuSE 15では5.3.18-24.34-default以降で必須
DS12.der 2024年11月26日
DS11_2022.der 2031年11月24日
DS11.der 2022年12月5日
Linuxカーネルモジュールの署名検証の変更

Linuxカーネルをアップデートすると、カーネルモジュールの署名の検証方法が変わることがあります。登録済みの公開鍵を置き換える必要がある場合があります。

たとえば、SuSE 15では、カーネルバージョン5.3.18-24.34-defaultにEKUコード署名検証が追加されました。これには、新しい公開鍵バージョン DS20_v2.derが必要でした。

これらのいずれかの理由でセキュアブートの公開鍵が無効になり、その公開鍵を置き換えないと、コンソールに「エンジンがオフラインです」というエラーメッセージが表示され、コンピュータが保護されなくなる可能性があります。

AWSのセキュアブートキーの登録

  1. 必要なものをダウンロードセキュアブート用の CA 証明書とトレンドマイクロの公開鍵.

  2. プラットフォームキーがない場合は、AWSのドキュメントを参照して、でセキュアブートプラットフォームキーを生成してください。

    起動時にロードされるすべてのデバイス (GPUなど) のファームウェアにアクセスできる場合にのみ、プラットフォームキーを置き換えます。新しいプラットフォームキーを使用するようにファームウェアの署名チェーンをアップデートできない場合、セキュアブートによってインスタンスが完全に起動できなくなる可能性があります。

  3. セキュアブートをサポートするLinuxディストリビューションのAMIからEC2仮想マシンインスタンスを作成します。

  4. そのインスタンスのコンソールで、Machine Owner Key (MOK) コマンド mokutiluefivarsとPythonをインストールします。
    Red Hat Enterprise Linuxでは、次のコマンドを入力します。

    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

    DebianまたはUbuntuでは、次のコマンドを入力します。

    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
  5. CA証明書とトレンドマイクロの公開鍵をインスタンスにアップロードします。

  6. UEFI署名リスト (.esl) ファイル内に、各プラットフォームキー、CA証明書、およびトレンドマイクロ公開キーを配置します。それらを1つのファイルに結合し、バイナリ (.bin) 形式に変換します。
    使用するトレンドマイクロの公開鍵に応じて、次のコマンドを入力します。

    # 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_DS12.esl DS12.der
    sbsiglist --owner 77fa9abd-0359-4d32-bd60-28f4e78f784b --type x509 --output TREND_UEFI_db_DS20.esl DS20.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_DS12.esl TREND_UEFI_db_DS20.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

    ここで、 77fa9abd-0359-4d32-bd60-28f4e78f784b は、Microsoft CorporationのKEK CA 2011証明書の SignatureOwner フィールドのGUIDです。

  7. .bin ファイルをダウンロードします。

  8. インスタンスの新しいEC2スナップショットを作成します。

  9. [AWS Cloudshell] に移動し、[ Actions > Files > Upload file]を選択し、バイナリファイルを選択します。

  10. スナップショットIDとアップロードした .bin ファイルを使用して、新しいAMIを作成します。
    たとえば、次のコマンドを入力します。

    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
  11. カスタマイズしたイメージを使用して、セキュアブートが有効な新しいインスタンスを作成します。

  12. 次のコマンドを実行して、鍵がMOKリストに正常に登録されたことを確認します。

    mokutil --db | grep Trend

    カーネルがトレンドマイクロの公開鍵を正常にロードしたことを確認します。

    dmesg | grep cert

Google Cloud Platformのセキュアブートキーを登録する

  1. 必要なものをダウンロードセキュアブート用の CA 証明書とトレンドマイクロの公開鍵.

  2. プラットフォームキーがない場合は、Google Cloud Platformのドキュメントを参照してセキュアブートプラットフォームキーを生成します

    起動時にロードされるすべてのデバイス (GPUなど) のファームウェアにアクセスできる場合にのみ、プラットフォームキーを置き換えます。新しいプラットフォームキーを使用するようにファームウェアの署名チェーンをアップデートできない場合、セキュアブートによってインスタンスが完全に起動できなくなる可能性があります。

  3. セキュアブートで使用するCA証明書とトレンドマイクロの公開鍵を使用して、カスタマイズされた仮想マシンイメージを作成します。
    たとえば、次のコマンドを入力します。

    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,./DS20.der,./DS12.der,./DS11_2022.der[,OTHER_EXISTING_KEYS] \
     --guest-os-features=UEFI_COMPATIBLE

    公開鍵はDERまたはBIN形式である必要があります。それぞれをカンマ ( , ) で区切ります。コマンドの使用方法とAPIの詳細については、Google Cloud Platformのドキュメントを参照してください。

    前述のコマンドを入力すると、既存のすべてのキーが上書きされるため、既存の有効なセキュアブートキーをすべて含める必要があります。これらを含めない場合、それらは削除され、カーネルモジュールはロードされません。

  4. カスタマイズしたイメージを使用して、セキュアブートが有効な新しいインスタンスを作成します。

  5. 次のコマンドを実行して、キーが正常に登録されたことを確認します。

    grep 'Trend' /proc/keys

VMware vSphereプラットフォームまたは物理コンピュータのセキュアブートキーの登録

コンピュータがUnbreakable Enterprise Kernel Release 6 Update 3 (UEK R6U3) for Oracle Linuxより前のリリースを使用している場合を除き、VMware vSphere仮想化プラットフォームまたは物理コンピュータでセキュアブートキーを登録するには、次の手順に従います。

  1. 必要なものをダウンロードセキュアブート用の CA 証明書とトレンドマイクロの公開鍵.

  2. プラットフォームキーがない場合は、Linuxディストリビューションのドキュメントを参照して、セキュアブートプラットフォームキーを生成します。

    起動時にロードされるすべてのデバイス (GPUなど) のファームウェアにアクセスできる場合にのみ、プラットフォームキーを置き換えます。新しいプラットフォームキーを使用するようにファームウェアの署名チェーンをアップデートできない場合、セキュアブートによってコンピュータが完全に起動できなくなる可能性があります。

  3. セキュアブートを有効にするコンピュータで、コンピュータ所有者キー (MOK) コマンド mokutilをインストールします。
    Red Hat Enterprise Linuxでは、次のコマンドを入力します。

    yum install mokutil

    DebianまたはUbuntuでは、次のコマンドを入力します。

    sudo apt-get update
    sudo apt-get install efitools
  4. トレンドマイクロの公開鍵をMOKリストに追加します。複数の鍵はスペースで区切ります (該当する場合)。 Deep Security Agentのバージョンが20.0.0.7119より前の場合は、次のコマンドを実行します。

    mokutil --import /opt/ds_agent/DS2022.der /opt/ds_agent/DS20_v2.der /opt/ds_agent/DS20.der

    Deep Security Agentバージョン20.0.0.7119以降の場合は、次のコマンドを実行します。

    mokutil --import /opt/ds_agent/secureboot/DS2022.der /opt/ds_agent/secureboot/DS20_v2.der /opt/ds_agent/DS20.der

    プロンプトが表示されたら、後で使用するパスワードを入力します。

  5. コンピュータを再起動します。

  6. Shim UEFIキー管理コンソールで、任意のキーを押して続行します。
  7. [MOK管理の実行] 画面で、[MOKの登録] を選択します。
  8. 公開鍵の証明書ハッシュを確認する必要がある場合は、[View Key X] を選択し、任意のキーを押して [Enroll MOK] 画面に戻ります。
  9. [Enroll the Key(s)?] 画面で [Continue] を選択します。
  10. [はい] を選択し、前に入力したパスワードを入力します。
  11. [The System Must Now Be Rebooted] 画面で、[OK] を選択して変更を確認し、再起動します。
  12. 次のコマンドを実行して、鍵がMOKリストに正常に登録されたことを確認します。

    ほとんどのオペレーティングシステムでは、次のコマンドを入力します。

    mokutil --test-key /opt/ds_agent/${certificate_file}.der

    Debian Linux 11またはDebian Linux 12では、次のコマンドを入力します。

    keyctl show %:.platform | grep 'Trend'

複数のコンピュータでセキュアブートを使用する必要がある場合は、仮想マシンまたはOSイメージファイルを作成する必要があります。そのファイルから新しいコンピュータをインストールできます。

Oracle Linux用のセキュアブートキーの登録

Unbreakable Enterprise Kernel Release 6 Update 3 (UEK R6U3) for Oracle Linuxより前のリリースでは、セキュアブートに必要な手順が若干異なります。 Unbreakable Enterprise Kernel (UEK) を使用する場合、カーネルは組み込みのキーリングにあるキーのみを信頼します。したがって、トレンドマイクロの公開鍵を使用してカーネルを再コンパイルする必要があります。これによりカーネル自体が変更されるため、新しいカーネルブートイメージにも署名する必要があります。

  1. 必要なものをダウンロードセキュアブート用の CA 証明書とトレンドマイクロの公開鍵.
  2. セキュアブートで使用するカーネルイメージおよびカーネルモジュールの署名については、Oracle Linuxのドキュメントを参照してください。
  3. カーネルイメージへのモジュール証明書の挿入の手順が表示されたら、 pubkey.der をトレンドマイクロの公開鍵の名前に置き換えます。たとえば、次のとおりです。

    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
  4. 残りの手順を続行して、カーネルブートイメージに署名します。

  5. 次のコマンドを実行して、鍵が builtin_trusted_keys 鍵リングにリストされていることを確認します。

    sudo keyctl show %:.builtin_trusted_keys | grep 'Trend'