﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-瀤瀤の飛揚-文章分类-Sever Config</title><link>http://www.cnitblog.com/corrie/category/6565.html</link><description>走在路上.....</description><language>zh-cn</language><lastBuildDate>Tue, 04 Oct 2011 00:00:36 GMT</lastBuildDate><pubDate>Tue, 04 Oct 2011 00:00:36 GMT</pubDate><ttl>60</ttl><item><title>WIN2003防木马配置</title><link>http://www.cnitblog.com/corrie/articles/36747.html</link><dc:creator>corrie</dc:creator><author>corrie</author><pubDate>Thu, 22 Nov 2007 10:43:00 GMT</pubDate><guid>http://www.cnitblog.com/corrie/articles/36747.html</guid><wfw:comment>http://www.cnitblog.com/corrie/comments/36747.html</wfw:comment><comments>http://www.cnitblog.com/corrie/articles/36747.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/corrie/comments/commentRss/36747.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/corrie/services/trackbacks/36747.html</trackback:ping><description><![CDATA[
		<p>参考了网络上很多关于WIN2003的安全设置以及自己动手做了一些实践，综合了这些安全设置文章整理而成，希望对大家有所帮助，另外里面有不足之处还请大家多多指点，然后给补上，</p>
		<p>谢谢！ </p>
		<p>
				<br />一、系统的安装　　 </p>
		<p>
				<br />１、按照Windows2003安装光盘的提示安装，默认情况下2003没有把IIS6.0安装在系统里面。 </p>
		<p>
				<br />２、IIS6.0的安装 </p>
		<p>
				<br />开始菜单—&gt;控制面板—&gt;添加或删除程序—&gt;添加/删除Windows组件 </p>
		<p>
				<br />应用程序 ———ASP.NET（可选） </p>
		<p>
				<br />|——启用网络 COM+ 访问（必选） </p>
		<p>
				<br />|——Internet 信息服务(IIS)———Internet 信息服务管理器（必选）　 </p>
		<p>
				<br />|——公用文件（必选） </p>
		<p>
				<br />|——万维网服务———Active Server pages（必选） </p>
		<p>
				<br />|——Internet 数据连接器（可选） </p>
		<p>
				<br />|——WebDAV 发布（可选） </p>
		<p>
				<br />|——万维网服务（必选） </p>
		<p>
				<br />|——在服务器端的包含文件（可选） </p>
		<p>
				<br />然后点击确定—&gt;下一步安装。（具体见本文附件1） </p>
		<p> </p>
		<p>３、系统补丁的更新 </p>
		<p>
				<br />点击开始菜单—&gt;所有程序—&gt;Windows Update </p>
		<p>
				<br />按照提示进行补丁的安装。 </p>
		<p>
				<br />４、备份系统 </p>
		<p>
				<br />　　用GHOST备份系统。 </p>
		<p> </p>
		<p>５、安装常用的软件 </p>
		<p>
				<br />　　例如：杀毒软件、解压缩软件等；安装完毕后,配置杀毒软件,扫描系统漏洞,安装之后用GHOST再次备份系统。 </p>
		<p> </p>
		<p>6、先关闭不需要的端口 开启防火墙 导入IPSEC策略 </p>
		<p>
				<br />在”网络连接”里，把不需要的协议和服务都删掉，这里只安装了基本的Internet协议（TCP/IP），由于要控制带宽流量服务，额外安装了Qos数据包计划程序。在高级tcp/ip设置里--"NetBIOS"设置"禁用tcp/IP上的NetBIOS（S）"。在高级选项里，使用"Internet连接防火墙"，这是windows 2003 自带的防火墙，在2000系统里没有的功能，虽然没什么功能，但可以屏蔽端口，这样已经基本达到了一个IPSec的功能。 </p>
		<p> </p>
		<p>修改3389远程连接端口 </p>
		<p>
				<br />修改注册表. </p>
		<p>
				<br />开始--运行--regedit </p>
		<p>
				<br />依次展开 HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/ </p>
		<p>
				<br />TERMINAL SERVER/WDS/RDPWD/TDS/TCP </p>
		<p>
				<br />右边键值中 PortNumber 改为你想用的端口号.注意使用十进制(例 10000 ) </p>
		<p> </p>
		<p>HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/TERMINAL SERVER/ </p>
		<p>
				<br />WINSTATIONS/RDP-TCP/ </p>
		<p>
				<br />右边键值中 PortNumber 改为你想用的端口号.注意使用十进制(例 10000 ) </p>
		<p>
				<br />注意：别忘了在WINDOWS2003自带的防火墙给+上10000端口 </p>
		<p>
				<br />修改完毕.重新启动服务器.设置生效.</p>
		<p>二、用户安全设置 </p>
		<p>
				<br />1、禁用Guest账号 </p>
		<p>
				<br />在计算机管理的用户里面把Guest账号禁用。</p>
		<p>为了保险起见，最好给Guest加一个复杂的密码。你可以打开记事本，在里面输入一串包含特殊字符、数字、字母的长字符串，然后把它作为Guest用户的密码拷进去。 </p>
		<p>2、限制不必要的用户 </p>
		<p>
				<br />去掉所有的Duplicate User用户、测试用户、共享用户等等。用户组策略设置相应权限，并且经常检查系统的用户，删除已经不再使用的用户。这些用户很多时候都是黑客们入侵系统的突破口。 3、把系统Administrator账号改名 </p>
		<p>
				<br />大家都知道，Windows 2003 的Administrator用户是不能被停用的，这意味着别人可以一遍又一遍地尝试这个用户的密码。尽量把它伪装成普通用户，比如改成Guesycludx。 </p>
		<p>
				<br />4、创建一个陷阱用户 </p>
		<p>
				<br />什么是陷阱用户?即创建一个名为“Administrator”的本地用户，把它的权限设置成最低，什么事也干不了的那种，并且加上一个超过10位的超级复杂密码。这样可以让那些 Hacker们忙上一段时间，借此发现它们的入侵企图。 </p>
		<p>
				<br />5、把共享文件的权限从Everyone组改成授权用户 </p>
		<p>
				<br />任何时候都不要把共享文件的用户设置成“Everyone”组，包括打印共享，默认的属性就是“Everyone”组的，一定不要忘了改。 </p>
		<p>
				<br />6、开启用户策略 </p>
		<p>
				<br />使用用户策略，分别设置复位用户锁定计数器时间为20分钟，用户锁定时间为20分钟，用户锁定阈值为3次。 （该项为可选） </p>
		<p>
				<br />7、不让系统显示上次登录的用户名 </p>
		<p>
				<br />默认情况下，登录对话框中会显示上次登录的用户名。这使得别人可以很容易地得到系统的一些用户名，进而做密码猜测。修改注册表可以不让对话框里显示上次登录的用户名。方法为：打开注册表编辑器并找到注册表“HKLM\Software\Microsoft\Windows T\CurrentVersion\Winlogon\Dont-DisplayLastUserName”，把REG_SZ的键值改成1。 </p>
		<p>
				<br />密码安全设置 </p>
		<p>
				<br />1、使用安全密码 </p>
		<p>
				<br />一些公司的管理员创建账号的时候往往用公司名、计算机名做用户名，然后又把这些用户的密码设置得太简单，比如“welcome”等等。因此，要注意密码的复杂性，还要记住经常改密码。 </p>
		<p>
				<br />2、设置屏幕保护密码 </p>
		<p>
				<br />这是一个很简单也很有必要的操作。设置屏幕保护密码也是防止内部人员破坏服务器的一个屏障。 </p>
		<p>
				<br />3、开启密码策略 </p>
		<p>
				<br />注意应用密码策略，如启用密码复杂性要求，设置密码长度最小值为6位 ，设置强制密码历史为5次，时间为42天。 </p>
		<p>
				<br />4、考虑使用智能卡来代替密码 </p>
		<p>
				<br />对于密码，总是使安全管理员进退两难，密码设置简单容易受到黑客的攻击，密码设置复杂又容易忘记。如果条件允许，用智能卡来代替复杂的密码是一个很好的解决方法。<br />三、系统权限的设置 </p>
		<p>
				<br />１、磁盘权限 </p>
		<p>
				<br />　　系统盘及所有磁盘只给 Administrators 组和 SYSTEM 的完全控制权限 </p>
		<p>
				<br />　　系统盘\Documents and Settings 目录只给 Administrators 组和 SYSTEM 的完全控制权限 </p>
		<p>
				<br />　　系统盘\Documents and Settings\All Users 目录只给 Administrators 组和 SYSTEM 的完全控制权限 </p>
		<p>
				<br />　　系统盘\Windows\System32\cacls.exe、cmd.exe、net.exe、net1.exe、<a href="ftp://ftp.exe">ftp.exe</a>、tftp.exe、telnet.exe 、 netstat.exe、regedit.exe、at.exe、attrib.exe、format.com、del文件只给 Administrators 组和SYSTEM 的完全 控制权限 </p>
		<p>
				<br />另将\System32\cmd.exe、format.com、<a href="ftp://ftp.exe">ftp.exe</a>转移到其他目录或更名 </p>
		<p>
				<br />　　Documents and Settings下所有些目录都设置只给adinistrators权限。并且要一个一个目录查看，包括下面的所有子目录。 </p>
		<p>
				<br />删除c:\inetpub目录 </p>
		<p> </p>
		<p>２、本地安全策略设置 </p>
		<p>
				<br />　　开始菜单—&gt;管理工具—&gt;本地安全策略 </p>
		<p>
				<br />　　A、本地策略——&gt;审核策略 </p>
		<p>
				<br />　　审核策略更改　　　成功　失败　　 </p>
		<p>
				<br />　　审核登录事件　　　成功　失败 </p>
		<p>
				<br />　　审核对象访问　　　　　　失败审核过程跟踪　　　无审核 </p>
		<p>
				<br />　　审核目录服务访问　　　　失败 </p>
		<p>
				<br />　　审核特权使用　　　　　　失败 </p>
		<p>
				<br />　　审核系统事件　　　成功　失败 </p>
		<p>
				<br />　　审核账户登录事件　成功　失败 </p>
		<p>
				<br />　　审核账户管理　　　成功　失败 </p>
		<p> </p>
		<p>　　B、本地策略——&gt;用户权限分配 </p>
		<p>
				<br />　　关闭系统：只有Administrators组、其它全部删除。 </p>
		<p>
				<br />　　通过终端服务允许登陆：只加入Administrators,Remote Desktop Users组，其他全部删除 </p>
		<p> </p>
		<p>　　C、本地策略——&gt;安全选项 </p>
		<p>
				<br />　　交互式登陆：不显示上次的用户名　　　　　　　启用 </p>
		<p>
				<br />　　网络访问：不允许SAM帐户和共享的匿名枚举　 启用 </p>
		<p>
				<br />　　网络访问：不允许为网络身份验证储存凭证　　　启用 </p>
		<p>
				<br />　　网络访问：可匿名访问的共享　　　　　　　　　全部删除 </p>
		<p>
				<br />　　网络访问：可匿名访问的命　　　　　　　　　　全部删除 </p>
		<p>
				<br />　　网络访问：可远程访问的注册表路径　　　　　　全部删除 </p>
		<p>
				<br />　　网络访问：可远程访问的注册表路径和子路径　　全部删除 </p>
		<p>
				<br />　　帐户：重命名来宾帐户　　　　　　　　　　　　重命名一个帐户 </p>
		<p>
				<br />　　帐户：重命名系统管理员帐户　　　　　　　　　重命名一个帐户 </p>
		<p> </p>
		<p>３、禁用不必要的服务 开始-运行-services.msc </p>
		<p>
				<br />TCP/IPNetBIOS Helper提供 TCP/IP 服务上的 NetBIOS 和网络上客户端的 NetBIOS 名称解析的支持而使用户能够共享 </p>
		<p>
				<br />文件、打印和登录到网络 </p>
		<p>
				<br />Server支持此计算机通过网络的文件、打印、和命名管道共享 </p>
		<p>
				<br />　　Computer Browser 维护网络上计算机的最新列表以及提供这个列表 </p>
		<p>
				<br />Task scheduler 允许程序在指定时间运行 </p>
		<p>
				<br />Messenger 传输客户端和服务器之间的 NET SEND 和 警报器服务消息 </p>
		<p>
				<br />　　Distributed File System: 局域网管理共享文件，不需要可禁用 </p>
		<p>
				<br />　　Distributed linktracking client：用于局域网更新连接信息，不需要可禁用 </p>
		<p>
				<br />　　Error reporting service：禁止发送错误报告 </p>
		<p>
				<br />　　Microsoft Serch：提供快速的单词搜索，不需要可禁用 </p>
		<p>
				<br />　　NTLMSecuritysupportprovide：telnet服务和Microsoft Serch用的，不需要可禁用 </p>
		<p>
				<br />　　PrintSpooler：如果没有打印机可禁用 </p>
		<p>
				<br />　　Remote Registry：禁止远程修改注册表 </p>
		<p>
				<br />　　Remote Desktop Help Session Manager：禁止远程协助 </p>
		<p>
				<br />Workstation 关闭的话远程NET命令列不出用户组 </p>
		<p>
				<br />　　以上是在Windows Server 2003 系统上面默认启动的服务中禁用的，默认禁用的服务如没特别需要的话不要启动。</p>
		<p>４、修改注册表 </p>
		<p>
				<br />修改注册表，</p>
		<p>让系统更强壮 </p>
		<p>1、隐藏重要文件/目录可以修改注册表实现完全隐藏 </p>
		<p>
				<br />HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL”，鼠标右击 “CheckedValue”，选择修改，把数值由1改为0 </p>
		<p> </p>
		<p>2、防止SYN洪水攻击 </p>
		<p>
				<br />HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters </p>
		<p>
				<br />新建DWORD值，名为SynAttackProtect，值为2 </p>
		<p>
				<br />新建EnablePMTUDiscovery REG_DWORD 0 </p>
		<p>
				<br />新建NoNameReleaseOnDemand REG_DWORD 1 </p>
		<p>
				<br />新建EnableDeadGWDetect REG_DWORD 0 </p>
		<p>
				<br />新建KeepAliveTime REG_DWORD 300,000 </p>
		<p>
				<br />新建PerformRouterDiscovery REG_DWORD 0 </p>
		<p>
				<br />新建EnableICMPRedirects REG_DWORD 03. 禁止响应ICMP路由通告报文 </p>
		<p>
				<br />HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface </p>
		<p>
				<br />新建DWORD值，名为PerformRouterDiscovery 值为0 </p>
		<p> </p>
		<p>4. 防止ICMP重定向报文的攻击 </p>
		<p>
				<br />HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters </p>
		<p>
				<br />将EnableICMPRedirects 值设为0 </p>
		<p> </p>
		<p>5. 不支持IGMP协议 </p>
		<p>
				<br />HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters </p>
		<p>
				<br />新建DWORD值，名为IGMPLevel 值为0 </p>
		<p>
				<br />6、禁止IPC空连接： </p>
		<p>
				<br />cracker可以利用net use命令建立空连接，进而入侵，还有net view，nbtstat这些都是基于空连接的，禁止空连接就好了。 </p>
		<p>
				<br />Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 把这个值改成”1”即可。 </p>
		<p> </p>
		<p>7、更改TTL值 </p>
		<p>
				<br />cracker可以根据ping回的TTL值来大致判断你的操作系统，如： </p>
		<p>
				<br />TTL=107(WINNT); </p>
		<p>
				<br />TTL=108(win2000); </p>
		<p>
				<br />TTL=127或128(win9x); </p>
		<p>
				<br />TTL=240或241(linux); </p>
		<p>
				<br />TTL=252(solaris); </p>
		<p>
				<br />TTL=240(Irix); </p>
		<p>
				<br />实际上你可以自己改的：HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters：DefaultTTL REG_DWORD 0-0xff(0-255 十进制,默认值128)改成一个莫名其妙的数字如258，起码让那些小菜鸟晕上半天，就此放弃入侵你也不一定哦 </p>
		<p> </p>
		<p>8. 删除默认共享 </p>
		<p>
				<br />有人问过我一开机就共享所有盘，改回来以后，重启又变成了共享是怎么回事，这是2K为管理而设置的默认共享，HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters：AutoShareServer类型是REG_DWORD把值改为0即可 </p>
		<p> </p>
		<p>9. 禁止建立空连接 </p>
		<p>
				<br />默认情况下，任何用户通过通过空连接连上服务器，进而枚举出帐号，猜测密码。我们可以通过修改注册表来禁止建立空连接： </p>
		<p>
				<br />Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值改成”1”即可。 </p>
		<p> </p>
		<p>10、建立一个记事本，填上以下代码。保存为*.bat并加到启动项目中 </p>
		<p>
				<br />net share c$ /del </p>
		<p>
				<br />net share d$ /del </p>
		<p>
				<br />net share e$ /del </p>
		<p>
				<br />net share f$ /del </p>
		<p>
				<br />net share ipc$ /del </p>
		<p>
				<br />net share admin$ /del <br />5、IIS站点设置： </p>
		<p>
				<br />1、将IIS目录＆数据与系统磁盘分开，保存在专用磁盘空间内。</p>
		<p>
				<br />2、启用父级路径 </p>
		<p>
				<br />3、在IIS管理器中删除必须之外的任何没有用到的映射（保留asp等必要映射即可） </p>
		<p>
				<br />4、在IIS中将HTTP404 Object Not Found出错页面通过URL重定向到一个定制HTM文件 </p>
		<p>
				<br />5、Web站点权限设定（建议） </p>
		<p>
				<br />读 允许 </p>
		<p>
				<br />写 不允许 </p>
		<p>
				<br />脚本源访问 不允许 </p>
		<p>
				<br />目录浏览 建议关闭 </p>
		<p>
				<br />日志访问 建议关闭 </p>
		<p>
				<br />索引资源 建议关闭 </p>
		<p>
				<br />执行 推荐选择 “仅限于脚本” </p>
		<p>
				<br />6、建议使用W3C扩充日志文件格式，每天记录客户IP地址，用户名，服务器端口，方法，URI字根，HTTP状态，用户代理，而且每天均要审查日志。（最好不要使用缺省的目录，建议更换一个记日志的路径，同时设置日志的访问权限，只允许管理员和system为Full Control）。 </p>
		<p>
				<br />7、程序安全: </p>
		<p>
				<br />1) 涉及用户名与口令的程序最好封装在服务器端，尽量少的在ASP文件里出现，涉及到与数据库连接地用户名与口令应给予最小的权限; </p>
		<p>
				<br />2) 需要经过验证的ASP页面，可跟踪上一个页面的文件名，只有从上一页面转进来的会话才能读取这个页面。3) 防止ASP主页.inc文件泄露问题; </p>
		<p>
				<br />4) 防止UE等编辑器生成some.asp.bak文件泄露问题。 </p>
		<p> </p>
		<p>6、IIS权限设置的思路 </p>
		<p>
				<br />?要为每个独立的要保护的个体（比如一个网站或者一个虚拟目录）创建一个系统用户，让这个站点在系统中具有惟一的可以设置权限的身份。 </p>
		<p>
				<br />?在IIS的【站点属性或者虚拟目录属性→目录安全性→匿名访问和验证控制→编辑→匿名访问→编辑】填写刚刚创建的那个用户名。 </p>
		<p>
				<br />?设置所有的分区禁止这个用户访问，而刚才这个站点的主目录对应的那个文件夹设置允许这个用户访问（要去掉继承父权限，并且要加上超管组和SYSTEM组）。 </p>
		<p> </p>
		<p>7、卸载最不安全的组件 </p>
		<p>
				<br />最简单的办法是直接卸载后删除相应的程序文件。将下面的代码保存为一个.BAT文件，( 以下均以 WIN2000 为例，如果使用2003，则系统文件夹应该是 C:\WINDOWS\ ) </p>
		<p>
				<br />regsvr32/u C:\WINDOWS\System32\wshom.ocx </p>
		<p>
				<br />del C:\WINDOWS\System32\wshom.ocx </p>
		<p>
				<br />regsvr32/u C:\WINDOWS\system32\shell32.dll </p>
		<p>
				<br />del C:\WINNT\WINDOWS\shell32.dll </p>
		<p> </p>
		<p>然后运行一下，WScript.Shell, Shell.application, WScript.Network就会被卸载了。可能会提示无法删除文件，不用管它，重启一下服务器，你会发现这三个都提示“×安全”了。 <br /></p>
<img src ="http://www.cnitblog.com/corrie/aggbug/36747.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/corrie/" target="_blank">corrie</a> 2007-11-22 18:43 <a href="http://www.cnitblog.com/corrie/articles/36747.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>