locked
Windows2003サーバーの共有リソースへの匿名アクセスについて RRS feed

  • 質問

  • お世話になります。
    共有フォルダやプリンタへの匿名アクセスの設定についてうまくいかないのでアドバイスをいただきたいと思います。
    やりたいことは社外のイベント会場で誰でも認証なしにGuestとしてプリンタのインストールや共有ファイルにアクセスできるようにしたいのです。

    Guestアカウントを有効にしてパスワードをなしに設定してgpedit.mscでポリシーを以下のように変更してgpupdate/forceで更新しました。

    Security Option
    Accounts: Guest account status: Enable
    Network Access: Do not allow anonymous enumeration of SAM accounts and shares: Disable

    Windows2003 Standard SP2とEnterpriseで試しても同じでどちらもWorkGroupにしています。

    Network Access: Let everyone permissions apply to anonymous users: Enable

    Network Access: Restrict anonymous access to Named Pipes and Shares: Disable

    Network Access: Sharing and Security model for local accounts:  “Guest only – local users authenticate as Guest”に変更

    Network Security: LAN Manager authentication level:  “Send LM & NTLM responses”に変更

     

    User Rights Assignments

    Access this computer from the network: Guestを追加

    Bypass traverse checking: Guest を追加

    共有リソースにもGuestとAnonymous usersに共有のPermissionとNTFSセキュリティーのフルアクセス権を設定しました。
    これで実際にクライアントから共有フォルダにアクセスするとなぜかドメインにログインしているPCだけパスワードの認証ポップアップが出てしまいます。
    ただIDとパスワードに何を入れてもGuestとして認証できます。不思議なことに"このコンピュータ"にローカルにログインすると認証は求められずアクセスができます。 
    イベントビューアでみるとどちらもGuestとして記録されています。

    どなたか何が間違っているのか教えていただけますか?
    XPの簡易フォルダ共有の方が簡単なのでどうしても認証を求められるようであればあきらめてXPにしようとも考えています。


    よろしくお願いします。

    2009年10月29日 1:49

回答

  • お世話になります。

    今回の想定される利用者は社員のみだったのでクライアントPC側でまずVPN接続を確立してDOMAIN内にいるのと同じ状況にしてから、共有リソースにアクセスするようにして何とか回避できました。 

    阿部様、三沢さま、
    ありがとうございました。

    また機会がありましたらよろしくお願いします。

    • 回答としてマーク tosaito3 2009年11月2日 5:06
    2009年11月2日 5:06

