Introduction

備忘録。
前提として、SMB 1.0が原因ではない。
アクセスするNASのルートがゲストで誰でも表示できて、その配下のディレクトリがユーザ毎にアクセス制限されているパターンです。

Resolution

状況はこう。
NASのIPはAAA.BBB.CCC.DDD

  • \AAA.BBB.CCC.DDD
    • 誰でも見える。配下のフォルダが見える
  • \AAA.BBB.CCC.DDD\HOGE
    • アクセス制御あり

上の状況で、HOGEに対するアクセス制御として認証ダイアログが出て欲しいものだがそうは問屋が卸さない。
原因として、

匿名認証によるNASへのアクセスが無効になったためである。
つまり、HOGEにアクセスする前に、ルートでの匿名認証に引っかかってしまったのである。

このあたりの情報は散々出尽くしているので語らないが、SMB 1.0が無効化されたこととは何の関係もない。
だから、Windows10を1709以降にして、NASにアクセスできなくなったからといって、プログラムの追加と削除からWindowsの機能の有効化または無効化をたどり、SMB 1.0/CIFS ファイル共有のサポートを有効化しても意味がありません。
これを有効にして動かなかったからほかの対策と組み合わせて動いてしまい、あたかもSMB 1.0の有効化も必須だと思ってはいけません。
対策は、

  1. NASの設定を変更して匿名アクセスを無効にする
  2. レジストリのHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\AllowInsecureGuestAuth1に変更する。存在しない場合は作成。

となる。
確かに1が正しいと思うけど、匿名認証でアクセスできる場所の配下が見られても困らない、あるいはその配下がアクセス権制御されているなら、そこまで困らないと思うんですがどうでしょう。
いや、見られることによりどんな情報があるのか、という情報を与えてしまうのは良くないとはわかっていますが。

あとは、知らないうちに制御を奪われて匿名認証の場所にアクセスされたら困る..とか?