サイバー攻撃の多くは脆弱性を悪用して行われます。パッチや修正プログラムを適用して脆弱性を解消することは、サイバーセキュリティの基本ですが、リモートワークやハイブリッドワークを前提とした分散されたワークプレイスにおいて、インターネット経由してデバイスに対しOS、ドライバー、BIOSの修正プログラムの適用、各種設定を行うことは容易ではありません。“実践サイバーハイジーン”シリーズでは、このような環境下でHPのビジネスPCに対して効果的にパッチや修正プログラムを適用するノウハウを解説します。
今回は、Microsoft Endpoint Manager(Intune)とHP Client Management Script Library(HPCMSL)を使用してHPビジネスPCのBIOSおよびシステムファームウェアを更新する方法を説明します。Intuneの「プロアクティブな修復」の機能を利用してデバイスのBIOSが最新かどうかチェックした後、BIOSおよびシステムファームウェアの更新をします。
PowerShellスクリプトファイルの作成
次の内容のPowerShellスクリプトファイル「detect.ps1」を作成します。
exit ([int](-not (Get-HPBIOSUpdates -check)))
次の内容のPowerShellスクリプトファイル「remediate.ps1」を作成します。
if (-not (Get-HPBIOSUpdates -check))
{
Get-HPBIOSUpdates -Flash -Bitlocker Suspend -Yes
}
exit 0
Intuneにプロアクティブな修復を設定します。
Microsoft Endpoint Manager admin center portalにサインインします。
「レポート」→「エンドポイント分析」→「プロアクティブな修復」を開き、「スクリプト パッケージの作成を」をクリックします。
カスタムスクリプトの作成の基本タブで名前を入力します。
任意で説明を入力し、「次へ」をクリックします。
「次へ」をクリックします。
スコープタグではそのまま「次へ」をクリックします。
割り当てタブでこのプロアクティブな修復によるBIOS更新を割り当てるデバイスのグループを追加します。
スケジュールを変更したい場合は割り当て先の設定の編集画面から行います。
「次へ」をクリックします。
確認および作成タブでは設定した内容を確認し、「追加」をクリックします。
これでプロアクティブな修復にBIOSを最新の状態にするスクリプトパッケージが作成され、割り当てたデバイスグループにBIOS更新のスクリプトが展開されます。
Intuneのエンドポイント分析 | プロアクティブな修復画面で、追加したスクリプトパッケージ名「BIOSを最新の状態にする」をクリックすると検出の状態と修復の状態が確認できます。
検出の状態
問題なし:検出スクリプトを実行した結果、BIOSが最新であることが確認されました。
問題あり:検出スクリプトを実行した結果、BIOSが最新でないことが確認されました。
失敗:検出スクリプトの実行に失敗しました。
修復の状態
問題解決:修復スクリプトを実行して問題が解決しました。
再発:修復スクリプトを実行した後の2回目の検出で「問題あり」となりました。
失敗:修復スクリプトの実行に失敗しました。
注記:今回設定した修復スクリプトでは前述の通り、スクリプトが実行されたデバイスでは強制的な再起動は行わず、次回起動時にBIOSおよびファームウェアの更新が行われるため、修復の状態は「問題解決」にはならず、「再発」になります。次回のスクリプトの実行までの間に再起動してBIOSが更新されていればそのデバイスの検出の状態が「問題なし」になります。
「デバイスの状態」をクリックするとデバイスごとの検出と修復の状態のが確認できます。
Author:日本HP