こんにちは、阿久津です。昨年本Webサイトに寄稿した「Windows 7大百科」ですが、このたび書籍という形で再デビューすることになりました。本記事をご覧になっている方はWeb上の文書を読み慣れている方ばかりかと思いますが、ご興味のある方は手にとって頂ければ幸いです。

「Windows 7大百科」が待望の書籍化!!

書籍『Windows 7大百科』
著者: 阿久津良和 A5判560ページ 定価2,079円

http://www.amazon.co.jp/dp/4839935513/
(Amazon.co.jp)

○Web版「Windows 7大百科」をベースに、徹底的な加筆・修正により大幅パワーアップを遂げた書籍化で、Windows 7解説本のまさに決定版。Windows 7の様々な新機能を知っておきたい、情報を手元で確認したい方にオススメの一冊だ。

さて、前回同様にWindows XP時代のチューニングがWindows 7に適用できるか検証してみましょう。今回のターゲットはWindows OSにあらかじめ用意されている「デフォルト管理共有」を制御するDWROD値「AutoShareWks」。そもそもデフォルト管理共有とは、管理者が複数のコンピュータに対し、リモート操作を行なう場面などに用いられるもので、Administratorグループに属するユーザーのみアクセス可能な共有設定です。

筆者が確認したところによると、この仕様はWindows 7にも受け継がれており、Administratorグループに属するユーザーアカウント名およびパスワードがわかっている場合、「\\{接続先のコンピュータ名もしくはIPアドレス}\C$」と実行すれば、Cドライブへのアクセスが容易に行なえるという、利便性を優先したために発生したセキュリティリスクを抱えなければなりません(図01~05)。

図01: [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「\\{コンピュータ名もしくはIPアドレス}\C$」と入力して<OK>ボタンをクリックします

図02: リモートコンピュータ上のユーザーアカウント名およびパスワードの入力をうながされます。Administratorグループに属するユーザー名などを入力し、<OK>ボタンをクリックしてください

図03: ご覧のとおりWindows 7のホストドライブが表示されました

図04: 接続に用いるリモートコンピュータ上のユーザーアカウントがAdministratorグループに属していない場合、アクセスが拒否されます

図05: ポリシー制限が施されている場合や、ユーザーアカウントのパスワードが設定されていない場合、画面のようなエラーダイアログによってアクセスが拒否されます

筆者が知る限り、Windows NT時代から続く仕様ですが、Microsoft Baseline Security Analyzerのように、リモートコンピュータも対象に含めるシステム管理ツールを多用しない限り、不要な機能です。この設定を無効にするには以下の手順をお試しください。

1.[Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力してから<OK>ボタンをクリックします。
2.レジストリエディタが起動したら、HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ lanmanserver \ parametersまでキーをたどって開きます。
3.右ペインの何もないところを右クリックし、メニューから<新規>→<DWORD値>と選択します。
4.ステップ03で作成した値名を「AutoShareWks」に変更します。
5.レジストリエディタを終了し、コンピュータを再起動します。

これでチューニング終了です(図06~09)。

図06: [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力して<OK>ボタンをクリックします

図07: レジストリエディタが起動したら、HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ lanmanserver \ parametersまでキーをたどって開きます

図08: 右ペインの何もないところを右クリックします。メニューから<新規>→<DWORD値>と選択し、値名を「AutoShareWks」に変更してください

図09: [F5]キーを押して変更内容をシステムに反映させてから、レジストリエディタを終了します

コンピュータ再起動後にコマンドプロンプトを起動し、「net share」と実行しますと、Windows 7上の共有設定が列挙されますが、レジストリチューニング前に並んでいたデフォルト管理共有が、きれいになくなります。残っている「IPC$」ですが、こちらはリモートコンピュータで設定された公開リソース情報の取得などに用いられるIPC(Inter Process Communication : プロセス間通信)が使用しますので、デフォルト管理共有のような害はありません(図10~11)。

図10: こちらはレジストリチューニング前の状態。コマンドプロンプトから「net share」と実行しますと、「C$」などデフォルト管理共有が列挙されます

図11: こちらはレジストリチューニング後の状態。各ドライブのデフォルト管理共有は削除されましたが、プロセス間通信に用いられる「IPC$」と「Users」フォルダの共有が残されています

もうひとつの「Users」フォルダはデフォルト管理共有と同じように、あらかじめ設定されている共有設定です。同共有設定は下記の手順で解除可能ですが、ホームグループ機能を使用しますと、再度有効になってしまうため、気になる方は下記設定を行なった後、ホームグループへアクセスしないように心がけるか、過去の記事を参考に、同機能を無効にしてください(図12~14)。

図12: コンピュータを開き、「ユーザー」フォルダを右クリックします。メニューから<プロパティ>をクリックしてください

図13: プロパティダイアログが起動したら、<共有>タブをクリックして開き、<詳細な共有>ボタンをクリックします

図14: 「詳細な共有」ダイアログが起動したら、<このフォルダーを共有する>をクリックしてチェックを外し、<OK>→<閉じる>とボタンをクリックしてダイアログを閉じましょう

ここで読者から頂いた興味深いレポートを紹介します。にゃお氏から届いたメールによりますと、前述したレジストリチューニングを行なっても、CD/DVDドライブなどのデフォルト管理共有が残るというものでした。そもそも各共有設定はHKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ LanmanServer \ Sharesキーに格納されますが、同氏いわく、HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services \ LanmanServer \ Sharesキーや、HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet002 \ Services \ LanmanServer \ Sharesに共有設定が残ってしまい、レジストリチューニングを行なっても、該当ドライブに対するデフォルト管理共有が維持されてしまうそうです。

そもそも、ControlSet001やControlSet002はコントロールセットのバックアップであり、コンピュータ起動時には各コントロールセットを管理するHKEY_LOCAL_MACHINE \ SYSTEM \ SelectキーのDWORD値「Default」が示すものを使用しています。例えば同データ値が「1」の場合は、ControlSet001をCurrentControlSetにコピーして使用する仕組み(図15)。

図15: HKEY_LOCAL_MACHINE \ SYSTEM \ Selectキーの内容。ここで各コントロールセットを制御しています。なお、DWORD値「Current」は、現在使用中のコントロールセット番号、「Failed」は起動オプションメニューで「前回正常起動時の構成」を選択した際の番号、「LastKnownGood」は正常にログオンし、コントロールセットのバックアップを行なった番号となります

残念ながら筆者の環境では同氏のレポート結果を再現できませんでしたが、何らかの理由でDWORD値「Default」が示すコントロールセットが現在のコントロールセットとして使われず、デフォルト管理共有が残ってしまったのでしょう。立証には至っていませんが、興味深いレポートであると同時に、レジストリカスタマイズ中に起きやすい現象と思い、ここに付け加えさせて頂きました。同氏には感謝致します。

それでは、また次号でお会いしましょう。

阿久津良和(Cactus)