关于作者

网络推荐

浅淡局域网共享资源互访问题

上一篇 / 下一篇  2007-08-13 09:00:20 / 天气: 热 / 心情: 平静 / 个人分类:文摘

由于在域环境下,加入域的局域网计算机只要进行一些简单的设置,资源的共享访问就可以顺利进行,在此就不做讨论。针对工作组环境下访问出现的问题较多,我在这里做下粗浅的介绍,希望能起到抛砖引玉的作用。

那么访问的过程是怎样进行的呢?总的来说共享访问,就是一个过五关斩六将的过程,任一环节出现问题都将引起访问失败,如下图所示。

1、协议和端口、组件和服务。这些工作在网络通讯的底层,只有底层的网络工作正常,访问才有可能正常进行。

2、用户身份验证。你必需向要访问的计算机出示你的身份证明,计算机系统是不可能允许来历不明的人随便访问它的共享资源的。

3、安全策略的审核。这相当于出示入门票,只有符合条件才可能通过。

4、权限的检查。共享的资源可能很多,但并不是每个资源你都可以浏览,这就涉及到共享资源的浏览权限检查的问题。只有最终通过了访问权限的检查,你才可能真正访问到对方计算机上的共享资源。

 

这里要说明一个概念,在工作组环境下,加入到工作组中的各台计算机的身份是平等的。这与在域环境下客户端与服务器不同。可以这样说,进行访问的计算机相当于客户端,而被访问的计算机则充当服务器角色,一台计算机可以充当客户端也可以是服务器。那么计算机是怎样查找资源的呢?

为了帮助用户找到网络资源,微软使用了叫做“浏览服务”的机制完成网络资源查找和定位(相关的系统服务是computer Browser)。当我们的机器启动的时候(准确的说是一台启用了文件和打印机共享的计算机进入其所在的局域网中的时候),它首先会寻找网络中的一台机器——主浏览器,然后向他宣告自己存在于这个网络中,主浏览器通过维护一个“浏览表”来实现这个功能,“浏览表”是动态更新的。主浏览表中维护一个可用的基于NETBIOS的资源列表,其中会有NETBIOS名称到IP地址的映射,也就包含有我们所有的机器的信息。

普通客户机在主浏览器的主浏览表中加入自己,告诉他:“我来到了这个网络”,我的NETBIOS名字是COMPUTER1,IP是192.168.0.1。当你打开网上邻居的时候,首先通过广播来查找到“主浏览器”。如果没有“主浏览器”或者主浏览器关机,则在网络中就会通过“选举”来推选出一个“主浏览器”。

一般的,98工作组中,第一台启用文件及打印机共享功能的计算机,会充当主浏览器的角色;在有2000和之后版本的工作组环境中,则主要通过选举产生,选举的原则就要是看计算机使用的操作系统和版本的高低,印象中能充当WINS服务器的计算机最有可能成为“主浏览器”。在主浏览器后还有备份浏览器潜在浏览器,而浏览服务列表就是由这样的一台或几台计算机所构成的计算机群共同维护的。嗯,呵呵,跑题了。(有兴趣的不妨参考微软的KB文档里编号为188305和188001这两篇文章)

现在我们来说说底层的协议和端口,组件和服务。

应当怎么设置才能保证网络的正常通讯。首先,实现“文件和打印机共享”必须要有协议支持,协议相当于一种通讯语言。能实现局域网共享访问的协议有三个,TCP/IP协议,NETBEUI协议,NWLink IPX/SPX/NetBIOS兼容协议,那么这三个协议有什么区别呢?

一般的,在小型局域网环境下,用户只是为了简单的文件和设备的共享,那么访问速度快,占用内存小和带宽利用率高的NetBEUI协议将是最佳选择。如果你的网络存在多个网段或要通过路由器相连时,就不能使用不具备路由和跨网段操作功能的NetBEUI协议,而必须选择IPX/SPX或TCP/IP等协议。因为,IPX/SPX在设计一开始就考虑了多网段的问题,具有强大的路由功能,适合于大型网络使用。当用户端接入NetWare服务器时,IPX/SPX及其兼容协议是最好的选择。但在非Novell网络环境中,一般不使用IPX/SPX。尤其在Windows NT网络和由Windows 95/98组成的对等网中,无法直接使用IPX/SPX通信协议。所以一般的共享访问安装了TCP/IP协议就可以了(在有NT操作系统的局域网环境下则必须安装NETBEUI协议)。如果要使用TCP/IP协议来实现共享访问,有两种方式。一种是通过传统的NetBT协议通过137、138、139端口,另一种是TCP/IP上的SMB直接承载,通过445端口。

