このページのトピック
AgentのLinuxセキュアブートの設定
Deep Security Agent for Linuxの一部のバージョンは、 互換性 で、Unified Extensible Firmware Interface (UEFI) セキュアブート です。
セキュアブートが有効になっている場合、コンピュータのLinuxカーネルは、各カーネルモジュールがロードされる前に、そのモジュールのPKI署名を確認します。署名のないカーネルモジュールや、署名が無効なモジュールはロードしません。次のエージェント機能により、カーネルモジュールがインストールされます。
- 不正プログラム対策
- Webレピュテーション
- ファイアウォール
- 変更監視
- 侵入防御
- アプリケーションコントロール
したがって、セキュアブートでこれらの機能を使用する場合は、トレンドマイクロの公開鍵これらのカーネル モジュールの署名を検証できるように、コンピューターのファームウェアで。
方法はプラットフォームによって異なります。
- AWSのセキュアブートキーの登録
- Google Cloud Platformのセキュアブートキーを登録する
- VMware vSphereまたは物理コンピュータのセキュアブートキーの登録
- Oracle Linux用のセキュアブートキーの登録
トレンドマイクロの公開鍵をダウンロードする
セキュアブートコンピュータに登録する前に、カーネルモジュールの署名を検証するためのトレンドマイクロ公開鍵をロードする必要があります。キーファイルのダウンロードで問題が発生した場合は、右クリックして [リンクに名前を付けて保存] を選択します。
公開鍵は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など) では、セキュアブートカーネルモジュールの署名の公開鍵が更新されます。新しいカーネルモジュールの署名は、古い公開鍵では検証できません。そのため、 エージェントをアップグレードする場合は、新しい公開鍵も登録する必要があります。
公開鍵の有効期限が切れています
エージェントのバージョン | Key | 有効期限 | コメント |
20 | DS2022.der | 2031年11月24日 | 新しい交換用キーは、有効期限の1年前にリリースされる予定です。 |
DS20.der | 2024年11月26日 | DS20.derは、有効期限が終了するとDS2022.derに置き換えられます。 DS20.derの有効期限が切れる前にDS2022.derが登録されていることを確認します。 | |
DS20_V2.der | 2026年10月24日 |
|
|
12 | DS12.der | 2024年11月26日 | DS12.derは、有効期限が終了するとDS2022.derに置き換えられます。 DS12.derの有効期限が切れる前にDS2022.derが登録されていることを確認します。 |
11 | DS11_2022.der | 2031年11月24日 | |
DS11.der | 2022年12月5日 |
Deep Security Agent 20でセキュアブートを使用するには、DS2022.der、DS20_V2.der、およびDS20.derキーを登録する必要があります。
Linuxカーネルモジュールの署名検証の変更
Linuxカーネルをアップデートすると、カーネルモジュールの署名の検証方法が変わることがあります。登録済みの公開鍵を置き換える必要がある場合があります。
たとえば、SuSE 15では、カーネルバージョン5.3.18-24.34-defaultにEKUコード署名検証が追加されました。これには、新しい公開鍵バージョン DS20_v2.der
が必要でした。
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 証明書とトレンドマイクロの公開鍵](../agent-linux-secure-boot#download-the-trend-micro-public-keys).
2. プラットフォームキーがない場合は、Google Cloud Platformのドキュメントを参照してセキュアブートプラットフォームキーを生成します。
起動時にロードされるすべてのデバイス (GPUなど) のファームウェアにアクセスできる場合にのみ、プラットフォームキーを置き換えます。新しいプラットフォームキーを使用するようにファームウェアの署名チェーンをアップデートできない場合、セキュアブートによってインスタンスが完全に起動できなくなる可能性があります。
{: .warning }
3. セキュアブートで使用するCA証明書とトレンドマイクロの公開鍵を使用して、[カスタマイズされた仮想マシンイメージ](https://cloud.google.com/security/shielded-cloud/creating-shielded-images#gcloud)を作成します。たとえば、次のコマンドを入力します。
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 証明書とトレンドマイクロの公開鍵](../agent-linux-secure-boot#download-the-trend-micro-public-keys).
2. セキュアブートを有効にするコンピュータで、コンピュータ所有者キー (MOK) コマンド `mokutil`をインストールします。Red Hat Enterprise Linuxでは、次のコマンドを入力します。
yum install mokutil
DebianまたはUbuntuでは、次のコマンドを入力します。
sudo apt-get update
sudo apt-get install efitools
3. トレンドマイクロの公開鍵を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
プロンプトが表示されたら、後で使用するパスワードを入力します。
4. コンピュータを再起動します。
5. Shim UEFIキー管理コンソールで、任意のキーを押して続行します。
6. [**Perform MOK Management**] 画面で、[ **Enroll MOK**] を選択します。
7. 公開鍵の証明書ハッシュを確認する必要がある場合は、[View Key X] を選択し、任意のキーを押して[ **Enroll MOK** ] 画面に戻ります。
8. [**Enroll the Key(s)?**] 画面で [ **Continue** ]をクリックします。
9. [**Yes**] をクリックし、前に入力したパスワードを入力します。
10. [ **The System Must Now Be Rebooted** ] 画面で、[**OK**] をクリックして変更を確認し、再起動します。
11. 次のコマンドを実行して、鍵が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) より前のリリースを使用している場合を除き、物理コンピュータでセキュアブートキーを登録するには、次の手順に従います。
1. 必要な[セキュアブート用の CA 証明書とトレンドマイクロの公開鍵](../agent-linux-secure-boot#download-the-trend-micro-public-keys)をダウンロードします。
2. プラットフォームキーがない場合は、Linuxディストリビューションのドキュメントを参照して、セキュアブートプラットフォームキーを生成します。
起動時にロードされるすべてのデバイス (GPUなど) のファームウェアにアクセスできる場合にのみ、プラットフォームキーを置き換えます。新しいプラットフォームキーを使用するようにファームウェアの署名チェーンをアップデートできない場合、セキュアブートによってコンピュータが完全に起動できなくなる可能性があります。
{: .warning }
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. [**Yes**] をクリックし、前に入力したパスワードを入力します。
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 証明書とトレンドマイクロの公開鍵](../agent-linux-secure-boot#download-the-trend-micro-public-keys).
2. [セキュアブートで使用するカーネルイメージおよびカーネルモジュールの署名](https://docs.oracle.com/en/operating-systems/oracle-linux/secure-boot/sboot-SigningKernelModulesforUseWithSecureBoot.html#sb-mod-sign)については、Oracle Linuxのドキュメントを参照してください。
3. [カーネルイメージへのモジュール証明書の挿入](https://docs.oracle.com/en/operating-systems/oracle-linux/secure-boot/sboot-SigningKernelModulesforUseWithSecureBoot.html#sb-mod-sign-kernel-uek6-insert-cert)の手順が表示されたら、 `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'