目次

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日です。この日以降も引き続きエージェントを使用するには、この新しい公開鍵を登録する必要があります。そうしないと、コンソールに「エンジンがオフラインです」というエラーメッセージが表示され、コンピュータが保護されません。

また、トレンドマイクロの公開鍵の署名チェーンを検証するために必要な中間認証局 (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] に移動します。[処理]→[ファイル]→[ファイルのアップロード]の順に選択し、バイナリファイルを選択します。

  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または物理コンピュータのセキュアブートキーの登録

多くのコンピュータでセキュアブートを使用する場合は、この手順の完了後に仮想マシンまたはOSイメージファイルを作成します。そのファイルから新しいコンピュータをインストールできます。

UEK R6U3より前のOracle Linuxを使用しているコンピュータの場合は、この手順を使用しないでください。代わりに、Oracle Linuxのセキュアブートキーの登録を参照してください。

  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リストに追加します。
    複数のキー (必要な場合) はスペースで区切ります。たとえば、次のとおりです。

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

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

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

  6. コンピュータが再起動すると、Shim UEFIキー管理コンソールが開きます。続行するには、任意のキーを押してください。
  7. Perform MOK management 画面で、Enroll MOKを選択します。
  8. 公開鍵の証明書ハッシュを確認する必要がある場合は、View key Xを選択します。任意のキーを押すと、 Enroll MOK 画面に戻ります。
  9. Enroll the key(s)? 画面で Continue を選択します。
  10. Yesを選択し、前に入力したパスワードを入力します。
  11. The system must now be rebooted 画面で、OKを選択して変更を確認し、再起動します。
  12. キーがMOKリストに正常に登録されていることを確認します。

    • ほとんどのオペレーティングシステムでは、次のコマンドを入力します。
      mokutil --test-key /opt/ds_agent/${certificate_file}.der
    • Debian 11では、次のコマンドを入力します。
      keyctl show %:.platform | grep 'Trend'

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

Oracle Linux の場合UEK R6U3より前のUEK R6リリース、セキュアブートには若干異なる手順が必要です。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'