具体解释如下:

137/UDP -- NetBIOS名称服务器,网络基本输入/输出系统(NetBIOS)名称服务器(NBNS)协议是TCP/IP上的NetBIOS (NetBT)协议族的一部分,它在基于NetBIOS名称访问的网络上提供主机名和地址映射方法。

138/UDP -- NetBIOS数据报,NetBIOS数据报是TCP/IP上的NetBIOS (NetBT)协议族的一部分,它用于网络登录和浏览。

139/TCP -- NetBIOS会话服务,NetBIOS会话服务是TCP/IP上的NetBIOS (NetBT)协议族的一部分,它用于服务器消息块(SMB)、文件共享和打印。

默认情况下,系统总是会使用445端口进行SMB会话,仅在445端口工作失败的情形下,才会使用139端口建立会话。但在网络环境中如果没有配置自己的DNS服务器的话,则必须启用NetBT。所以在安装了TCP/IP协议后,还要检查是否启用了NetBT,如图所示,使用默认或启用都可以。建议用默认。

如果系统启用了防火墙,那么协议的通讯端口就可能会被防火墙拦截而造成无法正常通讯。如图所示。

对于系统自带的防火墙,可以打开控制面板,windows防火墙,切换到“例外”选项卡,在“文件和打印机共享”前面的复选框上打上勾。如图所示。

如果你使用了第三方防火墙,则可以在防火墙规则里手动开启UDP的137、138和TCP的139、445端口。当然如果你安装了NETBEUI协议,则不用担心防火墙,因为它会绕过防火墙进行直接通讯。

好,端口和协议讲完了,下面来看组件和服务

要实现网络共享,必需安装的组件是“Microsoft网络客户端”和“Microsoft网络的文件和打印机共享”这两项,对应的服务是workstationserver。这是最基本的,利用“Microsoft网络客户端”和workstation服务,你的计算机就可以访问别人的共享资源。而利用“Microsoft网络的文件和打印机共享”和server服务则能让别人访问你的计算机共享出来的资源。

除此之外还应开启的系统服务有:Computer Browser(这个服务维护着前面提到的网络计算机列表)、TCP/IP NetBIOS Helper(这个对NetBT服务以及NetBIOS名称解析提供支持),这里值得一提的还有telnet这个服务,最好也启用。如果对方计算机“Microsoft网络的文件和打印机共享”和server服务没启用你将会看到下图。

身份验证

在你的计算机网络底层通讯没有问题后。你的计算机就可以通过网络连接到另一台计算机上了。但是等等,没有那么简单,可以连上并不表示就可以进入了,人家要身份验证呢!你以什么身份登陆计算机决定了你后面的访问和操作权限。如果对方计算机只开启了简单文件共享,那么很抱歉,管你是谁,一律以来宾对待。呵呵,尽管“来宾”这头衔听起来蛮不错的,但俗话说得好,人在屋檐下,还不得看人家三分眼色。所以来宾帐户只有最低的只读权限。什么?不爽?那好,咱们以本地用户身份登陆。登陆界面如下。

当然,这还得看人家计算机愿不愿意把控制面板>管理工具>本地安全策略>安全选项下的“网络访问:本地帐户的共享和安全模式”由“仅来宾”改成“经典—以本地用户自己的身份验证”。这等同于在文件夹选项,查看选项卡高级设置下面去掉“使用简单文件共享”复选框前面的勾。既然以本地用户身份验证,当然要输入用户帐户名和密码啦。在所弹出的对话框下面有一个记住密码的复选框,打上勾就可以省了每次输入密码的麻烦。

经典身份验证的登陆过程是这样的:来访计算机首先以自己当前的帐户和密码进行验证,如果被访问计算机里存在一个同名同密码的帐户,则以该帐户进行登陆;如果不存在这样一个帐户,而且来宾帐户又处于启用状态,则使用来宾身份进行登陆;要是来宾帐户未开启,那么就会弹出一个对话框要求你输入相应的帐户和密码。

很明显,禁用来宾帐户,否则即使你启用了“经典—以本地用户自己的身份验证”,你仍旧会以来宾身份进行登陆。那如果你禁用了来宾帐户,不巧你又启用了简单文件共享,那又会怎么样呢?那就会出现如图的对话框,无论你输入什么密码进去,结果都是你干瞪眼,吹胡子,但偏偏进不去。

