2007年5月13日日曜日

Sambaのsecurity=shareとsecurity=user

Windowsクライアントから、SMBのNegotiate Protocol Request(0x72)が送られてくると、
SambaはNegotiate Protocol Response(0x72)を返す。

このときにsecurity=userの場合、SMB headerのFlags2は0xc801となり、
Extended Security Negotiationフラグが設定される。
そして、レスポンスのデータの中にNTLMSSP認証用のデータが返される。


一方、security=shareの場合、SMB headerのFlags2は0xc001となり、
Extended Security Negotiationフラグが設定されない。
そのため、Winクライアント側は、続けてNTLMSSP認証用のデータ無しで、Session Setup Request(0x73)を送ってくる。
XPとVistaではこのときに送られてくるパケットの中身が異なっているため、Vistaの場合のみsecurity=shareだと認証がうまくいかないようだ。
XPもVistaも最終的に認証が成功するのは、NTLMv1の認証用パケットが送られてきたときの様子。


0 件のコメント:

コメントを投稿