すべての返信

  • 阿部です

    ローカルポリシー>セキュリティオプション

    アカウント: ローカル アカウントの空のパスワードの使用をコンソール ログオンのみに制限する

    これを無効にすればいけると思います

    2009年10月29日 2:55
  • 阿部さま
    ご返信ありがとうございます。
    さっそく確認してみたのですがすでに無効になっていました。
    引き続きよろしくおねがいします。

    2009年10月29日 4:08
  • 阿部です

    >共有リソースにもGuestとAnonymous usersに共有のPermissionとNTFSセキュリティーのフルアクセス権を設定しました。

    アクセス権はeveryone:fullで設定してみてください。everyoneならばguestアカウントも含みますので。よって、共有、NTFS共に設定してみたらどうなるでしょうか?

    2009年10月29日 4:57
  • お世話になります。
    たびたびありがとうございます。
    共有のPermissionをEveryoneフル、NTFSアクセス権もEveryoneフルに設定して、
    それぞれGuestとAnonymous Usersのアクセス権を削除してみましたが、現象は変わらず、クライアントからアクセスすると認証のポップアップがでてしまいます。

    引き続きよろしくおねがいします。

    2009年10月29日 5:16
  • う~ん

    もしかしたら、これかもしれませんね

    >クライアントから共有フォルダにアクセスするとなぜかドメインにログインしているPCだけパスワードの認証ポップアップが出てしまいます。

    ネットワーク アクセス: ローカル アカウントの共有とセキュリティ モデル

    このセキュリティ設定は、ローカル アカウントを使用したネットワーク ログオンの認証方法を指定します。この設定が [クラシック] の場合、ローカル アカウントの資格情報を使用するネットワーク ログオンは、この資格情報を使用して認証されます。クラシック モデルでは、リソースに対するアクセスを詳細に設定できます。クラシック モデルを使用することにより、同じリソースに対してもユーザー単位でさまざまなアクセス許可を付与できます。
    この設定が [ゲストのみ] の場合、ローカル アカウントを使用するネットワーク ログオンは、Guest アカウントに自動的にマップされます。ゲスト モデルを使用すると、すべてのユーザーを同等に扱うことができます。すべてのユーザーが Guest として認証され、一定のリソース ([読み取り専用] または [変更]) に対して同レベルのアクセスが許可されます。

    ドメイン コンピューターの既定値: クラシック
    スタンドアロン コンピューターの既定値: ゲストのみ

    なんかこれが臭いような気がします

    これでだめなら

    ネットワーク アクセス: 匿名でアクセスできる共有

    このセキュリティ設定は、匿名ユーザーがアクセス可能なネットワーク共有を指定します。

    ここら辺をいじってみるとか

    あとは、一個ずつつぶしていくしかないような・・・

    2009年10月29日 5:34
  • 阿部さま
    ありがとうございます。
    ネットワーク アクセス: ローカル アカウントの共有とセキュリティ モデルはゲストのみになっていて、どんなIDでアクセスしてもログにはGuestでアクセスしたことになっているので正しく機能しています。匿名でアクセスできる共有にも共有フォルダ名を足してみたのですがだめでした。。。一通りポリシーの微調整は試してみたのですが変化が見られず難しいですね。

    よろしくお願いします。

    2009年10月29日 6:42
  • 阿部です ちょっと環境は異なりますがテストしてみました

    dc1(Win2008)--cl1(Vista)--svr1(2008)

    dc1とcl1は同一ドメイン svr1はスタンドアロン svr1にフォルダAAAを作成し、共有、NTFS共にeveryone:fullにして、guestアカウントを有効

    cl1にローカルログオン後、svr1にアクセス(認証なし)svr1のログを確認するとcl1\guestとして認証が行われた
    cl1でドメインにログオン後、svr1にアクセス(認証なし)svr1のログを確認するとcl1\guestとして認証が行われた

    結果的に認証は行われませんでした

    当初はパスワードなしがローカルポリシーのセキュリティオプションの項目に違反していると思いましたがどうやら別問題みたいですね XPの問題かな~~~

    最悪サーバーにローカルユーザーを作成しクライアント起動時にスクリプトを流します

    ファイル名:login.bat(メモ帳で作成)

    NET USE ドライブ名 \\サーバー名\共有フォルダ名 /USER:ユーザー名 パスワード /PERSISTENT:NO

    このような感じで実行しておけば、認証画面は出ないはずです

    もしくはコントロールパネルの資格情報マネージャ(XPでは項目が違うかな?)より当該サーバーにログインするユーザーアカウントを登録するなどが考えられますね
    2009年10月29日 7:37
  • 阿部さま
    実際に検証までしていただいてありがとうございます。
    この3台は物理的に同一のネットワーク上にあったのでしょうか?3台とも同じDHCPやDNSになっているなど?
    この結果を踏まえて、ためしに会社のネットワーク内で同じことを試したところ、阿部さまと同様にどちらも認証なしでした。
    クライアントPCとスタンドアローンサーバだけを別のネットワーク環境で試すとこの現象が発生するようです。
    僕の場合は、Ciscoのルーター+スイッチ(複数のVLAN)でWAN側をADSLに接続している環境と、バッファローのDHCP機能をONにした無線ルーターでどちらもダメでした。
    もし可能であれば、cl1とsvr1だけをClosedのネットワークにつないで検証していただけないでしょうか?

    あと<最悪サーバーにローカルユーザーを作成しクライアント起動時にスクリプトを流します
    というところが僕には難しいのですが、リモートプロファイルでということでしょうか?

    よろしくお願いします。

    2009年10月29日 8:45
  • 検証を行ったのはVM環境で同一ネットワークです

    ですので異なるセグメントではありません

    残念ながら異なるセグメント環境でのテストはルーターなどの環境がないので難しいです

    XPのローカルポリシーのログオンに対して上記スクリプトを入れ込んでおけば大丈夫かもしれません。
    (MMCのグループポリシー>ローカルよりできたような)
    まずは、コマンドで試してみて認証が出ないことを確認してから導入してみるといいかもしれませんね。

    ただしこの場合ドライブ固定になるのでそれでもよければということになります

    がんばってください

    もしくは別のアプローチとして、固定ユーザーをサーバー側に作成し、認証がでたらこのユーザーアカウントを使用してね!という方法で逃げるとかも考慮しなくてはいけないかもしれませんね。

    2009年10月29日 9:16
  • こんにちは、フォーラムオペレーターの三沢健二です。

    私の環境でも試してみましたが、tosaito3 さんがご投稿されたように、サーバー側で Guest アカウントが有効な場合でも認証画面が表示される場合がありました。

    私が試した環境は、サーバー側(アクセスされる側)とクライアント側(アクセスする側)の両方とも、OS は Windows Server 2003 でワークグループ環境です。
    この環境で、サーバー側に存在するアカウントと同じ名前のアカウントでクライアントにログオンした場合に、パスワードが異なっていると認証画面が表示され、パスワードが同じ場合には表示されませんでした。

    さらに色々と試していたところ、以下のポリシーの設定を変更し認証画面が出なくなったので、もしよろしければ tosaito3 さんの環境でもお試しいただければと思います。
    (設定を変更する事で別の部分に影響が出る可能性もありますので、問題がないか十分テストして下さいね)

    [ローカルセキュリティポリシー]-[ローカルポリシー]-[セキュリティオプション]-[ネットワークアクセス:ローカルアカウントの共有とセキュリティモデル]
    「クラシック」 を 「Guest のみ」 に変更して、ポリシーを適用させてください。


    それでは、こちらの情報がお役に立てる事を願っています。

    ______________________________________
    マイクロソフト株式会社 フォーラム オペレーター 三沢健二

    2009年10月30日 4:07
  • 阿部さま
    いろいろとありがとうございました。バッチファイルでやってみようとしているのですが、共有ファイルは問題ないのですが、共有プリンタをインストールしようとすると相変わらず認証を聞いてきてしまいますね。いろいろと自分でやってみようと思います。
    それにしても共有プリンタのインストールではIDとパスワードを指定できないのでしょうかね。。。

    NET USE Z \\\scripts /USER:Administrator asdf1234 /PERSISTENT:YES
    echo %username%, %date%, %time% >>Z:\STLOG.TXT
    NET USE >>Z:\STLOG.TXT
    @echo off
    cls
    echo.Adding MFP print queue now. Please wait....
    rundll32 printui.dll,PrintUIEntry  /in /n\\192.168.10.51\PRINTER1
    net use Z: /D /YES

    よろしくおねがいします。

    2009年10月30日 5:08
  • 阿部様
    ありがとうございます。バッチファイルでやってみているのですが、ローカルポリシーのログオンにスクリプトを指定してもクライアント側では特に実行されませんでした。
    IISだと確かもう少し明示的にディレクトリをAnonymousユーザーに公開できたとおもうので、そこにバッチファイルをおいて、メール上のリンクをユーザーがクリックすればそのバッチファイルが実行されるというようにすればよいかなと思いました。

    しかし共有フォルダは大丈夫なのですが、共有プリンタの追加をやるとやはりあの認証ポップアップが出てしまいこれもダメっぽいです。
    一応こんな感じです。プリンタ追加時にIDとパスワードを指定する方法をご存じであれば教えていただきたいです。

    NET USE Z \\192.168.10.51\scripts /USER:Administrator asdf1234 /PERSISTENT:YES
    echo %username%, %date%, %time% >>Z:\STLOG.TXT
    NET USE >>Z:\STLOG.TXT
    @echo off
    cls
    echo.Adding MFP print queue now. Please wait....
    rundll32 printui.dll,PrintUIEntry   /in /n\\192.168.10.51\PRINTER1
    net use Z: /D /YES

    ちなみに固定ユーザーをサーバー側に作成し、認証がでたらこのユーザーアカウントを使用というのも最初に考えたのですが、
    認証時にパスワードを保存チェックボックスがでないので、ログオフやりスタート後に追加した共有プリンタがアクセス拒否になってしまうためそれもあきらめました。

    ちょっとむずかしいそうですね。
    よろしくおねがいします。
    2009年10月30日 5:21
  • 三沢様
    ありがとうございます。
    [ネットワークアクセス:ローカルアカウントの共有とセキュリティモデル]はGuestのみになっていて、セッションで確認するとちゃんとGuest扱いになっているのですがなぜか認証画面が出てしまいます。一応Security PolicyをExportしたinfファイルはこんな感じですので、お気づきの点がありましたらアドバイスください。

    よろしくおねがいします。


    [Unicode]
    Unicode=yes
    [System Access]
    MinimumPasswordAge = 0
    MaximumPasswordAge = 42
    MinimumPasswordLength = 0
    PasswordComplexity = 0
    PasswordHistorySize = 0
    LockoutBadCount = 0
    RequireLogonToChangePassword = 0
    ForceLogoffWhenHourExpire = 0
    NewAdministratorName = "Administrator"
    NewGuestName = "Guest"
    ClearTextPassword = 0
    LSAAnonymousNameLookup = 0
    EnableAdminAccount = 1
    EnableGuestAccount = 1
    [Event Audit]
    AuditSystemEvents = 3
    AuditLogonEvents = 3
    AuditObjectAccess = 1
    AuditPrivilegeUse = 0
    AuditPolicyChange = 1
    AuditAccountManage = 1
    AuditProcessTracking = 1
    AuditDSAccess = 1
    AuditAccountLogon = 3
    [Registry Values]
    MACHINE\Software\Microsoft\Driver Signing\Policy=3,1
    MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Setup\RecoveryConsole\SecurityLevel=4,0
    MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Setup\RecoveryConsole\SetCommand=4,0
    MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\AllocateCDRoms=1,"0"
    MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\AllocateDASD=1,"0"
    MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\AllocateFloppies=1,"0"
    MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\CachedLogonsCount=1,"10"
    MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\ForceUnlockLogon=4,0
    MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\PasswordExpiryWarning=4,14
    MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\ScRemoveOption=1,"0"
    MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableCAD=4,0
    MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\DontDisplayLastUserName=4,0
    MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\LegalNoticeText=7,
    MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\ScForceOption=4,0
    MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\ShutdownWithoutLogon=4,0
    MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\UndockWithoutLogon=4,1
    MACHINE\Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers\AuthenticodeEnabled=4,0
    MACHINE\System\CurrentControlSet\Control\Lsa\AuditBaseObjects=4,0
    MACHINE\System\CurrentControlSet\Control\Lsa\CrashOnAuditFail=4,0
    MACHINE\System\CurrentControlSet\Control\Lsa\DisableDomainCreds=4,0
    MACHINE\System\CurrentControlSet\Control\Lsa\EveryoneIncludesAnonymous=4,1
    MACHINE\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy=4,0
    MACHINE\System\CurrentControlSet\Control\Lsa\ForceGuest=4,1
    MACHINE\System\CurrentControlSet\Control\Lsa\FullPrivilegeAuditing=3,0
    MACHINE\System\CurrentControlSet\Control\Lsa\LimitBlankPasswordUse=4,0
    MACHINE\System\CurrentControlSet\Control\Lsa\LmCompatibilityLevel=4,0
    MACHINE\System\CurrentControlSet\Control\Lsa\MSV1_0\NTLMMinClientSec=4,0
    MACHINE\System\CurrentControlSet\Control\Lsa\MSV1_0\NTLMMinServerSec=4,0
    MACHINE\System\CurrentControlSet\Control\Lsa\NoDefaultAdminOwner=4,0
    MACHINE\System\CurrentControlSet\Control\Lsa\NoLMHash=4,0
    MACHINE\System\CurrentControlSet\Control\Lsa\RestrictAnonymous=4,0
    MACHINE\System\CurrentControlSet\Control\Lsa\RestrictAnonymousSAM=4,0
    MACHINE\System\CurrentControlSet\Control\Print\Providers\LanMan Print Services\Servers\AddPrinterDrivers=4,1
    MACHINE\System\CurrentControlSet\Control\SecurePipeServers\Winreg\AllowedExactPaths\Machine=7,System\CurrentControlSet\Control\ProductOptions,System\CurrentControlSet\Control\Server Applications,Software\Microsoft\Windows NT\CurrentVersion
    MACHINE\System\CurrentControlSet\Control\SecurePipeServers\Winreg\AllowedPaths\Machine=7,System\CurrentControlSet\Control\Print\Printers,System\CurrentControlSet\Services\Eventlog,Software\Microsoft\OLAP Server,Software\Microsoft\Windows NT\CurrentVersion\Print,Software\Microsoft\Windows NT\CurrentVersion\Windows,System\CurrentControlSet\Control\ContentIndex,System\CurrentControlSet\Control\Terminal Server,System\CurrentControlSet\Control\Terminal Server\UserConfig,System\CurrentControlSet\Control\Terminal Server\DefaultUserConfiguration,Software\Microsoft\Windows NT\CurrentVersion\Perflib,System\CurrentControlSet\Services\SysmonLog
    MACHINE\System\CurrentControlSet\Control\Session Manager\Kernel\ObCaseInsensitive=4,1
    MACHINE\System\CurrentControlSet\Control\Session Manager\Memory Management\ClearPageFileAtShutdown=4,0
    MACHINE\System\CurrentControlSet\Control\Session Manager\ProtectionMode=4,1
    MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\optional=7,Posix
    MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\AutoDisconnect=4,15
    MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\EnableForcedLogOff=4,1
    MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\EnableSecuritySignature=4,0
    MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\NullSessionPipes=7,COMNAP,COMNODE,SQL\QUERY,SPOOLSS,NETLOGON,LSARPC,SAMR,BROWSER,IPC$
    MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\NullSessionShares=7,COMCFG,DFS$,IPC$,TEST
    MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\RequireSecuritySignature=4,1
    MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\RestrictNullSessAccess=4,0
    MACHINE\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\EnablePlainTextPassword=4,0
    MACHINE\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\EnableSecuritySignature=4,1
    MACHINE\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\RequireSecuritySignature=4,0
    MACHINE\System\CurrentControlSet\Services\LDAP\LDAPClientIntegrity=4,1
    MACHINE\System\CurrentControlSet\Services\Netlogon\Parameters\DisablePasswordChange=4,0
    MACHINE\System\CurrentControlSet\Services\Netlogon\Parameters\MaximumPasswordAge=4,30
    MACHINE\System\CurrentControlSet\Services\Netlogon\Parameters\RequireSignOrSeal=4,1
    MACHINE\System\CurrentControlSet\Services\Netlogon\Parameters\RequireStrongKey=4,0
    MACHINE\System\CurrentControlSet\Services\Netlogon\Parameters\SealSecureChannel=4,1
    MACHINE\System\CurrentControlSet\Services\Netlogon\Parameters\SignSecureChannel=4,1
    [Privilege Rights]
    SeNetworkLogonRight = *S-1-1-0,Guest,*S-1-5-32-544,*S-1-5-32-545,*S-1-5-32-547,*S-1-5-32-551
    SeBackupPrivilege = *S-1-5-32-544,*S-1-5-32-551
    SeChangeNotifyPrivilege = *S-1-1-0,Guest,*S-1-5-32-544,*S-1-5-32-545,*S-1-5-32-547,*S-1-5-32-551
    SeSystemtimePrivilege = *S-1-5-19,*S-1-5-32-544,*S-1-5-32-547
    SeCreatePagefilePrivilege = *S-1-5-32-544
    SeDebugPrivilege = *S-1-5-32-544
    SeRemoteShutdownPrivilege = *S-1-5-32-544
    SeAuditPrivilege = *S-1-5-19,*S-1-5-20
    SeIncreaseQuotaPrivilege = *S-1-5-19,*S-1-5-20,*S-1-5-32-544
    SeIncreaseBasePriorityPrivilege = *S-1-5-32-544
    SeLoadDriverPrivilege = *S-1-5-32-544
    SeBatchLogonRight = *S-1-5-19,SUPPORT_388945a0
    SeServiceLogonRight = *S-1-5-20
    SeInteractiveLogonRight = *S-1-5-32-544,*S-1-5-32-545,*S-1-5-32-547,*S-1-5-32-551
    SeSecurityPrivilege = *S-1-5-32-544
    SeSystemEnvironmentPrivilege = *S-1-5-32-544
    SeProfileSingleProcessPrivilege = *S-1-5-32-544,*S-1-5-32-547
    SeSystemProfilePrivilege = *S-1-5-32-544
    SeAssignPrimaryTokenPrivilege = *S-1-5-19,*S-1-5-20
    SeRestorePrivilege = *S-1-5-32-544,*S-1-5-32-551
    SeShutdownPrivilege = *S-1-5-32-544,*S-1-5-32-547,*S-1-5-32-551
    SeTakeOwnershipPrivilege = *S-1-5-32-544
    SeDenyNetworkLogonRight = SUPPORT_388945a0
    SeDenyInteractiveLogonRight = SUPPORT_388945a0
    SeUndockPrivilege = *S-1-5-32-544,*S-1-5-32-547
    SeManageVolumePrivilege = *S-1-5-32-544
    SeRemoteInteractiveLogonRight = *S-1-5-32-544,*S-1-5-32-555
    SeImpersonatePrivilege = *S-1-5-32-544,*S-1-5-6
    SeCreateGlobalPrivilege = *S-1-5-32-544,*S-1-5-6
    [Version]
    signature="$CHICAGO$"
    Revision=1

    2009年10月30日 5:28
  • お世話になります。

    今回の想定される利用者は社員のみだったのでクライアントPC側でまずVPN接続を確立してDOMAIN内にいるのと同じ状況にしてから、共有リソースにアクセスするようにして何とか回避できました。 

    阿部様、三沢さま、
    ありがとうございました。

    また機会がありましたらよろしくお願いします。

    • 回答としてマーク tosaito3 2009年11月2日 5:06
    2009年11月2日 5:06