1Win2003服务器安全配置方案前言:安全是相对的,安全防护不是追求一个永远也攻不破的安全技术,安全体系应能够保证在入侵发生,系统部分损失等较大风险产生时,关键任务不能中断,保持网络的生存能力。安全防护是有时效性的,今天的安全明天就不一定很安全,因为网络的攻防是此消彼长,道高一尺,魔高一丈的事情,尤其是安全技术,它的敏感性、竞争性以及对抗性都是很强的,这就需要不断的检查、评估和调整相应的策略。第一节安装Windows2003Server一、注意授权模式的选择(每服务器,每客户):建议选择“每服务器”模式,用户可以将许可证模式从“每服务器”转换为“每客户”,但是不能从“每客户”转换为“每服务器”模式。,以后可以免费转换为“每客户”模式。所谓许可证(CAL)就是为需要访问WindowsServer2003的用户所购买的授权。有两种授权模式:每服务器和每客户。每服务器:该许可证是为每一台服务器购买的许可证,许可证的数量由“同时”连接到服务器的用户的最大数量来决定。每服务器的许可证模式适合用于网络中拥有很多客户端,但在同一时间“同时”访问服务器的客户端数量不多时采用。并且每服务器的许可证模式也适用于网络中服务器的数量不多时采用。每客户:该许可证模式是为网络中每一个客户端购买一个许可证,这样网络中的客户端就可以合法地访问网络中的任何一台服务器,而不需要考虑“同时”有多少客户端访问服务器。该许可证模式适用于企业中有多台服务器,并且客户端“同时”访问服务器的情况较多时采用。微软在许可数上只是给了你一个法律上的限制,而不是技术上的。所以假如你希望服务器有更多的并发连接,只要把每服务器模式的数量改的大一些即可。这个数量会限制到windows中所有的网络应用,包括数据库。二、安装时候使用NTFS分区格式,设定好NTFS磁盘权限。C盘赋给administrators和system用户组权限,删除其他用户组,其它盘也可以同样设置。注意网站最好不要放置在C盘。Windows目录要加上给users的默认权限,否则ASP和ASPX等应用程序就无法运行。另外,还将c:\windows\system32目录下的一些DOS命令文件:net.exe,cmd.exe,tftp.exe,netstat.exe,regedit.exe,at.exe,attrib.exe,cacls.exe,这些文件都设置只允许administrators访问。另外在c:/DocumentsandSettings/这里相当重要,后面的目录里的权限根本不会继承从前的设置,如果仅仅只是设置了C盘给administrators权限,而在AllUsers/ApplicationData目录默认everyone用户有权限,这样入侵这可以跳转到这个目录,写入脚本或只文件,再结合其他漏洞来提升权限;譬如利用serv-u的本地溢出提升权限,或系统遗漏有补丁,数据库的弱点,甚至社会工程学等方法,在用做web/ftp服务器的系统里,建议是将这些目录都设置的限定好权限。2三、禁止不必要的服务和增强网络连接安全性把不必要的服务都禁止掉,尽管这些不一定能被攻击者利用得上,但是按照安全规则和标准上来说,多余的东西就没必要开启,减少一份隐患。在网络连接里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),由于要控制带宽流量服务,额外安装了Qos数据包计划程序。在高级tcp/ip设置里--NetBIOS设置禁用tcp/IP上的NetBIOS(S)。在高级选项里,使用Internet连接防火墙,这是windows2003自带的防火墙,在2000系统里没有的功能,虽然没什么功能,但可以屏蔽端口,这样已经基本达到了一个IPSec的功能。注意:不推荐使用TCP/IP筛选里的端口过滤功能。譬如在使用FTP服务器的时候,如果仅仅只开放21端口,由于FTP协议的特殊性,在进行FTP传输的时候,由于FTP特有的Port模式和Passive模式,在进行数据传输的时候,需要动态的打开高端口,所以在使用TCP/IP过滤的情况下,经常会出现连接上后无法列出目录和数据传输的问题。所以在2003系统上增加的windows连接防火墙能很好的解决这个问题,所以都不推荐使用网卡的TCP/IP过滤功能。。第三节FTP服务器架设一、推荐使用Serv-U.FTP.Server.Corporate.v6.0.0.21.Serv-U最好不要使用默认安装路径,设置Serv-U的目录权限,只有管理员才能访问;2、启用Serv-U中的安全,serv-u的几点常规安全设置:选中BlockFTP_bounceattackandFXP。什么是FXP呢?通常,当使用FTP协议进行文件传输时,客户端首先向FTP服务器发出一个PORT命令,该命令中包含此用户的IP地址和将被用来进行数据传输的端口号,服务器收到后,利用命令所提供的用户地址信息建立与用户的连接。大多数情况下,上述过程不会出现任何问题,但当客户端是一名恶意用户时,可能会通过在PORT命令中加入特定的地址信息,使FTP服务器与其它非客户端的机器建立连接。虽然这名恶意用户可能本身无权直接访问某一特定机器,但是如果FTP服务器有权访问该机器的话,那么恶意用户就可以通过FTP服务器作为中介,仍然能够最终实现与目标服务器的连接。这就是FXP,也称跨服务器攻击。选中后就可以防止发生此种情况。另外在Blockantitime-outschemes也可以选中。其次,在Advanced选项卡中,3检查Enablesecurity是否被选中,如果没有,选择它们。3.可修改Serv-U的默认管理员名字和密码,默认端口也可以修改,详情见附录。第四节win2003系统安全设置1、将一些危险的服务禁止,特别是远程控制注册表服务及无用和可疑的服务。2、关闭机器上开启的共享文件,设置一个批处理文件删除默认共享。3、封锁端口黑客大多通过端口进行入侵,所以你的服务器只能开放你需要的端口以下是常用端口:80为Web网站服务;21为FTP服务;25为E-mailSMTP服务;110为EmailPOP3服务。其他还有SQLServer的端口1433等,不用的端口一定要关闭!关闭这些端口,我们可以通过Windows2003的IP安全策略进行。借助它的安全策略,完全可以阻止入侵者的攻击。你可以通过“管理工具→本地安全策略”进入,右击“IP安全策略”,选择“创建IP安全策略”,点[下一步]。输入安全策略的名称,点[下一步],一直到完成,你就创建了一个安全策略:接着你要做的是右击“IP安全策略”,进入管理IP筛选器和筛选器操作,在管理IP筛选器列表中,你可以添加要封锁的端口,这里以关闭ICMP和139端口为例说明。关闭了ICMP,黑客软件如果没有强制扫描功能就不能扫描到你的机器,也Ping不到你的机器。关闭ICMP的具体操作如下:点[添加],然后在名称中输入“关闭ICMP”,点右边的[添加],再点[下一步]。在源地址中选“任何IP地址”,点[下一步]。在目标地址中选择“我的IP地址”,点[下一步]。在协议中选择“ICMP”,点[下一步]。回到关闭ICMP属性窗口,即关闭了ICMP。下面我们再设置关闭139,同样在管理IP筛选器列表中点“添加”,名称设置为“关闭139”,点右边的“添加”,点[下一步]。在源地址中选择“任何IP地址”,点[下一步]。在目标地址中选择“我的IP地址”,点[下一步]。在协议中选择“TCP”,点[下一步]。在设置IP协议端口中选择从任意端口到此端口,在此端口中输入139,点[下一步]。即完成关闭139端口,其他的端口也同样设置然后进入设置管理筛选器操作,点“添加”,点[下一步],在名称中输入“拒绝”,点[下一步]。选择“阻止”,点[下一步]。然后关闭该属性页,右击新建的IP安全策略“安全”,打开属性页。在规则中选择“添加”,点[下一步]。选择“此规则不指定隧道”,点[下一步]。在选择网络类型中选择“所有网络连接”,点[下一步]。在IP筛选器列表中选择“关闭ICMP”,点[下一步]。在筛选器操作中选择“拒绝”,点[下一步]。这样你就将“关闭ICMP”的筛选器加入到名为“安全”的IP安全策略中。同样的方法,你可以将“关闭139”等其他筛选器加入进来。最后要做的是指派该策略,只有指派后,它才起作用。方法是右击“安全”,在菜单中选择“所有任务”,选择“指派”。IP安全设置到此结束,你可根据自己的情况,设置相应的策略。。总结:就这样非常轻松的解决用户设置权限的问题。以上我们又做了非常健全的越权限制,有效防止了跨站攻击,就算黑客得到了此用户,也只是网站访问来宾用户,丝毫危机不4到服务器其它网站,IIS虚拟站点的安全问题,相信足以排除提升权限的忧患了。疑问一、有些人认为只需要建立新用户,将新用户放在guest组下即可,我自己认为建立一个单独的组很有必要,这个组的权限是由用户的权限的集合,guest组仍然具有一定的权限。疑问二、完全控权限与下面所有的权限勾上是否相等,完全控制权限包括下面所有权限,我们只需要给予必要的权限,因此网站访问来宾用户不需要勾上完全控制权限。大家有疑问可以去网络上查询权限的相关资料,这个是大家学习Windows系统中一个重要的课程内容。修订于2007年2月13日3。高级篇:NT/2000的高级安全设置1.禁用空连接,禁止匿名获得用户名列表Win2000的默认安装允许任何用户通过空用户得到系统所有账号/共享列表,这个本来是为了方便局域网用户共享文件的,但是一个远程用户也可以得到你的用户列表并使用暴力法破解用户密码。很多朋友都知道可以通过更改注册表Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous=1来禁止139空连接,实际上win2000的本地安全策略(如果是域服务器就是在域服务器安全和域安全策略中)就有这样的选项RestrictAnonymous(匿名连接的额外限制),这个选项有三个值:0:None.Relyondefaultpermissions(无,取决于默认的权限1:DonotallowenumerationofSAMaccountsandshares(不允许枚举SAM帐号和共享)2:Noaccesswithoutexplicitanonymouspermissions(没有显式匿名权限就不允许访问)0这个值是系统默认的,什么限制都没有,远程用户可以知道你机器上所有的账号、组信息、共享目录、网络传输列表(NetServerTransportEnum等等,对服务器来说这样的设置非常危险。1这个值是只允许非NULL用户存取SAM账号信息和共享信息。2这个值是在win2000中才支持的,需要注意的是,如果你一旦使用了这个值,你的共享估计就全部完蛋了,所以我推荐你还是设为1比较好。好了,入侵者现在没有办法拿到我们的用户列表,我们的账户安全了2。禁止显示上次登陆的用户名HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\winlogon项中的Don’tDisplayLastUserName串数据改成1,这样系统不会自动显示上次的登录用户名。将服务器注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon项中的Don'tDisplayLastUserName串数据修改为1,隐藏上次登陆控制台的用户名。其实,在2000的本地安全策略中也存在该选项Winnt4.0修改注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon中增加DontDisplayLastUserName,将其值设为1。2.预防DoS:在注册表HKLM\SYSTEM\CurrentCo