サービスの随意アクセス制御リストを作成する場合の推奨事項およびガイド

文書翻訳 文書翻訳
文書番号: 914392 - 対象製品
すべて展開する | すべて折りたたむ

目次

概要

サービスの随意アクセス制御リスト (DACL) は、ワークステーションおよびサーバーのセキュリティにおいて重要な要素です。この資料では、サービスに対する DACL の解釈方法について説明します。また、プログラムの開発およびセキュリティ評価を行う際に、サービスの DACL を作成するための推奨事項に関するガイドを提供します。

はじめに

この「サポート技術情報」 (Microsoft Knowledge Base) の資料は、サービスの随意アクセス制御リスト (DACL) のセキュリティを評価する際のガイドとして使用することができます。

詳細

サービスの DACL を表示するには、以下の例のように、sc コマンドを sdshow という引数と共に使用します。service_name には、DACL を表示するサービスの名前を指定します。
sc sdshow service_name
コマンドの実行結果の例を以下に示します。
(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;PU)(A;;CCDCLCSWLOCRRC;;;LS)
この sc コマンドの出力例では、サービスのセキュリティの詳細がセキュリティ記述子定義言語 (SDDL) 構文で表示されています。SDDL 構文の詳細については、以下のマイクロソフト Web サイトを参照してください。
http://msdn2.microsoft.com/en-us/library/aa379567.aspx
サービスの DACL に脆弱性が存在するかどうかを判断するには、いくつかの点を確認する必要があります。以下の表は、sc コマンドの実行結果の解釈の仕方、各アクセス許可文字列の解釈方法、そのアクセス許可が付与されているユーザーを確認する方法について示したものです。

かっこで囲まれた文字列は、それぞれ独立して評価することができます。それぞれの内容は以下のとおりです。
(許可 (A)/拒否 (D);;アクセス許可の文字列;;;SID またはビルトインのアカウントまたはグループの省略名)
アクセス許可の文字列に含まれている 2 つの文字の組み合わせは、ぞれぞれ特定の権限またはアクセス許可に対応しています。
元に戻す全体を表示する
組み合わせ 権限またはアクセス許可
CC QueryConf
DC ChangeConf
LC QueryStat
SW EnumDeps
RP Start
WP Stop
DT Pause
LO Interrogate
CR UserDefined
GA GenericAll
GX GenericExecute
GW GenericWrite
GR GenericRead
SD Del
RC RCtl
WD WDac
WO WOwn

最も注意が必要なのは、ChangeConf (DC) のアクセス許可です。サービスに、特権を昇格させる攻撃に対する脆弱性が存在するかどうかを確認するには、ChangeConf のアクセス許可をチェックします。このアクセス許可が付与されていると、サービスの構成を変更して、サービスの開始時に実行されるバイナリ ファイルを追加することができます。また、WDac (WD) および WOwn (WO) のアクセス許可についても十分に注意する必要があります。これらのアクセス許可を使用すると、アクセス許可を LocalSystem に昇格することが可能です。これらの権限が、低レベルのアクセス許可しか持たないユーザーに付与されることがないように、注意します。この表は、SDDL 構文でアクセス許可が付与されるユーザーの種類を特定するためのコードの一覧です。
元に戻す全体を表示する
コード ユーザーの種類
DA Domain Admins
DG Domain Guests
DU Domain Users
ED Enterprise Domain Controllers
DD Domain Controllers
DC Domain Computers
BA ビルトイン (ローカル) の Administrators
BG ビルトイン (ローカル) の Guests
BU ビルトイン (ローカル) の Users
LA ローカルの Administrator アカウント
LG ローカルの Guest アカウント
AO Account Operators
BO Backup Operators
PO Print Operators
SO Server Operators
AU Authenticated Users
PS Personal Self
CO Creator Owner
CG Creator Group
SY Local System
PU Power Users
WD Everyone (World)
RE Replicator
IU 対話型ログオン ユーザー
NU Network Logon User
SU Service Logon User
RC 制限されたコード
WR 書き込みが制限されたコード
AN Anonymous Logon
SA Schema Admins
CA 証明書サービスの管理者
RS リモート アクセス サーバー グループ
EA Enterprise Admins
PA グループ ポリシーの管理者
RU Windows 2000 以前を許可するためのエイリアス
LS Local Service アカウント (サービス用)
NS Network Service アカウント (サービス用)
RD Remote Desktop Users (ターミナル サービス用)
NO Network Configuration Operators
MU Performance Monitor Users
LU Performance Log Users
IS 匿名のインターネット ユーザー
CY 暗号化オペレータ
OW 所有者の権限の SID
RM RMS サービス

SDDL 形式の DACL 文字列の解釈

