ここから本文です

Windows 10の新しい「電卓」に見る“セキュリティの落とし穴”

@IT 8月23日(火)6時10分配信

●Windows Server 2016ではAdministratorで「電卓」が使えなくなる?

【その他の画像】そもそも、ビルトインAdministratorのアカウントは無効にするべき

 Windows Serverの次期バージョン、Windows Server 2016が2016年9月末にリリースされますが、Windows標準のアクセサリーの1つ、「電卓(calc.exe)」が大きく変わります。Windows 10(※)のユーザーなら既にご存じとは思いますが、Win32アプリケーションから「ユニバーサルWindowsプラットフォーム(UWP)アプリ」(「ストアアプリ」とも呼ばれます)に変わります。「C:\Windows\System32\calc.exe」は存在しますが、これを実行するとUWPアプリ版の電卓が起動するようになります。

【※】企業向けのWindows 10 Enterprise 2015 LTSBにはUWPアプリ版の新しい電卓ではなく、従来のWin32アプリケーションである電卓(win32calc.exe)が引き続き提供され、「calc.exe」から起動します。

 Windows Server 2016(GUIを含むwith Desktop Experience)の既定では、ローカルおよびドメインのビルトインAdministratorではUWPアプリを起動することができません。そのため、Windows Server 2016にビルトインAdministratorでサインインした場合、Windows標準の電卓を起動することはできなくなります。「Microsoft Edge」もUWPアプリなので、同様にビルトインAdministratorでは使用できません。これは、Windows 10でも同じです。

 これは、ビルトインAdministrator、ストアアプリ(UWPアプリと呼ぶようになったのはWindows 10から)が初めて実装されたWindows 8/Windows Server 2012からの仕様です。

 しかし、Windows Vista以降では、ビルトインAdministratorは既定で無効化されていますし、ビルトインAdministratorが既定で有効になっているWindows Serverでは、ストアアプリを使うことがあるとすれば「リモートデストップサービス(RDS)」のセッションホストくらいでした。

 Windows 10から電卓と既定のWebブラウザがUWPアプリ/ストアアプリになったわけですが、Windows Server 2016をビルトインAdministratorで作業していると、ちょっとした計算をしたいのに電卓を起動できない、オンラインヘルプのリンク先が表示されないなど、これまで経験したことのない状況に遭遇するというわけです。

●解決策は至極簡単、Administratorを使わなければいい!

 Windows Server 2016でこの問題に対処する方法は、至極簡単です。管理作業で使用するための管理者権限を持つローカルユーザーまたはドメインユーザーを新規作成し、そのアカウントでサインインして作業すればよいのです。ローカルアカウントなら「ビルトインAdministratorsローカルグループ」、ドメインアカウントなら「ビルトインDomain AdminsおよびEnterprise Adminsドメインセキュリティグループ」のメンバーとして作成するだけです。

●「ビルトインAdministratorアカウントのための管理者承認モード」ポリシーの有効化ではダメなの?

 ビルトインAdministratorでUWPアプリ/ストアアプリを使えるようにするには、「ローカルセキュリティポリシー(Secpol.msc)」や「ローカルコンピューターポリシー(Gpedit.msc)」、Active Directoryの「グループポリシー」を使用して、以下のポリシーを有効にする方法があります。

・セキュリティの設定\ローカル ポリシー\セキュリティ オプション\ユーザー アカウント制御: ビルトイン Administrator アカウントのための管理者承認モード

 このセキュリティポリシーの本来の目的は、UWPアプリをビルトインAdministratorに許可するものではありませんが、副次的な効果としてUWPアプリの使用が可能になります。Windowsの既定のセキュリティポリシーを変更することに気が進まない人もいるかもしれませんが、このセキュリティポリシーの有効化はセキュリティを緩和するものではなく、より強化するものですので安心してください。

 このセキュリティポリシーは、ビルトインAdministratorに対して、他のユーザーと同じように特権操作を行う際に「ユーザーアカウント制御(User Account Control:UAC)」の承認を求めるものです。ローカルセキュリティポリシーでは、既定でこのセキュリティポリシーが無効になっているため、ビルトインAdministratorはUACの承認を要求されることなく、管理操作を実行できます。

 言い換えれば、既定のセキュリティポリシーのままビルトインAdministratorで作業するということは、悪意のあるソフトウェアによってシステム設定を変更されたり、破壊されたり、別のバックドアを配置されたりといったセキュリティリスクが高い状態でもあるわけです。

 ローカルセキュリティポリシーの変更によるUWPアプリの許可は、ビルトインAdministratorを使用する上では有効な方法ですが、決してベストな方法ではありません。なぜなら、ベストな方法とは、ビルトインAdministratorで作業しないことだからです。

●Administratorは無効にするべき、名前の変更では不十分

 もし、Windows 8.1やWindows 10のビルトインAdministratorでUWPアプリ/ストアアプリを使用できるようにするために「ユーザーアカウント制御:ビルトインAdministratorアカウントのための管理者承認モード」ポリシーの有効化で対処しているとしたら、ビルトインAdministratorを使用していることのリスクは考えているでしょうか。

 ビルトインAdministratorの使用はリスクが高いため、Windows Vista以降では既定で無効になりました。もし、ビルトインAdministratorを使用しているのであれば、旧バージョンのWindowsをビルトインAdministratorで使用していてアップグレードした、あるいは意図的にビルトインAdministratorを有効化したかのどちらかでしょう。

 ビルトインAdministratorは日常的に使用するべきではありません。むしろ、無効にするべきです。これは、ビルトインAdministratorが既定で有効になっているWindows Serverでも同じです。Windows ServerのローカルアカウントやActive Directoryドメインにおいても、ビルトインAdministratorに変わる管理者アカウントを作成し、UACによる保護の元で管理者アカウントを使用するべきです。そして、ビルトインAdministratorのアカウントは無効にすることをお勧めします。

 ビルトインAdministratorのアカウント名を変更することで、管理者アカウントを分かりにくくして、セキュリティを強化するという方法もありますが、実は、名前の変更は気休め程度にしかなりません。なぜなら、ビルトインAdministratorは「S-1-5-21」で始まる「セキュリティ識別子(Security Identifier:SID)」と呼ばれるユニークな番号を持ち、最後は必ず「500」(この部分はRelative ID:RIDと呼びます)になっています。

●既定の設定を変更したくない人向けのお勧め解決策

 ビルトインAdministratorの名前を変更したくない、アカウントを無効にしたくない、セキュリティポリシーにも触りたくないという人には、次の方法をお勧めします。

 Microsoft Edgeについては、ビルトインAdministratorの既定のWebブラウザを「Internet Explorer」に変更すれば解決します。

 電卓については、Windows PowerShellで代替できます。簡単な計算であれば、直観的なコマンドラインで答えを得ることができます。

 Windows PowerShellなんて面倒、苦手という人には、本物の電卓をお勧めします(写真1)。Windowsのデスクトップ上では電卓は使えなくても、物理的なデスクトップ(机)上でなら動きます。

●筆者紹介 山市良:岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。マイクロソフト製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。

最終更新:8月23日(火)6時10分

@IT