【MDE】USBデバイスのアクセス制御をする【XML編】 

Microsoft365
スポンサーリンク

Microsoft Defender for Endpoint (以下MDE)によるUSBデバイス制御に関する続きの記事です。MDEと言っておきながら私が使用しているのは Microsoft Defender for Business (以下MDB)です。これはMicrosoftが中小企業向けに提供しているセキュリティソリューションです。MDEとほぼ同じ機能が利用できます。

前回の記事、グループポリシーで設定する方法は以下のページを参照してください。

スポンサーリンク

ゴール

以下の設定を完了させるためのXMLファイルを作成します。

・USBデバイス(リムーバブルデバイス)を制御する。
・基本USBデバイスはアクセス禁止。
・許可されたUSBデバイスのみフルコントロールできるようにする。

XML作成方法

以下の2種類のXMLファイルを作成します。このファイルはGroupIDを使用してつながっています。

・ポリシーグループXML
・ポリシールールXML

GroupIdでつながっている

準備1:GUIDの作成

<Group ID>タグなどに使用されるGUIDを準備する必要があります。Powershellから以下のコマンドを入力してGUIDを生成しコピペしてください。

[guid]::NewGuid()

準備2:許可するUSBデバイス情報を取得する

許可するUSBデバイス情報を取得します。はじめにUSBメモリをPCに挿します。「デバイスマネージャー」→該当のUSBメモリを右クリック→「プロパティ」→「詳細」タブを「デバイスインスタンス」にします。「プロパティ」を「デバイスインスタンスパス」にすると、USBメモリの情報が取得できます。

最後に取得した「デバイスインスタンス」の値にあります&を&に変換します。変換後、XMLファイルに入力します。

ポリシーグループXMLを作成する

<Groups>
    <Group Id="{02e5e682-d3a1-4873-a3e6-938af3dc7726}">
        <Name>All removable media devices</Name>
        <MatchType>MatchAny</MatchType>
        <DescriptorIdList>
            <PrimaryId>RemovableMediaDevices</PrimaryId>
        </DescriptorIdList>
    </Group>

    <Group Id="{d9e6be0a-5d9b-4d01-a6e0-96a48f899dbf}">
        <MatchType>MatchAny</MatchType>
            <DescriptorIdList>
<InstancePathId>USB\VID_056E&amp;PID_600E\10000004656FF7</InstancePathId>
            </DescriptorIdList>
    </Group>
</Groups>

XMLソース前半部分はすべてのUSBデバイスが所属するグループを定義しています。

後半部分はアクセス許可されるUSBデバイスが所属するグループを定義しています。<InstancePathId>タグにUSBデバイス情報を入力します。&は&amp;に変えてください。

ポリシールールXMLを作成する

<PolicyRules>
<PolicyRule Id="{50a73f8d-3298-497f-9df5-f3a293272f8e}">
    <Name>Block all Access but allow approved USBs</Name>
    <IncludedIdList>
        <GroupId>{02e5e682-d3a1-4873-a3e6-938af3dc7726}</GroupId>
    </IncludedIdList>
    <ExcludedIdList>
        <GroupId>{d9e6be0a-5d9b-4d01-a6e0-96a48f899dbf}</GroupId>
    </ExcludedIdList>
    <Entry Id="{67b2d3a8-f9ac-426f-afe9-84bd4e4b94ce}">
        <Type>Deny</Type>
        <Options>0</Options>
        <AccessMask>7</AccessMask>
    </Entry>
    <Entry Id="{ed905acc-079e-4fe0-bc07-3dfc4373ffe0}">
        <Type>AuditDenied</Type>
        <Options>3</Options>
        <AccessMask>7</AccessMask>
    </Entry>
</PolicyRule>
<PolicyRule Id="{c3b319a6-94bc-4bec-8bc9-a083d3e981f2}">
   <IncludedIdList>
     <GroupId>{d9e6be0a-5d9b-4d01-a6e0-96a48f899dbf}</GroupId>
   </IncludedIdList>
   <Entry Id="{4ea2a296-1ee8-4810-b725-30b311fe8f73}">
     <Type>Allow</Type>
     <Options>0</Options>
     <AccessMask>63</AccessMask>
   </Entry>
   <Name>Allow Full Access to Authorized USBs</Name>
</PolicyRule>
</PolicyRules>

ポリシールールが2つ定義されています。1つずつ見ていきましょう。

まず最初のポリシールールです。これはすべてのリムーバブルデバイスが拒否(Deny)されるポリシーです。<IncludedIdList>タグに紐づけられている<GroupId>がポリシーグループXMLの前半部分のグループID(すべてのUSBデバイスが所属するグループ)となります。そして<ExcludedIdList>タグに紐づけられている<GroupId>がポリシーグループXMLの後半部分のグループID(アクセス許可されるUSBデバイスが所属するグループ)となります。

ポリシーグループXML
<Group Id="{02e5e682-d3a1-4873-a3e6-938af3dc7726}">

ポリシールールXML(最初のルール)
<IncludedIdList>
 <GroupId>{02e5e682-d3a1-4873-a3e6-938af3dc7726}</GroupId>
</IncludedIdList>

IDは同じだよ!

2番目のポリシールールについてです。許可されるUSBデバイスのポリシーです。<IncludedIdList>タグに紐づけられている<GroupId>がポリシーグループXMLの後半部分のグループID(アクセス許可されるUSBデバイスが所属するグループ)となります。

ポリシーグループXML
<Group Id="{d9e6be0a-5d9b-4d01-a6e0-96a48f899dbf}">

ポリシールールXML(最初のルール)
<ExcludedIdList>
<GroupId>{d9e6be0a-5d9b-4d01-a6e0-96a48f899dbf}</GroupId>
</ExcludedIdList>

ポリシールールXML(2番目のルール)
<IncludedIdList>
<GroupId>{d9e6be0a-5d9b-4d01-a6e0-96a48f899dbf}</GroupId>
</IncludedIdList>

これ全部おなじIDだよ!

この2つのXMLファイルをUNCパス(\\で始まるパス)で保管できる場所に保存してください。

まとめ

ポリシーグループXMLとポリシールールXMLをGroupIDを使用して紐づける。

XMLゴリゴリ書くのは少し大変ですね。やはりIntuneのGUIでやりたいのが本音です。やりたいことがすべて自由にできるわけではないのです…サラリーマンですから。

コメント

タイトルとURLをコピーしました