ここでは、この資料の前半に記載されている DACL 文字列の例を解釈する方法について説明します。各アクセス制御エントリ (ACE) ごとに解釈の仕方を説明します。
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)

    このアクセス制御エントリ (ACE) では、LocalSystem (SY) に以下の権限を付与しています。
    • QueryConf
    • ChangeConf
    • QueryStat
    • EnumDeps
    • Start
    • Stop
    • Pause
    • Interrogate
    • UserDefined
    • Delete
    • RCtl
    • WDac
    • WOwn
    このアクセス制御エントリ (ACE) は LocalSystem のみに制限されています。LocalSystem のセキュリティ コンテキストはもともと、ワークステーション上で最も強力であるため、これはセキュリティ上、適切な設定です。このため、特権が昇格されるおそれはありません。
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)

    このアクセス制御エントリ (ACE) は、ビルトイン (ローカル) の Administrators (BA) に適用されます。この ACE では、前の ACE と同じ権限が、ローカルのすべての Administrators に付与されます。ローカルの Administrators のセキュリティ コンテキストも、ワークステーションの中で非常に強力です。このため、この場合も、特権が昇格されるおそれはありません。
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;AU)

    このアクセス制御エントリ (ACE) では、前に記載されているのとまったく同じ権限が、すべての Authenticated Users (AU) に付与されます。
最後のアクセス制御エントリ (ACE) では、認証された任意のユーザーなど、低レベルの権限しか持たないグループのユーザーが、サービスの構成を変更することが可能です。構成には、サービスの起動時に実行されるバイナリ ファイルおよびサービスが実行されるアカウントが含まれます。

次の DACL の例では、Authenticated Users には ChangeConf の権限を付与していません。
(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPLOCRRC;;;PU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;DT;;;LS)(A;;DT;;;NS)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;NO)

この DACL では、Authenticated Users (AU) には以下の権限のみが付与されます。
  • QueryConf
  • QueryStat
  • EnumDeps
  • Interrogate
  • UserDefined
  • RCtl
このように権限が付与されている Authenticated Users グループでは、特権の昇格が発生する危険性はありません。Power Users (PU) グループは、もともと LocalSystem への昇格が可能であるため、特権の昇格の危険性について考慮する必要はありません。この例では、Power Users グループにサービスの開始の権限 (RP) が付与されている点を除いて、Power Users グループには、Authenticated Users グループとまったく同じ権限が付与されています。ローカルの Administrators (BA) グループがその次です。このグループおよびその次のグループ (Server Operators (SO)) には、どちらも ChangeConf、WDac および WOwn のアクセス許可が付与されています。ローカルの Administrators グループおよび Server Operators グループには通常、信頼性の高いユーザーのみが含まれているため、この設定でも問題ありません。

LocalSystem (SY) グループには、Power Users グループと同じアクセス許可が付与されていますが、Stop と Pause のアクセス許可も付与されています。この設定もおおむね問題ありません。次の 2 つの短いアクセス制御エントリ (ACE) では、Local Service アカウントおよび Network Service アカウントにサービスを停止するためのアクセス許可 (Pause) が付与されています。Local Service および Network Service はどちらも強力な権限を持つローカルのアカウントであるため、この設定もおおむね問題ありません。

しかし、Network Configuration Operators (NO) グループに、ChangeConf のアクセス許可が付与されています。Network Configuration Operators グループは Windows XP で導入されたグループであり、信頼されているユーザーが、完全な管理者のアクセス許可を持っていなくてもネットワーク設定を変更できるようにするためのものです。デフォルトでは、Network Configuration Operators グループには何も設定されていません。このグループは、必要に応じて、特定のユーザーにネットワークを構成するのに必要なアクセス許可を付与するために使用します。たとえば、ポータブル コンピュータの所有者にこのアクセス許可を付与する場合が考えられます。Network Configuration Operators グループのユーザーは、通常、そのコンピュータを物理的に制御しているユーザーです。ただし、このグループの目的は、物理的に管理しているユーザーに完全な管理者のアクセス許可を付与しないようにすることです。このため、このサービス DACL では、Network Configuration Operators グループには ChangeConf のアクセス許可を付与しないようにする必要があります。

推奨事項

サービスの DACL は、特定の種類のアクセス許可が必要なユーザーのみに限定します。以下の権限については、特に注意してください。低レベルの権限しか持たないユーザーまたはグループに以下の権限を付与すると、その権限を使用して、コンピュータの LocalSystem への特権の昇格が行われる可能性があります。
  • ChangeConf (DC)
  • WDac (WD)
  • WOwn (WO)
アクセスの権限およびアクセス許可の関連情報については、以下のマイクロソフト Web サイトを参照してください。
http://msdn2.microsoft.com/en-us/library/ms685981.aspx

プロパティ

文書番号: 914392 - 最終更新日: 2007年2月15日 - リビジョン: 1.3
この資料は以下の製品について記述したものです。
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003 Service Pack 1
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Media Center Edition
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows XP Service Pack 1
  • Microsoft Windows XP Service Pack 1a
  • Microsoft Windows XP Service Pack 2
  • Microsoft Windows 2000 Professional
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
キーワード:?
kbinfo KB914392
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com