安全策略的审核

解决了身份的问题,别急着进,你还得通过安全策略的审核,你要是不怀好意,带家伙,人家可不能让你进去。安全策略的审核主有三条:

1、控制面板>管理工具>本地安全策略>安全选项下的帐户:使用空白密码的本地帐户只允许进行控制台登陆。这条不会对启用了简单文件共享的GUEST帐户起作用。

2、控制面板>管理工具>本地安全策略>用户权利指派下的“拒绝从网络访问这台计算机”

3、控制面板>管理工具>本地安全策略>用户权利指派下的“从网络访问此计算机”

启用了简单文件共享和GUEST帐户的计算机直接进行2和3的安全审核,只要其中有一条不符合,就会弹出如图所示的对话框,拒绝访问。

默认的,GUEST帐户被加进了“拒绝从网络访问这台计算机”的黑名单,你要做的就是把它从里面除名。当然啦,你也可以运行家庭或小型办公网络安装向导进行配置。实际上,安装向导做的也就是启用来宾帐户(如果没启用的话),开启系统防火墙的“文件和打印机共享”通讯端口,最后把GUEST从黑名单里除名。

经典验证模式下,安全策略则从第一条开始。先验证登陆的帐户密码是否为空,再看下是否被拒绝,最后看是否允许你从网络访问。如果密码为空,而第一条策略为启用状态,那么访问就会出现如图所示对话框。

一般的,第三条中有个everyone,它可以通过匿名枚举的方式把其它允许访问策略里没有添加的本地帐户映射为everyone。如果在本地安全策略>安全选项下“网络访问:不允许SAM帐户和共享的匿名枚举”策略启用,那么即使“从网络访问此计算机”有everyone这一项,guest帐户也是无法通过验证,原因是匿名枚举sam里的帐户信息被禁用,无法把GUEST映射为everyone。

解决方法是:要不停用“不允许SAM帐户和共享的匿名枚举”策略,要不直接在“从网络访问此计算机”里把GUEST添加进去。
所以,只要你配置好这三条安全策略,并注意一下刚才提到的问题,相信通过安全审核没有问题。不过有些优化版本的操作系统为了安全起见,会修改注册表下HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa项里的restrictanonymous的值设为1或2。

具体注册表解释如下:

RestrictAnonymous中登记了控制任何用户获取本机信息的级别的设置,如果RestrictAnonymous被设置为0(默认值)的话,任何用户都可以通过网络获取本机的信息,包含用户名,详细的帐号策略和共享名。这些信息可以被攻击者在攻击计算机的时候所利用。通过这些信息,攻击者就有可能了解到当前计算机的系统管理员帐号,网络共享的路径以及不健壮的密码。
RestrictAnonymous可设置成0、1 或 2。这些数字对应于下列设置:

0、无。依赖于默认权限

1、不允许枚举SAM帐户和名称

2、没有显式匿名权限就无法访问

很明显,这与“不允许SAM帐户和共享的匿名枚举”策略是一致的。如果这个注册表项值被改成1或2,而不是默认的0的话,那么即使“不允许SAM帐户和共享的匿名枚举”策略被禁用,访问仍旧无法进行。


TAG:

引用 删除 南国红豆   /   2007-11-14 14:10:34
这要花多少的心神才能弄出这些字和图片啊,两个字厉害
fove101的个人空间 引用 删除 fove101   /   2007-09-21 22:59:22
他自己没设置开机密码的怎么办?
我心依旧 引用 删除 我很受伤   /   2007-08-13 09:09:17
如何在基于Windows XP的计算机上安装NetBEUI协议

本文描述了如何在基于Windows XP的计算机上安装NetBEUI协议。
NetBEUI是一种适用于小型网络环境的非路由式网络协议。在新一代Microsoft Windows操作系统中,针对这种协议的支持工作已被终止。如果某种产品的技术支持人员要求您安装这种协议以便作为临时解决方案,请依次执行以下操作步骤:

在Windows XP安装光盘上打开以下文件夹:ValueAdd\Msft\Net\Netbeui。
将nbf.sys文件复制到%SYSTEMROOT%\SYSTEM32\DRIVERS\目录中。
将netnbf.inf文件复制到%SYSTEMROOT%\INF\目录中。
打开网络连接属性对话框并单击"Install…(安装)"按钮以添加NetBEUI协议。
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)