自己收藏的Windows安全设置,适合初学者!

来源:百度文库 编辑:神马文学网 时间:2024/04/27 20:45:43



初级Windows安全设置 
 
一 总述 
     
    windows的安全的设置一般人还是比较熟悉的,这里只是为了方便大家而总结的一个流程。资料来源于网络和杂志,在此向这些作者表示感谢。 
    可能出现的结果是,如实的做了,但可能您的服务转不起来了。自己要在安全和平衡之间做个合适的选择。 
    本文档是免费的,可以任意下载与交流,不能用于商业用途,如要转载请保留此段。同时希望您也参与进来,您可以把您的建议以邮件的形式发送到gba66@163.com 注明:windows安全设置建议(如:本文档提到的工具名称,来源错误。设置技巧的错误。以及需要完善的地方等)。 
 
二.安装安全 
     
  (注意:安装时一定不要将主机连入internet)做为服务器使用,建议使用英文版本的系统软件,还有2003比2000强很多,系统格式采用NTFS格式。推荐使用WIN2000服务器版或高级服务器版、WIN2003企业版,因为在IIS连接数上没有什么限制,而专业版PRO、家庭版HOME、以及所有WINXP版本(HOME、PRO)均有IIS同时连接数量限制(APACHE中则称为并发连接)< =10。超过10则提示不允许连接。除非你是为了测试、调试程序,否则偶推荐你只使用推荐系统。当然VISTA安全性能更不错,比如它的UAC安全特性。         
         
    推荐建立三个逻辑驱动器,第一个用来装系统和重要的日志文件;第二个放IIS;第三个放FTP(4个也好。可以把日志和备份放到第四个里。)。WIN2K在安装时有一个漏洞,就是在输入Administrator的密码后,系统会建立“$ADMIN”的共享,但是并没有用刚输入的密码来保护它,这种情况一直会持续到计算机再次启动。在此期间,任何人都可以通过“$ADMIN”进入系统。不要安装编译软件如VC++6.0等 
 
  不要安装比如qq(比如2007年年初的QQ,UC漏洞威胁还是很大的)等无关的软件,不要使用服务器做日常的上网工作,修改BIOS密码保障安全。 做为个人的用户现在很流行使用那个ghost版本的windowsxp系统,这个版本存在的问题是有个new和administrator俩个空口令的用户,而且开了3389。请在计算机管理里将administrator和new改名并设置复杂口令。右击“我的电脑”在远程连接里把“允许远程用户连接此计算机”和“允许从这台计算机发出远程邀请”前面的勾去掉。 
   
  其次,注意补丁的安装。补丁应该在所有应用程序(冷寒冰:注意,象SQL,SERV-U这样的软件千万不要按照默认的路径安装。容易被猜到)安装完之后再安装,因为补丁程序往往要替换或修改某些系统文件,如果先安装补丁的话可能无法起到应有的效果。(冷寒冰:平时注意积累windows补丁是个好习惯,刻成光盘,方便使用,而且显的您很职业!)最后提一点的是在WINDOWS的升级中,容易需要安装独立的补丁,需要特别的下载。比如office的补丁,针对某些office漏洞网上很流行套office全版溢出捆绑工具(补丁下载地址为http://www.microsoft.com/downloa ... p;DisplayLang=zh-hk)。而且最近针对Vista系统安全性相对较好的情况,针对非系统的漏洞研究更多比如针对OFFICE2007的漏洞利用等。 
   
    安装后,使用Microsoft 提供的 MBSA(Microsoft Baseline Security Analyzer) 工具分析计算机的安全配置。 
 
    这里要说的是windows2003可以使用“安全配置向导”这个工具来做系统的安全。默认情况下并没有被安装。请在添加删除程序中自行添加此组件。 
 
三 系统帐号安全 
运行里命令“compmgmt.msc \s” 打开计算机管理。 
1、系统管理员账户最好少建,更改默认的管理员帐户名(Administrator)和描述,密码最好采用数字加大小写字母加数字的上档键组合,长度最好不少于14位。  
 
这里介绍个支持@这样特殊字符的来命名管理员帐号的小方法: 
开始-运行-gpedit.msc-计算机配置-windows设置-安全设置-本地策略-安全选项。然后是:帐户:重命名系统管理员帐户。输入带@的用户名。确定。这样就可以用了。 
 
  2、新建一个名为Administrator的陷阱帐号,为其设置最小的权限,然后随便输入组合的最好不低于20位的密码  
 
  3、将Guest账户禁用并更改名称和描述,然后输入一个复杂的密码,您也可以选择将guest用户删除(默认删除不了). 
 
4.在运行中输入gpedit.msc回车 
 
(冷寒冰:任何时刻我们在“运行”里敲命令时一定要把后缀名输入完整,比如cmd.exe,因为在windows下cmd.com是比cmd.exe先运行的。而cmd.com可能就是黑客的后门或是病毒,另外,对方可以通过设定系统环境变量来改变当前的后缀执行顺序,他可以这样做: 
set PATH=c:\winnt\system32\test;c:\winnt\system32; 
set PATHEXT=.COM;.BAT;.EXE;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.VBS 
来使环境变量改变,达到使net.bat先于net.exe执行,而net.bat是个恶意的批处理。 

 
打开组策略编辑器,选择计算机配置-Windows设置-安全设置-账户策略-账户锁定策略,将账户设为“三次登陆无效”,“锁定时渖栉?0分钟”,“复位锁定计数设为30分钟”。  
 
  5、在安全设置-本地策略-安全选项中将“不显示上次的用户名”设为启用  
 
  6、在安全设置-本地策略-用户权利分配中将“从网络访问此计算机”中只保留Internet来宾账户、启动IIS进程账户。如果您使用了Asp.net还要保留Aspnet账户。  
 
  7、创建一个User账户,运行系统,如果要运行特权命令使用Runas命令(runas /profile /user:使用的用户 想使用的应用程序).(冷寒冰:平时我们上网时也最好使用user用户上网,可以避免不少流氓软件的骚扰和网马的侵害) 
     
8.注意更改您的用户的口令,同时注意经常查看注册表核对注册表值查看是否有隐藏的用户(HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Nmaes),校对HKEY_MACHNE\SAM\SAM\Domains\Account\user\Names\Administrator的数值。检查隐藏用户的一个很方便的工具是LP_Check。 
     
    9.在账户策略->密码策略中设定:  
 
  密码复杂性要求 启用  
 
  密码长度最小值 6位  
 
  强制密码历史 5次  
 
  最长存留期 30天 (口令必须定期更改,建议至少两周该一次) 
 
  在账户策略->账户锁定策略中设定:  
 
  账户锁定 3次错误登录  
 
  锁定时间 20分钟  
 
  复位锁定计数 20分钟  
 
    10.除了管理员root,IUSER以及IWAM以及ASPNET用户外.禁用其他一切用户.包括SQL DEBUG以及TERMINAL USER等等。再为每个虚拟目录下每个站点建一个用户. 
 
  11.提倡使用底权限的用户来使用电脑。但总出现“权限不够”的提示很讨厌。可以安装名为“DropMyRights”的程序,使用它来启动其他程序,用这个软件启动其他程序,这样启动的程序就只具有基本的权限,无法对系统产生破坏。方法很简单,以ie为例:右击桌面ie快捷图标。属性-->快捷方式-->目标位置输入下面命令 
"c:\程序安装目录\DropMyRights.exe" "c:\Program Files\internet Explorer\iexplore.exe" N 
 
  12.USERS组用户使用ie 
1)建立用户icy_cold,删除桌面上的ie图标。打开“c:\Program Files\Internet Explorer”右击iexplore.exe发送到桌面快捷方式。右击新建的图标,属性,切换到“快捷方式”选项卡--高级-以其他用户身份运行 
2)以非icy_cold运行系统,比如是管理员,双击ie,弹出对话框,在其中输入icy_cold和密码,正常使用ie,当安装流氓软件的时候是默认是icy-cold用户安装的。 
3)如果icy-cold用户的ie被糟蹋的不行的时候,就把icy-cold那个用户删了。 
 
13.不要为了方便让windows每次重启后不输入密码就自动登陆,这样用户名和密码信息会写入到注册表中。 
 
四.关闭不需要的服务。 
 
1.关闭不需要的服务,以下为建议选项  
 
  Computer Browser:维护网络计算机更新,禁用  
 
  Distributed File System: 局域网管理共享文件,不需要禁用  
 
  Distributed linktracking client:用于局域网更新连接信息,不需要禁用  
 
  Error reporting service:禁止发送错误报告  
 
  Microsoft Serch:提供快速的单词搜索,不需要可禁用  
 
  NTLMSecuritysupportprovide:telnet服务和Microsoft Serch用的,不需要禁用  
 
  PrintSpooler:如果没有打印机可禁用  
 
  Remote Registry:禁止远程修改注册表  
 
  Remote Desktop Help Session Manager:禁止远程协助  
         
    telnet 禁用 
 
2.必要的服务名 简介  
 
COM+ Event System 提供事件的自动发布到订阅 COM 组件 
 
Computer Browser 维护网络上计算机的最新列表以及提供这个列表 
 
Machine Debug Manager Manages local and remote debugging for Visual Studio debuggers 
 
Network Connections 管理“网络和拨号连接”文件夹中对象,在其中您可以查看局域网和远程连接 
 
Plug and Play 管理设备安装以及配置,并且通知程序关于设备更改的情况 
 
Protected Storage 提供对敏感数据(如私钥)的保护性存储,以便防止未授权的服务,过程或用户对其的非法访问(备注:缺少了此项后可能造成在IE中输入文字后死机)  
 
Remote Procedure Call (RPC) 提供终结点映射程序(endpoint mapper)以及其它 RPC 服务 
 
Security Accounts Manager 存储本地用户帐户的安全信息 
 
Server 提供 RPC 支持、文件、打印以及命名管道共享(这个服务关闭后就象我和刘贺看到的那样,资源管理器里面的用户名看不到了) 
 
Windows Management Instrumentation Driver Extensions 与驱动程序间交换系统管理信息 
 
一般webshell都提供查看服务的相关信息,这是可以禁用workstation服务就看不到了。 
 
 
3. 2000服务与运行进程详解 为保持文章连贯性,详见后面附录1。 
 
 
五 IIS服务安全 
(附录2 IIS6.0 安全特性) 
 
1.只安装(运行里命令“appwiz.cpl”打开添加删除程序--windows程序)确实需要的服务即可。这里特别提醒注意的是:“Indexing Service”、“FrontPage 2000 Server Extensions”、“ Internet Service Manager”这几个危险服务 
双击Internet信息服务(iis),勾选以下选项:  
 
Internet 信息服务管理器;  
 
公用文件;  
 
后台智能传输服务 (BITS) 服务器扩展;  
 
万维网服务。  
 
如果您使用 FrontPage 扩展的 Web 站点再勾选:FrontPage 2002 Server Extensions 
 
(注释:Microsoft FrontPage 2000 服务器扩展是一组在站点服务器的程序,它可以支持管理、创作和浏览一个用 FrontPage 扩展的站点。FrontPage 服务器扩展使用公共网关接口 (CGI) 或 Internet 服务器应用程序接口 (ISAPI),这些接口几乎是站点服务器扩展机制所通用的。他们可以与所有的标准站点服务器共同工作,包含商业站点服务器如 Microsoft 、Netscape、 Stronghold和 O'Reilly 与 Associates 以及例如 Apache 和 NCSA 等的免费和共享软件服务器。服务器扩展为易于移植到所有流行的硬件和软件平台而设计,以提供跨平台的兼容性。  
 
客户端计算机和包含有服务器扩展的站点服务器之间使用开放的 HTTP 协议进行通讯,这个协议与客户端计算机上的 Web 浏览器和站点服务器互操作时所用的相同。站点服务器机器上不需要文件共享,也不需要 FTP 和 telnet。使用 FrontPage 服务器扩展不需要专门的文件系统共享调用。  
 
当站点服务器上安装 FrontPage 服务器扩展之后,不论在 Internet 还是在 intranet 上,每个有 FrontPage 客户端的计算机都有对 FrontPage 站点进行创作和管理的功能。任何 Web 浏览器都有服务器扩展的浏览阶段功能。)  
 
 
2.删除默认的站点。  
     
    首先,删除C盘下的Inetpub目录,在D盘建一个Inetpub,在IIS管理器中将主目录指向D:\Inetpub。  
其次,把IIS安装时默认的:_vti_bin、IISSamples(\Inetpub\iissamples)、Scripts、IIShelp(\winnt\help\iishelp)、IISAdmin、IIShelp、MSADC(\program Files\common files\system\msadc)等虚拟目录也一概删除,如果您需要什么权限的目录可以以后再建(特别注意写权限和执行程序的权限)。  
 
3.设置虚拟目录 
     
    设置虚拟目录的方法这里就不写了。但注意其中的几个地方,首先虚拟目录的名字设置的要BT,如一个叫gadgadfgadg,而另个叫dfasdfadfdf,自己做好记录。这样可以防止别人轻易的跳出他所在的目录。而且一个虚拟目录对应一个用户。在属性的虚拟目录那页执行权限一般选择纯脚本,应用程序保护选中,尤其要注意的是上面的执行权限和读的权限设置。目录浏览一定不要选上,选上的话会出现比如找不到index.asp而把您的站的目录全列出来的情况.脚本资源访问(对网站的脚本可以读取原文件)和写权限要慎重的分配。 
 
    然后是应用程序的配置。在IIS管理器中把无用映射都统统删除(当然必须保留如ASP,象cer,asa等还是删除吧。自己再添加个任意执行文件,后缀名是.mdb的应用程序扩展名映射,这样可以防止mdb文件被下载)。在IIS管理器中“主机→属性→WWW服务编辑→主目录配置→应用程序映射”,然后开始一个个删吧。比如:htw与webhits.dll的映射删除 接着再在应用程序调试书签内,将“脚本错误消息”改为“发送文本”。点击“确定”退出时别忘了让虚拟站点继承刚才设定好的属性。并且可以考虑把错误的返回页面的内容重写或是重定向到自己做的一个页面,这样可以使一些根据返回错误页面来判断的扫描器失去作用。 
 
4.数据库文件不要和web文件放到一块,要分开放。 
     
    同时象images这样存放图片的目录一定不要有写的权限和脚本运行的权限(上传图片的地方可以写但不能有运行的权限)。数据库目录可以写。其他的(象包含文件可以放到inc目录下,asp这样的脚本文件可以放到一个目录下,静态的网页放到一个目录下)您都要注意了。同时,最好把主页这样的关键文件设置成只有system和administrators组的用户可以改,别人就不要有写的权限了。而且要把主页单独放到一个文件夹里. 
     
    同时,对重要的(比如数据库连接文件,用户登陆的判断文件)进行加密处理,可以把access数据库放到深成次目录比如12/154/8654/目录下。 
 
也可以设置密码:使用ACCESS来为数据库文件编码及加密。首先在选取 "工具->安全->加密/解密数据库,选取数据库(如:employer.mdb),然后接确定,接着会出现 "数据库加密后另存为"的窗口,存为:employer1.mdb。 接着employer.mdb就会被编码,然后存为employer1.mdb..  
  要注意的是,以上的动作并不是对数据库设置密码,而只是对数据库文件加以编码,目的是为了防止他人使用别的工具来查看数据库文件的内容。  
  接下来我们为数据库加密,首先以打开经过编码了的 employer1.mdb, 在打开时,选择"独占"方式。然后选取功能表的"工具->安全->设置数据库密码", 接着 输入密码即可。这样即使他人得到了employer1.mdb文件,没有密码他是无法看到 employer1.mdb的。  
不过要在ASP程序中的connection对象的open方法中增加PWD的参数即可,例如: 
param="driver={Microsoft Access Driver (*.mdb)}wd=yfdsfs" 
param=param&";dbq="&server.mappath("employer1.mdb") 
conn.open param 
这样即使他人得到了employer1.mdb文件,没有密码他是无法看到employer1.mdb的. 
 
 
对于可能存在注入漏洞的目录使用防注入工具。同时您的管理员后台登陆地址要改的让人猜不到(登陆界面上的标题拦什么的就不要出现login,管理等关键字).数据库文件要做防下载处理典型的是mdb改成asp结尾的access库,前面加个#如#13464dfadf.asp。(%23#13464dfadf.asp是个更好的选择。)或是在access文件里新建个表写进<%这样的数据.当您检查如asp这样的文件时,用打开普通文件的方法打开,不要浏览。 
 
主目录设置读取就可以了。 
 
windows2003默认是不支持ASP脚本运行的,我们可以如下做是它重新支持ASP: 
1)internet信息服务管理器 
2)属性--web服务器扩展 
3)双击"Actives server pages",然后将"任务栏"设置项处“允许”按钮单击一下。 
 
5.需要注意的是,如果您的机器上还要支持php,我最好您不要这样做。最好是单一脚本的服务器。但如果您坚持这样做,我建议去看看php的安全设置。我个人认为还是在linux上玩php比较好。在windows上默认的php具有很高的权限,权限不设置,上传个php木马的话那就死定了。同时注意2003默认系统有个ASP.NET的用户,原来它是USERS组的,把它设置成GUEST组的用户,免的被提权。 
 
另外,同时使用apache和IIS的一个解决方案 
    ---------------------------------------------------- 
    转自:CSDN 
    在这种情况下,将apache设为使用80端口,IIS使用其它端口,比如81,然后将apache作为IIS的代理。  
    在httpd.conf里面,取消下面四行的注释:  
LoadModule proxy_module modules/mod_proxy.so  
LoadModule proxy_connect_module modules/mod_proxy_connect.so  
LoadModule proxy_http_module modules/mod_proxy_http.so  
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so  
    然后建立一个虚拟主机,将该域名的所有访问转向81端口。  
 
ServerName iloves.vicp.net  
ProxyPass / http://localhost:81/  
ProxyPassReverse / http://localhost:81/  
 
    这样,对外就可以只需要一个端口,即可同时使用apache和IIS的功能了。 
 
6、如果使用的是2000可以使用iislockdown(http://www.microsoft.com/Downloa ... easeID=33961=33961)来保护IIS,在2003运行的IE6.0的版本不需要 
 
7、使用UrlScan  
 
        UrlScan是一个ISAPI筛选器,它对传入的HTTP数据包进行分析并可以拒绝任何可疑的通信量。目前最新的版本是2.5,如果是2000Server需要先安装1.0或2.0的版本。下载地址见页未的链接  
 
  如果没有特殊的要求采用UrlScan默认配置就可以了。  
 
  但如果您在服务器运行ASP.NET程序,并要进行调试您需打开要%WINDIR%\System32\Inetsrv\URLscan  
 
  文件夹中的URLScan.ini 文件,然后在UserAllowVerbs节添加debug谓词,注意此节是区分大小写的。  
 
  如果您的网页是.asp网页您需要在DenyExtensions删除.asp相关的内容。  
 
  如果您的网页使用了非ASCII代码,您需要在Option节中将AllowHighBitCharacters的值设为1  
 
  在对URLScan.ini 文件做了更改后,您需要重启IIS服务才能生效,快速方法运行中输入iisreset  
 
  如果您在配置后出现什么问题,您可以通过添加/删除程序删除UrlScan。 
可以使用IIS的备份功能,将刚刚的设定全部备份下来,这样就可以随时恢复IIS的安全配置。还有,如果您怕IIS负荷过高导致服务器满负荷死机,也可以在性能中打开CPU限制,例如将IIS的最大CPU使用率限制在70%。  
 
 
 
六、 目录和文件权限  
 
  为了控制好服务器上用户的权限,同时也为了预防以后可能的入侵和溢出,还必须非常小心地设置目录和文件的访问权限。NT的访问权限分为:读取、写入、读取及执行、修改、列目录、完全控制。在默认的情况下,大多数的文件夹对所有用户(Everyone这个组)是完全敞开的(Full Control),您需要根据应用的需要进行权限重设。 
 
1.在进行权限控制时,请记住以下几个原则:  
 
  a. 权限是累计的,如果一个用户同时属于两个组,那么他就有了这两个组所允许的所有权限。  
 
  b. 拒绝的权限要比允许的权限高(拒绝策略会先执行)。如果一个用户属于一个被拒绝访问某个资源的组,那么不管其他的权限设置给他开放了多少权限,他也一定不能访问这个资源。  
 
  c. 文件权限比文件夹权限高。  
 
  d. 利用用户组来进行权限控制是一个成熟的系统管理员必须具有的优良习惯。  
 
  e. 只给用户真正需要的权限,权限的最小化原则是安全的重要保障。  
 
2.权限设置跟我做(这个部分还存在问题,需要核实,这也是叫我最头痛的地方,看了很多资料,没什么统一的答案,比如附录四) 
 
首先假设有C盘(系统盘)D盘(IIS服务盘)E盘(FTP服务盘)。我们把D,E盘的权限只有System组和administartors组的用户才有完全控制(everyone那个组千万要删掉)。然后按照虚拟目录的设置进行设置(请看文章其他部分)。 
 
至于C盘才是我们的重点。这里有我们容易忽视的可写的目录。将C盘的所有子目录和子文件继承C盘的administrator(组或用户)和SYSTEM所有权限的两个权限  然后做如下修改 
 
Documents and settings以及Program files,只给Administrator完全控制权,或者干脆直接把Program files给删除掉 
 
给系统卷的根目录多加一个Everyone的读、写权; 
 
C:\Program Files\Common Files 开放Everyone 默认的读取及运行 列出文件目录 读取三个权限 
 
C:\WINDOWS\ 开放Everyone 默认的读取及运行 列出文件目录 读取三个权限 
 
C:\WINDOWS\Temp 开放Everyone 修改,读取及运行,列出文件目录,读取,写入权限 
现在WebShell就无法在系统目录内写入文件了. 
 
黑客手册上给过一个C盘的设置如下 
 
========================================================== 
        目录  | 用户或组        |权限|  备注 
---------------------------------------------------------- 
C盘根目录      |admin+system    |A    |勾选替换 
---------------------------------------------------------- 
Documents and Settings|admin+system  | A  | 勾选替换 
                      |  USERS      |B  |勾选替换 
---------------------------------------------------------- 
Programe Files Common  Files |admin+system |A |勾选替换 
                            |  USERS      |B  |勾选替换 
----------------------------------------------------------- 
            Windows          |admin+system |A |勾选替换 
                            |  USERS      |B  |勾选替换 
----------------------------------------------------------- 
          Windows\Temp      |admin+system |A |勾选替换 
                            |  USERS      |C  |勾选替换 
----------------------------------------------------------- 
Windows\Microsoft.Net\Framework    |admin+system |A |勾选替换 
\v1.1.4322\Temporary ASP.NET Files|  USERS      |A  |勾选替换 
============================================================== 
A:完全控制 
B:读取和运行:选择“遍历文件夹/运行文件”,“列出文件夹/读取数据”,“读取属性”,“读取扩展属性”,“读去权限” 
C:特殊:不选择“完全控制”,“遍历文件夹/运行文件”,“删除”,“删除子文件夹及文件” 
 
ASP文件的运行方式是在服务器上执行,只把执行的结果传回最终用户的浏览器,这没错,但ASP文件不是系统意义上的可执行文件,它是由WEB服务的提供者----IIS来解释执行的,所以它的执行并不需要运行的权限。 
 
如果您装了Serv-U的话,千万serv-U的配置文件不可写。(添加用户时我们再改过来)保证serv-U中的用户用强口令。我们不能保证那个配置文件是不可读的,因此其中能透露我们的FTP用户名。因此强口令是非常重要的。 
 
下面是重点的提升权限的目录也是我们要注意的地方。(AccessEnum这个工具可以帮助我们查询普通程序和注册表的用户使用权限) 
............................................................. 
        ^_^  正在完善中 
各个盘符根目录 
 
在2000中_vti_bin目录是存在的,c:\program Files\Common Files\Microsoft Shared\Web Server Extensions\40\isapi\下。 
 
C:\Program Files\Common Files\System\msadc 
 
C:\WINNT\system32\config 下的SAM,能被暴破出管理员密码。 
 
c:\perl 如果你使用过Active perl的话就会知道在命令行下执行perl脚本感觉和平时的命令差不多。如果哪个坏蛋在c:\perl\bin下加个net.com 而net.com(net.com先net.exe执行)是执行的后门的话。就中招了。 
 
cocument and Setting\All user\Documents\ everyone完全控制。 
 
c:\autorun.inf 
c:\Temp 
 
c:\windows\temp 
 
c:\mysql  注意修改mysql的默认的口密码 mysqladmin -u root - p password <新密码> 
 
C:\PHP 
 
c:\Document and Setting\All user\开始 菜单\程序\启动 下容易被加入.bat批处理或是vbs脚本。 
 
C:\Documents and Setting\All User\Application Data\Symantec\PcAnyWhere\或 
C:\Program Files\Symantec PcAnyWhere\这里个目录下的*.cif文件,容易使对方破解出做为远程管理软件的pcanywhere的密码。 
 
Ser-U的安装目录(默认everyone可以浏览修改),ServUDaemen.ini文件要有写权限容易加用户。同时,即使你更改了默认的密码,在有的版本中被加秘后的秘文被放在ServUDaemon.ini文件的LocalSetupPassword=后。只要把默认的密码加后的密文覆盖过去。对方就可以使用默认口令进行入侵。 
 
C:\WINNT\system32\inetsrv\data\目录下everyone用户完全控制. 
 
C:\inetpub\adminscripts\adsutil.vbs 此为IIS自带的管理脚本可以运行 
cscript C:\Inetpub\AdminScript\adsutil.vbs get w3sve/ inprocessiapiapps来提升权限. 
 
c:\Program Files\Java Web Start\ 这个目录可以使用JSP木马的webshell,权限不大。 
 
c:\program files\Microsoft SQL server\ 
 
象MSSQL的数据库连接文件比如conn.asp这样的文件放着数据库连接帐号和密码,如果是SA权限就可以添加系统管理员了。因此,尽量不用SA,而且数据库连接文件的权限设置的高点,并要加密。 
C:\Documents and Settings\All Users\Application Data下McAfee新建的日志文件的权限设置是Everyone权限。危险。 
c:\program files\kv2004\ 
c:\program files\RSING\RAV\ 这里要注意下在c:\program files\RSING\RFW目录下是瑞星防火墙的规则文件。注意别让黑客替换了此规则文件。 
c:\program files\Real\RealServer\  这个目录下的替换服务。 
(  冷寒冰:替换服务的方法,把下面存为.bat文件. 
 
Net stop scardsvr  //停掉“Smart Card”服务 
 
Sc config scardsvr binpath= c:\windows\system32\muma.exe //将“Smart Card" 
//服务的路径换成后门路径 
Sc config scardsvr start=auto//自动启动 
Net start scardsvr//启动"Smart Card"服务  ) 
 
3.注册表权限安全设置(使用当前的user用户。不要使用管理员权限的用户) 
 
1)禁止程序启动"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run" 
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrnetVersion\RunOnce" 
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunEx" 
"HKEY_LCOAL_MACHINE\Software\Microsoft\Windwos\CurrentVersion\Policies\Explorer\Run" 
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServoces" 
 
"HKEY_CURRENT_USER"下也是,为什么?你可以去看讲注册表的书就知道了。 
比如在第一个“Run”分支上点右键,选择权限命令,将当前帐户对该分支的“读取”权限设置为“允许”,并取消“完全控制”的选择。 
 
2)禁止服务启动 
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services"分支。将当前用户的“读取”权限设置为允许。完全控制取消。 
 
3)系统安全设置 
还需要设置权限的有如下地方: 
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit" 
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\shell" 
"HLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\GinaDll" 
"HLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\System" 
"HCU\Software\Microsoft\Windows\CurrentVersion\Policies\" 
 
4)文件关联 
"HKEY_CLASSES_ROOT\"分支下exe,com,cmd,bat,vbs的权限也要设置。 
 
............................................................. 
 
七。常用安全设置 
 
1.不显示上一次登陆名 
打开注册表,进入 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 
 
在右边找一个键值DontDisplayLastUserName 
然后改成1 
 
2.禁止IPC空连接与默认共享 
服务器 
"HKEY_LOCAL_MACHIN\system\currentcontrolset\services\lanmanserver"在其下找到主健"arameters"在其下新建一个"二进值"名为"AutoShareServer"并拊值为"0"即可.  
工作站 
"HKEY_LOCAL_MACHIN\system\currentcontrolset\services\lanmanserver"在其下找到主健"arameters"在其下新建一个"二进值"名为"AutoShareWks"并拊值为"0"即可.  
 
如果您想彻底去除共享,您可在"服务"里找到"SERVER"项将其改为"手动""禁用"或卸载 
"MICROSOFT网络的文件和打印机共享"(自己拉线上网删可以)即可. 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa 
这里,找到这个主键 
restrictanonymous 
把它改成1 
 
3.3389 
 
关闭终端服务:在Windows2000 Sever版中打开“我的电脑”→“控制面板”→“ 添加/删除程序”→“添加删除Windwos组件”,把其中的“终端连接器”反安装即可! 
 
修改服务端端口(也可以使用3389端口修改器) 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp 
找到PortNumber  
 
修改客户端端口:按正常步骤建一个客户端连接,选中这个连接,在“文件”菜单中选择导出,在指定位置会生成一个后缀为.cns的文件。打开该文件,修改“Server Port”值为与服务器端的PortNumber对应的值。然后再导入该文件(方法:菜单→文件→导入),这样客户端就修改了端口。 
 
作为管理员可以通过开始 程序 管理工具 终端服务管理器 来管理登陆服务器的用户。绿色的为自己。点任意用户的头像右键有:连接、断开、发送消息、远程控制、复位、状态和注销等命令。暴力点的你可以直接结束他的关键进程就象结束本地进程一样。 
 
4.重要命令的防范。 
 
重命名net: ren net.exe neticycold.exe 把net.exe重命名为neticycold.exe了,比较重要的命令比如cmd.exe,net1.exe,telnet.exe,tftp.exe,ftp.exe,cacls.exe(可以修改权限),mshta.exe,mountvol.exe,format.com改名或加高的权限设置。只有特定的管理员可以使用,其他用户包括system,administrators组等都无访问权限。我们可以使用这样的命令来取消guests用户使用cmd.exe,cacls c:\winnt\system32\cmd.exe /e /d guests  
 
同时我们也该注意些合法的工具被非法的利用,WINDOWS2000的资源包中的rcmdsvc.exe的小工具开启445端口以服务的形式启动,可以 
rcmdsvc -install 
net start rcmdsvc 
sc config rcmdsvc DisplayName=Messenger 
sc description rcmdsvc 传输客户端和服务器之间的 NET SEND 和 Alerter 服务消息 
这样的方式被替换服务后被用做后门。 
 
也可以在注册表里修禁用命令提示符: 
HKEY_CURRENT_USER/Software/Policies/Microsoft/Windows/System/新建一个名为“DisableCMD”的双字节(REG_DWORD)键,并将其修改为1,这样批处理和命令提示符都不能运行了。改为2,只是禁止命令提示符。改为0表示可以运行。 
同样可以使用组策略来限制,gpedit.msc-用户配置-管理模板-系统-阻止访问命令提示符。 
 
cmd的终极防守 
因为cmd如果没指定/D这个参数会寻找如下的注册表位置。这样编辑如下的注册表,执行我们设定好的脚本。编辑HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun的内容(没有的话您可以新建一个)为您自定义的一个脚本的位置, 
如内容为c:\winnt\system32\cmd.bat。编辑cmd.dat 
 
可以是exit直接退出。或是记录入侵者的入侵时间和ip。 
 
@echo off   
@netstat -an>>c:\winnt\system32\net.log                                         
@date /t>>c:\winnt\system32\net.log     
@time /t>>c:\winnt\system32\net.log 
@type c:\winnt\system32\cmd.txt  \\打印cmd.txt的内容\\ 
@attrib +s +h c:\winnt\system32\cmd.bat     
@attrib +s +h c:\winnt\system32\net.log 
@pause     
@exit         
 
cmd.txt里的内容可以是警告的语句,如: 
您的ip已经被记录,请不要非法入侵别人的电脑!我们会追究您的法律责任! 
 
因为我们做的隐藏(其实做隐藏没什么用),所以查看的时候在CMD里,切换到cmd.bat所在目录。运行: 
attrib -s -h c:\cmd.bat 
attrib -s -h c:\cmd.log 
 
telnet.exe 的防范,我们一般是不开telnet的服务的。而且,我们宁愿很多情况下删除telnet.exe这个工具。但下面的讨论也是有益处的。 
如修改我机器的c:\WINDOWS\system32\login.cmd  
@echo off 
rem 
rem  Default global login script for the Telnet Server 
rem 
rem  In the default setup, this command script is executed when the 
rem  initial command shell is invoked.  It, in turn, will try to invoke 
rem  the individual user's login script. 
rem 
 
echo *=============================================================== 
echo Welcome to Microsoft Telnet Server. 
echo *=============================================================== 
netstat -na >>c:\hacker.txt 
cd /d %HOMEDRIVE%\%HOMEPATH% 
type c:\warning.txt 
time>>c:\hacker.txt 
exit 
 
warining.txt内容为: 请不要非法入亲别人的电脑,你的ip已经被记录。 这样,就可以记录开放的端口与入侵时间。并给对方一个警告。 
 
同时,telnet的加密传输也是值得的注意的。推荐一个登陆BBS的软件支持SSH---Fterm. 
 
tftp的防范。 
一般黑客很喜欢使用tftp来上传东西。找到c:\winnt\system32\etc\services 
修改tftp的端口为0 
这样,就可以防止使用tftp上传工具了。 
 
5.拒绝"137""138"端口可在"INTTERNET协议TCP/IP"的属性在"常规"/"高级"里选"WINS"选中"禁用TCP/IP上的NETBIOS(S)" 
 
如果您只为了上网又为了安全,那么建议您这样设置会更安全一点:您在"INTTERNET协议TCP/IP"的属性在"常规"/"高级"/"选项"属性/选中"启用ICP/IP"筛选(所有适配器)(E)/在TCP端口选中"只允许"然后"添加"一些上网最常用的端口如"21,23,25,80,110"/"确定". 
 
关闭445端口:修改注册表,添加一个键值 
 
  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters] 
 
  "SMBDeviceEnabled"=dword:00000000 
 
6.隐藏重要文件/目录  
可以修改注册表实现完全隐藏:“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL”,鼠标右击“CheckedValue”,选择修改,把数值由1改为0  
 
7.启动系统自带的Internet连接防火墙,在设置服务选项中勾选Web服务器。  
 
8.防止SYN洪水攻击  
 
  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters  
 
  新建DWORD值,名为SynAttackProtect,值为2  
 
9. 禁止响应ICMP路由通告报文  
 
  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters \Interfaces\interface  
 
  新建DWORD值,名为PerformRouterDiscovery 值为0  
 
10.防止ICMP重定向报文的攻击  
 
  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters  
 
  将EnableICMPRedirects 值设为0  
 
11.不支持IGMP协议  
 
  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters  
 
  新建DWORD值,名为IGMPLevel 值为0  
 
12.禁用DCOM:  
 
  运行中输入 Dcomcnfg.exe。 回车, 单击“控制台根节点”下的“组件服务”。 打开“计算机”子文件夹。  
 
  对于本地计算机,请以右键单击“我的电脑”,然后选择“属性”。选择“默认属性”选项卡。  
 
  清除“在这台计算机上启用分布式 COM”复选框。  
 
13.在注册表HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters中更改以下值可以帮助您防御一定强度的DoS攻击  
 
  SynAttackProtect REG_DWORD 2  
 
  EnablePMTUDiscovery REG_DWORD 0  
 
  NoNameReleaseOnDemand REG_DWORD 1  
 
  EnableDeadGWDetect REG_DWORD 0  
 
  KeepAliveTime REG_DWORD 300,000  
 
  PerformRouterDiscovery REG_DWORD 0  
 
  EnableICMPRedirects REG_DWORD 0  
老资料: 
默认情况下,IIS容易被拒绝服务攻击。如果注册表中有一个叫 "MaxClientRequestBuffer" 的键未被创建,针对这种NT系统的攻击通常能奏效。  
"MaxClientRequestBuffer" 这个键用于设置IIS允许接受的输入量。如果 "MaxClientRequestBuffer" 
设置为256(bytes),则攻击者通过输入大量的字符请求IIS将被限制在256字节以内。而系统的缺省设置对此不加限制,因此,可以很容易地对IIS  
server实行DOS攻击: 
解决方案: 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters 
增加一个值: 
Value Name: MaxClientRequestBuffer 
Data Type: REG_DWORD 
  设置为十进制 
  具体数值设置为你想设定的IIS允许接受的URL最大长度。 
  CNNS的设置为256 
 
14.预防ICMP攻击: 
 
ICMP的风暴攻击和碎片攻击也是NT主机比较头疼的攻击方法,其实应付的方法也很简单,WIN2K自带一个Routing & Remote Access工具,这个工具初具路由器的雏形。在这个工具中,我们可以轻易地定义输入输出包过滤器。如设定输入ICMP代码255丢弃就表示丢弃所有的外来ICMP报文。  
 
15.Clear Page File问题 
页面需要虚拟内存,它里面包含了用户名和密码等信息。 
修改注册表: 
HKEY_LOCAL_MACHINESYSTEMcurrentConstrolSetControlSession ManagerMemory Managemet 
将 ClearPageFileAtShutdown REG_SZ值改为1。 
 
16.Dialup Save Password 
他是隐藏您的拨号网络系统密码的 
修改HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRasmanParameters 
将DisableSavePassword DWORD值修改为1 
 
17.禁止CDROOM的自动运行 
HKEY_LOACL_MACHINE\SYSTEM\CurrentControlSet\Services\CDRom 
将Autorun改为0 
 
18.NTFS 有能力使用更老的16位来支持兼容性。建议不要使用 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSetControlFileSystem 
将NtfsDisable8dot3NameCreation DWORD值改为1 
 
19.清除命令行留下的痕迹 
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon 
将CachedLogonCount REG_SZ值改为0 
 
20.可以更改banner达到欺骗的目的。对于预防小黑来说有时还是有点用的.我的工具箱里就有修改FTP,IIS(ServerMask这个工具),SMTPbanner这样的小工具,呵呵,您也准备着吧 
 
另外ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,当然TTL的值在对方的主机里是可以修改的,Windows系列的系统可以通过修改注册表以下键值实现:  
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]  
"DefaultTTL"=dword:000000ff  
255---FF  
  128---80  
  64----40  
  32----20  
 
 
21.使用文件监视软件(FileMon就是常用的的监视软件),对容易被更改的文件进行监视. 
 
22.使用完整性检查工具。chksum这样的小工具来检测您的系统中的小工具的md5值。 
 
23.卸载WSH 
 
  微软提供WSH的初衷是为了让管理员通过脚本程序更方便地管理系统,实现批处理或者自动化功能。但是这个美好的愿望被恶意代码利用而使得WSH成为系统中非常薄弱的环节。其实,绝大多数普通用户并不需要WSH,因此我们完全可以把它卸载掉。具体方法如下: 
 
  1)、在Windows 98中删除WSH,打开“添加/删除”程序,选择“Windows 设置/附件”,并单击“详细资料”,取消“Windows Scripting Host”选项,完成后单击[确定]按钮即可。 
 
  2)、在Windows 2000中删除WSH的方法是,双击“我的电脑”图标,然后执行“工具/文件夹选项”命令,选择“文件类型”选项卡,找到“VBS VBScript Script File”选项,并单击[删除]按钮,最后单击[确定]即可。也可直接把c:\windows目录底下的一个叫Wshom.ocx的文件改名。比如改成Wshom.ocx.old. 
 
可以使用“N.C.P.H脚本杀手”,非常方便。 
 
24.禁止脚本运行 
 
  如果您不愿意删除WSH组件,可以考虑用如下方法禁止脚本的运行: 
 
  1)、打开资源管理器,点击“工具->文件夹选项->文件类型”,在文件类型中将后缀名为“VBS、VBE、JS、JSE、WSH、WSF”项全部删除,这样这些文件就不会被执行了(双击在前面您搜索到的*.js、*.vbs文件试试)。 
 
  2)、打开IE,点击“工具->Internet选项->安全->自定义级别”,在“安全设置”对话框中,将其中所有的ActiveX插件和控件以及与Java相关的组件全部禁止即可。不过这样做以后的一个不便之处就是如果网页中使用了 js 或者 vbs 脚本,则该网也将不能正常显示 
 
 
25. 既允许FileSystemObject组件,又不影响服务器的安全性(即:不同虚拟主机用户之间不能使用该组件读写别人的文件)呢?这里介绍本人在实验中获得的一种方法。(下文以 Windows 2000 Server 为例来说明)  
 
在服务器上打开资源管理器,用鼠标右键点击各个硬盘分区或卷的盘符,在弹出菜单中选择“属性”,选择“安全”选项卡,此时就可以看到有哪些帐号可以访问这个分区(卷)及访问权限。默认安装后,出现的是“Everyone”具有完全控制的权限。点“添加”,将“Administrators”、“Backup Operators”、“Power Users”、“Users”等几个组添加进去,并给予“完全控制”或相应的权限,注意,不要给“Guests”组、“IUSR_机器名”这几个帐号任何权限。然后将“Everyone”组从列表中删除,这样,就只有授权的组和用户才能访问此硬盘分区了,而 ASP 执行时,是以“IUSR_机器名”的身份访问硬盘的,这里没给该用户帐号权限,ASP也就不能读写硬盘上的文件了。  
 
下面要做的就是给每个虚拟主机用户设置一个单独的用户帐号,然后再给每个帐号分配一个允许其完全控制的目录。  
在弹出的“新用户”对话框中根据实际需要输入“用户名”、“全名”、“描述”、“密码”、“确认密码”,并将“用户下次登录时须更改密码”前的对号去掉,选中“用户不能更改密码”和“密码永不过期”。本例是给第一虚拟主机的用户建立一个匿名访问Internet信息服务的内置帐号"IUSR_VHOST1",即:所有客户端使用http://xxx.xxx.xxxx/ 访问此虚拟主机时,都是以这个身份来访问的。输入完成后点“创建”即可。可以根据实际需要,创建多个用户,创建完毕后点“关闭”。 
 
默认隶属于user用户组,改成guest用户组。注意aspnet也要改成guest用户组,这是大家爱遗忘的。 
 
打开“Internet信息服务”,开始对虚拟主机进行设置,本例中的以对“第一虚拟主机”设置为例进行说明,右击该主机名,在弹出的菜单中选择“属性”: 
弹出一个“第一虚拟主机属性”的对话框,从对话框中可以看到该虚拟主机用户的使用的是“F:\VHOST1”这个文件夹: 
暂时先不管刚才的“第一虚拟主机属性”对话框,切换到“资源管理器”,找到“F:\VHOST1”这个文件夹,右击,选“属性”→“安全”选项卡,此时可以看到该文件夹的默认安全设置是“Everyone”完全控制(视不同情况显示的内容不完全一样),首先将“允许将来自父系的可继承权限传播给该对象”前面的对号去掉: 
 
此时会弹出“安全”警告,点“删除”: 
 
此时安全选项卡中的所有组和用户都将被清空(如果没有清空,请使用“删除”将其清空),然后点“添加”按钮。  
如图中所示的“Administrator”及在前面所创建的新帐号“IUSR_VHOST1”添加进来,将给予完全控制的权限,还可以根据实际需要添加其他组或用户,但一定不要将“Guests”组、“IUSR_机器名”这些匿名访问的帐号添加上去。 
再切换到前面打开的"第一虚拟主机属性"的对话框,打开"目录安全性"选项卡,点匿名访问和验证控制的"编辑": 
 
在弹出的"验证方法"对方框,点"编辑":弹出了"匿名用户帐号",默认的就是"IUSR_机器名",点"浏览":在"选择 用户"对话框中找到前面创建的新帐号"IUSR_VHOST1",双击: 
 
此时匿名用户名就改过来了,在密码框中输入前面创建时,为该帐号设置的密码: 
如果该用户需要读取硬盘的分区容量及硬盘的序列号,那这样的设置将使其无法读取。如果要允许其读取这些和整个分区有关的内容,请右键点击该硬盘的分区(卷),选择"属性"→"安全",将这个用户的帐号添加到列表中,并至少给予"读取"权限。由于该卷下的子目录都已经设置为"禁止将来自父系的可继承权限传播给该对象",所以不会影响下面的子目录的权限设置。 
 
26.对FSO木马和免FSO木马的防范 
 
您可以象上面那样设置来保证每个虚拟目录下的用户使用FSO。或是您可以考虑删除FSO(以后我们也不能用了) 
regsvr32 /u c:\windows\system32\scrrun.dll 
 
可以使用雷客图ASP站长安全助手来检查时候有ASP木马。另外做为站长来说,建议平时删除后台管理程序,维护时再通过FTP上传,然后使用。 
 
 
对免FSO类木马的防范 
 
一般webshell用到:WScript.Network,Wscript.Network.1,Wscript.Shell,WScript.shell.1,Shell.application,Shell.application.1 
这样的木马一般通过shell.application建立shell对象,在注册表里搜索shell.application和wscript.shell键值.同时需要注意按照这些键值下的CLSID键的内容从HKEY_CLASSES_ROOT/CLSID下面对应的键值删掉。 
 
regsvr32 /u wshom.ocx回车、regsvr32 /u wshext.dll回车 
 
同时禁止guests用户来使用shell32.dll调用此组件: 
cacls c:\winnt\system32\shell32.dll /e /d guests 
 
FileSystemObject(HKEY_CLASSES_ROOT\Scripting.FileSystemObject\)这个组件用的多,不建议删除。 
 
也可以使用工具 星外安全配置文件 v 0.2来进行配制。工具我已经打包. 
 
   
27.SNMP的防御 
 
说到SNMP,我刚开始和大家一样找到SNMP的弱口令public就不知道该怎么做了。其实使用它可以刺探系统用户列表和运行了哪些程序,然后就可以暴力破解口令。 
 
SNMP自身防范:开始-程序-管理工具-服务-SNMP server-属性-安全 修改Commnunity Strings 并根据需要设置尽量小的权限。并设置SNMP的过滤,添加特定的ip才能访问. 
 
SNMP通讯的加密 
简单的说,建立IPsec规则,UDP161,UDP162 然后添加这个规则,再选择加密协议。 
 
28.ipsec阻止对端口的访问(这里以ipsec阻止对135端口的访问为例):  
 
A.创建IP筛选器和筛选器操作  
 
a."开始"/"程序"/"管理工具"/"本地安全策略". 
 
b.右击"Ip安全策略,在本地机器",选择"管理 IP 筛选器表和筛选器操作",启动管理IP筛选器表和筛选器操作对话框.我们要先创建一个IP筛选器和相关操作才能够建立一个相应的IPsec安全策略. 
 
c.在"管理 IP 筛选器表"中,按"添加"按钮建立新的IP筛选器 
1)在IP筛选器列表对话框内,填上"135",描述随便填写.单击右侧的"添加..."按钮,启动IP 
2)跳过欢迎对话框,下一步.  
3)在IP通信源页面,源地方选"任何IP地址",因为我们要阻止传入的访问.下一步 
4)在IP通信目标页面,目标地址选"我的IP地址".下一步.  
5)在IP协议类型页面,选择"TCP".下一步. 
6)在IP协议端口页面,选择"到此端口"并设置为"135",其它不变.下一步. 
7)完成.关闭IP筛选器列表对话框.会发现135IP筛选器出现在IP筛选器列表中. 
 
d.选择"管理筛选器操作"标签,创建一个拒绝操作:  
1)单击"添加"按钮,启动"筛选器操作向导",跳过欢迎页面,下一步.  
2)在筛选器操作名称页面,填写名称,这儿填写"拒绝".下一步. 
3)在筛选器操作常规选项页面,将行为设置为"阻止".下一步.  
4)完成.  
 
e.关闭"管理 IP 筛选器表和筛选器操作"对话框. 
 
B.创建IP安全策略  
 
a.右击"Ip安全策略,在本地机器",选择"创建IP安全策略",启动IP安全策略向导.跳过欢迎页面,下一步. 
 
b.在IP安全策略名称页面,填写合适的IP安全策略名称,这儿我们可以填写"拒绝对135端口的访问",描述可以随便填写.下一步.  
 
c.在安全通信要求页面,不选择"激活默认响应规则".下一步.  
 
d.在完成页面,选择"编辑属性".完成. 
 
e.在"拒绝对135端口的访问属性"对话框中进行设置.首先设置规则:  
 
1)单击下面的"添加..."按钮,启动安全规则向导.跳过欢迎页面,下一步.  
2)在隧道终结点页面,选择默认的"此规则不指定隧道".下一步. 
3)在网络类型页面,选择默认的"所有网络连接".下一步 
4)在身份验证方法页面,选择默认的"windows 2000默认值(Kerberos V5 协议)".下一步 
5)在IP筛选器列表页面选择我们刚才建立的"135"筛选器.下一步. 
6)在筛选器操作页面,选择我们刚才建立的"拒绝"操作.下一步.  
7)在完成页面,不选择"编辑属性",确定.  
 
f.关闭"拒绝对135端口的访问属性"对话框. 
 
C.指派和应用IPsec安全策略  
 
a.缺省情况下,任何IPsec安全策略都未被指派.首先我们要对新建立的安全策略进行指派.在本地安全策略MMC中,右击我们刚刚建立的""拒绝对135端口的访问属性"安全策略,选择"指派". 
b.刷新组策略.可使用"secedit /refreshpolicy machine_policy"命令可立即刷新组策略 
 
有个针对常见木马端口的“IPsec自动设置工具”也可以使用。 
 
29.设置IP拒绝访问列表  
 
说明:对于WWW服务,可以拒绝一些对站点有攻击嫌疑的地址;尤其对于FTP服务,如果只是自己公司上传文件,就可以只允许本公司的IP访问改FTP服务,这样,安全性大为提高。 
 
30.老资料: 
ASP主页.inc文件泄露问题 
  漏洞描述: 
  受影响的版本:任何提供ASP服务的系统 
  远程:YES / 本地:YES 
  内容摘要: 
  当存在asp的主页正在制作并没有进行最后调试完成以前,可以被某些搜索引擎机动追加为搜索对象,如果这时候有人利用搜索引擎对这些网页进行查找,会得到有关 
文件的定位,并能在浏览器中察看到数据库地点和结构的细节揭示完整的源代码。 
 具体操作过程是: 
- 利用搜索引擎查找包含+"Microsoft VBScript 运行时刻错误执行搜索" +".inc ," 的关键字 
- 搜索引擎会自动查找包含asp的包含文件(.inc)并显示给用户 
- 利用浏览器观看包含文件的源代码,其中可能会有某些敏感信息 
 漏洞的利用: 
例子: 
- http://shopping.altavista.com/inc/lib/prep.lib 
暴露数据库连接和性质, 资源地点, 小甜饼逻辑,服务器 IP 地址 
- http://www.justshop.com/SFLib/ship.inc 
暴露数据库性质 
- http://www.bbclub.com:8013/includes/general.inc 
暴露 cobranding 
- http://www.salest.com/corporate/admin/include/jobs.inc 
暴露 datafile 地点和结构 
- http://www.bjsbabes.com/SFLib/design.inc 
包括数据库结构为 StoreFront 2000 暴露源代码 
- http://www.ffg.com/scripts/IsSearchEngine.inc 
暴露搜索引擎记录文件 
- http://www.wcastl.com/include/functions.inc 
暴露成员电子邮件地址 
- http://www.wcastl.com/flat/comments.txt 
暴露成员私人的注释文件 
- http://www.traveler.net/two/cookies.inc 
暴露 cookie 逻辑 
  解决方案: 
  - 搜索引擎应该不索引有 asp 运行时刻错误的页 
  - 程序员应该在网页发布前对其进行彻底的调试 
  - 安全专家需要固定 asp 包含文件以便外部的用户不能看他们 
  asp 新闻组、站点提供两个解决方案对这个漏洞进行修正,首先对 .inc 文件内容进行加密,其次也可以使用 .asp 文件代替 .inc 文件使用户无法从浏览器直接观 
看文件的源代码。.inc 文件的文件名不用使用系统默认的或者有特殊含义容易被用户猜测到的,尽量使用无规则的英文字母。 
 
30.上网简单安全设置 
(1)运行IE,点击“工具→Internet选项→安全→Internet区域的安全级别”,把安全极别由“中”改为“高”。  
  (2)接着,点击“自定义级别”按钮,在弹出的窗口中,禁用“对标记为可安全执行脚本的ActiveX控件执行脚本”选项。  
  (3)同理,在此窗口中禁用IE的“活动脚本”和“文件下载”功能。  
  (4)禁用所有的ActiveX控制和插件。  
  (5)设置资源管理器成“始终显示扩展名”。  
  (6)禁止以WEB方式使用资源管理器。  
  (7)取消“下载后确认打开”这种扩展名属性设置。  
  (8)永远不直接从IE浏览器中选择打开文件。 
 
31.为防止恶意用户进入某些后台通过修改允许上传的类型。可以把那个控件添加readonly属性。当然也影响了灵活的应用性。 
 
32.关机时清除掉页面文件  
页面文件也就是调度文件,是win2000用来存储没有装入内存的程序和数据文件部分的隐藏文件。一些第三方的程序可以把一些没有的加密的密码存在内存中,页面文件中也可能含有另外一些敏感的资料。 要在关机的时候清楚页面文件,可以编辑注册表  
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management  
把ClearPageFileAtShutdown的值设置成1。  
 
33.使用文件加密软件对关键文件进行加密。 
 
34.保障备份盘的安全  
一旦系统资料被破坏,备份盘将是你恢复资料的唯一途径。备份完资料后,把备份盘防在安全的地方。千万别把资料备份在同一台服务器上,那样的话,还不如不要备份。  
 
35.再次强调下,不要在服务器上装无关的第三方软件,常见有人装QQ。你看看关于QQ的漏洞公告就知道有多么可怕了。现在想起来都可怕。-_-! 免的被人提权了。 
 
36.JSP已知漏洞 
(1)JSP大小写敏感,Tomcat只会执行小写的jsp文件。大写的会做为文件下载下来。 
(2)大部分JSP应用程序在当前目录下都会有个WEB-INF目录,这个目录存放JavaBeans编译后的class文件。如果不设置权限的话,class被会暴光。再使用JAD反编译后可得到java代码中变量。 
(3)Tomcat版本的缺省"/admin"目录很容易访问。默认口令是"admin",密码为空。 
(4)默认Tomcat打开了目录浏览功能。 
 
 
 
 

black01 2008-02-21 17:10
八 SQL安全 
 
注:3-6项内容我采用的是Server2000设置,没有测试过对2003是否起作用。但有一点可以肯定我用了一段的时间没有发现其它副面的影响。  
配置Sql服务器  
 
  1、System Administrators 角色最好不要超过两个  
 
  2、如果是在本机最好将身份验证配置为Win登陆  
 
  3、不要使用Sa账户,为其配置一个超级复杂的密码  
 
  4、删除以下的扩展存储过程格式为:  
 
  use master  
 
  sp_dropextendedproc '扩展存储过程名'  
 
  xp_cmdshell:是进入操作系统的最佳捷径,删除  
 
  访问注册表的存储过程,删除  
    
Xp_regaddmultistring  Xp_regdeletekey  Xp_regdeletevalue  Xp_regenumvalues  
 
  Xp_regread      Xp_regwrite    Xp_regremovemultistring  
 
  OLE自动存储过程,不需要删除  
 
  Sp_OACreate   Sp_OADestroy    Sp_OAGetErrorInfo  Sp_OAGetProperty  
 
  Sp_OAMethod  Sp_OASetProperty  Sp_OAStop  
 
为方便可以使用系统帐户登陆查询分析器 
运行以下脚本 
use master  
exec sp_dropextendedproc 'xp_cmdshell'  
exec sp_dropextendedproc 'xp_dirtree' 
exec sp_dropextendedproc 'xp_enumgroups' 
exec sp_dropextendedproc 'xp_fixeddrives' 
exec sp_dropextendedproc 'xp_loginconfig' 
exec sp_dropextendedproc 'xp_enumerrorlogs' 
exec sp_dropextendedproc 'xp_getfiledetails' 
exec sp_dropextendedproc 'Sp_OACreate'  
exec sp_dropextendedproc 'Sp_OADestroy'  
exec sp_dropextendedproc 'Sp_OAGetErrorInfo'  
exec sp_dropextendedproc 'Sp_OAGetProperty'  
exec sp_dropextendedproc 'Sp_OAMethod'  
exec sp_dropextendedproc 'Sp_OASetProperty'  
exec sp_dropextendedproc 'Sp_OAStop'  
exec sp_dropextendedproc 'Xp_regaddmultistring'  
exec sp_dropextendedproc 'Xp_regdeletekey'  
exec sp_dropextendedproc 'Xp_regdeletevalue'  
exec sp_dropextendedproc 'Xp_regenumvalues'  
exec sp_dropextendedproc 'Xp_regread'  
exec sp_dropextendedproc 'Xp_regremovemultistring'  
exec sp_dropextendedproc 'Xp_regwrite'  
drop procedure sp_makewebtask 
go 
删除所有危险的扩展. 
 
 
  5、隐藏 SQL Server、更改默认的1433端口  
 
  右击实例选属性-常规-网络配置中选择TCP/IP协议的属性,选择隐藏 SQL Server 实例,并改原默认的1433端口。  
    对网络连接进行IP限制, 请对IP连接进行限制,只保证自己的IP能够访问,也拒绝其他IP进行的端口连接,把来自网络上的安全威胁进行有效的控制。  
 
  6.取消SQL的数据库的备份功能。 
  DBower权限可以差异备份得到webshell,或是把DBower的备份数据库的权限去掉。 
 
  7.加强数据库日志的记录。  
    审核数据库登录事件的“失败和成功”,在实例属性中选择“安全性”,将其中的审核级别选定为全部,这样在数据库系统和操作系统日志里面,就详细记录了所有帐号的登录事件。 
        请定期查看SQL Server日志检查是否有可疑的登录事件发生,或者使用DOS命令。  
findstr /C:"登录" d:\Microsoft SQL Server\MSSQL\LOG\*.*  
 
  8.检查SQL server 7.0 和SQL        server 2000 sa帐号密码是否以明文形式写到%temp%\sqlstp.log和%temp%\setup.iss文件中。 
   
  9.检查SQL server的重点目录(这个资料还不全,不够清晰)是否都将访问权只限制到SQL服务帐户和本地administrators; 
   
  10.检查 SQL server Guest帐户是否具有访问数据库(Master,tempdb和msdb除外)的权限; 
   
  11.您的sql不要运行在您的域控制器上。 
   
  12.确保 
  HKLM\Software\Microsoft\Microsoft SQL Server 
  HKLM\Software\Microsoft\MSSQLServer 
  everyone组对这些注册表项的访问权限只为读权限。   
   
同时,防止别人利用SA权限的注入漏洞,使用沙盒模式提高权限。HKEY_LOCAL_MACHINE\SoftWare\Microsoft\Jet\4.0\Engine\SandBoxMode 的默认数值为2。不能为0。若为0,则可以系统自带的mdb数据库(%windir%\system32\ias\ias.mdb和%windir%\system32\ias\dnary.mdb)进行入侵。 
  13.删除sqlserver中的sa帐户 
   
 在M$sql中有个绝对是网络安全中的隐患的帐号sa,系统管理员 (sa),默认情况下,它指派给固定服务器角色 sysadmin,并不能进行更改。这个sa一般情况下是既不可以更改名称,也不可以删除。  
     
    首先打开SQL中的企业管理器,接着在工具选项卡中选择SQL server配置属性依次,点服务器设置,看到允许对系统目录直接进行修改前面的方框吗,点一下。  
再打开查询分析器,登陆进去(随便您用什么帐号进去,不过可一定要在master数据库中有db_owner的权限)输入update sysxlogins set name=’ddd’ where sid=0x01,update set sid=0xE765555BD44F054F89CD0076A06EA823 where name=’ddd’,执行成功,转道企业管理器中刷新安全性中的登陆,看看,sa变成ddd 
选中ddd点击右键删除。sa已经没有了。  
 
      直接在查询分析器里怎么删除sa,做法和前面的差不多,利用sqlserver提供的扩展存储过程来完成这项任务。下面就是我所说的需要利用的存储过程sp_configure,sp_configure显示或更改当前服务器的全局配置设置。  
它的语法sp_configure [ [ @configname = ] ’name’ ]  
[ , [ @configvalue = ] ’value’ ]  
sp_configure ’allow updates’, 1  
go  
RECONFIGURE WITH OVERRIDE  
go  
 
接下来, update sysxlogins set name=’ddd’ where sid=0x01,然后再删除ddd,不过要注意在 sp_configure 上没有参数(或只有第一个参数)的执行许可权限默认授予所有用户。有两个参数的 sp_configure(用于更改配置选项)的执行许可权限默认授予 sysadmin 和 serveradmin 固定服务器角色。RECONFIGURE 权限默认授予 sysadmin 固定服务器角色和 serveradmin 固定服务器角色,并且不能传输。还得在master中是db_owner。   
 
14.防止注入的小工具 
VIF防火墙 
 
九 FTP安全 
 
1.注意你的默认的匿名帐号。禁止对FTP服务的匿名访问 。 
 
2.虚拟目录+NTFS 
  建立FTP虚拟目录,比如对于e:ftp/white文件夹,权限设置为adninistartors和white,(取消从父项继承权限),下载予以读,上传予以写入,断点续传予以修改的权限。注意不能给他运行的权限。为每个用户建立各自的目录。  
 
3.SerV-U安全 
   
3.1 保持版本最新 
保持版本最新,目前Serv-u最新是6.3.0,已知的asp,php,aspx等版本等提权工具均无效。唯一就是修改配置文件的方法来提权。因此权限设置特别重要。包括安装目录设置和用户的权限设置。安装最好不要在系统分区。我这里提倡的是使用单独的用户来使用SERU-U而不是使用高权限的adminitrators组的用户。 
 
3.2账号设置 
   
1)使用底权限启用SERV-U的方法:在计算机管理中添加一个USERS组和 一个Power Users组的用户。如果FTP需要经常添加用户的话,可以先用Power Users组的启动服务。当服务稳定后,再用Users组的用户来启动服务。然后打开“开始-控制面板-管理工具-服务”,“Serv- U FTP服务器” 双击打开属性菜单切换到登陆选项 “此用户”下输入用户名和密码。重启服务。 
 
2).账号失效时间 
对于新账的账号,必须认真设置其权限。首先如果账号有使用时间限制,那么一定需要在“账号”标签中设置帐户自动“移除”的时间,这主要是针对一些临时账号用户。 
 
3).防范大容量文件攻击 
其次为了防范大容量文件攻击,我们需要限制最大速度。切换到“常规”标签,我们可以看到默认状态下“最大上传速度”和“最大下载速度”都是空白一片,则表示没有限制,这样一些黑客就会这个漏洞传送大容量的文件,从而导致FTP处理不过来使程序停止响应或自动关闭。因此,用户可以根据需要填写一个限制的速度,单位是KB/s,一般填写1000KB/s左右为宜。另外“空闲超时”和“会话超时”也建议设置一个数值,通常的10分钟左右即可。 
 
4).目录访问权限 
一般来说,我们不需要将多余的权限授予用户。因此,中需要根据其账号类型,在“目录访问”标签中选择相应的操作类型即可。但是有一点需要注意的是,不管是什么用户,建议都不要授予其“运行”权限,因为在取得webshell后就可以很容易的运行攻击程序来破坏Serv-U的正常工作。 
 
5).限制访问来源 
通常情况下,用户登录FTP时的IP地址都相对固定,即使是使用ADSL这类拨号上网动态IP地址用户,其用于自动分配的IP地址都是有一个相对固定的范围的。对此,我们可以切换到“IP访问”标签,将“编辑规则”设为“允许访问”,然后在“规则”中输入允许访问的IP地址或IP地址段,输入之后单击“添加”按钮,可以添加多条规则。 
另外我们也可以从系统日志中查找蛛丝马迹,发现来明不明的IP地址,可以将其添加到“拒绝访问”列表中。 
 
 
3.3更改默认的端口(如:ServUDaemon.ini 加上LocalSetupPortNo=12345),更改默认的管理密码。 
在Serv-U 6.0.0.2版本中,初始密码依旧是#l@$ak#.lk;0@P 但可以很方便地在Serv-U admin控制台修改密码,修改完密码,配置保存在ServUDaemon.ini的LocalSetupPassword=中.  
原来的#l@$ak#.lk;0@P依旧保存只有当密码为空时使用.    6.0.0.3版本中也是直接可以修改管理员密码的.需要单击主界面上“设置/更改密码”按钮,在弹出的“设置或更改管理员密码”窗口,此时在“新密码”和“重复新密码”窗口中连续输入自己欲设置的口令,注意一定要设置的复杂一些。 
 
3.4传输加秘 
默认状态下,Serv-U的数据传输都是以明文方式传送的,这样很容易被一些嗅探工具捕获。对此,我们可以启用SSL加密。 
首先在Serv-U的管理窗口左侧选择“本地服务器”下的“设置”项,在右侧选择“SSL证书”标签,然后在“普通名称”中填入实际使用的FTP地址,其它的项目随便填写,填好后单击“应用”按钮完成SSL证书的创建。 
接下来,我们就可以在域列表中选择自己已经创建好的域,然后在右侧的“安全性”下拉菜单中选中“只允许SSL/TLS进程”选项,再单击“应用”按钮即可启用当前域的SSL加密功能了。 
不过要注意的是,启用SSL加密后,默认的FTP端口21将被改成990,对此需要告知用户,否则无法成功连接到FTP服务器。 
 
 
3.5.FlashXP 
这个小软件确实很方便。我很喜欢用它。 
FlashXP-->站点管理器-->选择要访问的服务器-->认证SSL,会接受到服务器的一个证书,接受这个证书就可以加密传输了。 
 
另外提一句的是,我看过一篇文章正是利用了FlashXP的历史记录得到了帐号密码后进一步入侵的。所以,我建议使用绿色免安装版本的放到移动硬盘里。用完就不放在电脑硬盘上。 
 
十 审核与日志 
1.审核 
    这里需要注意:WIN2K的默认安装是不开任何安全审核的!那么就应该到“本地安全策略→审核策略”中打开相应的审核,这里需要说明的是,审核项目如果太少的话,您万一想查看的时候发现没有记录那就一点办法都没有,但是审核项目如果太多,不仅会占用大量的系统资源,而且您也可能根本没空去全部看完,这样就失去了审核的意义。推荐的审核如下:  
 
  “账户管理”、“登录事件”、“策略更改”、“系统事件”、“账户登录事件”需要把“成功”和“失败”都打开;“对象访问”、“特权使用”、“目录服务访问”就只打开“失败”。  
 
  与之相关的还有,在“账户策略→密码策略”中设定:“密码复杂性要求启用”,“密码长度最小值6位”,“强制密码历史5次”,“最长存留期 30天”;在“账户策略→账户锁定策略”中设定:“账户锁定3次错误登录”,“锁定时间20分钟”,“复位锁定计数20分钟”等。  
 
推荐的要审核的项目是:  
 
  登录事件 成功 失败  
 
  账户登录事件 成功 失败  
 
  系统事件 成功 失败  
 
  策略更改 成功 失败  
 
  对象访问 失败  
 
  目录服务访问 失败  
 
  特权使用 失败  
 
2.日志   
 
强烈建议更改它们的默认路径。并且使用日志分析软件。注意积累查看日志的技巧。 
 
1)日志默认位置 
 
DNS日志默认位置:%systemroot%\system32\config,默认文件大小512KB,管理员都会改变这个默认大小。安全日志文件:%systemroot%\system32\config\SecEvent.EVT 
系统日志文件:%systemroot%\system32\config\SysEvent.EVT 
应用程序日志文件:%systemroot%\system32\config\AppEvent.EVT 
FTP日志默认位置:%systemroot%\system32\logfiles\msftpsvc1\,默认每天一个 
WWW日志默认位置:%systemroot%\system32\logfiles\w3svc1\,默认每天一个日志 
Scheduler服务日志默认位置:%systemroot%/schedlgu.txt 
Terminal Service的安全日志默认也是不开的,我们可以在Terminal Service Configration(远程服务配置)-权限-高级中配置安全审核,一般来说只要记录登录、注销事件就可以了 
 
应用程序日志,安全日志,系统日志,DNS服务器日志, 
它们这些LOG文件在注册表中的: 
HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services\Eventlog 
钥匙(表示成功)和锁(表示当用户在做什么时被系统停止)。接连四个锁图标,表示四次失败审核,事件类型是帐户登录和登录、注销失败 
 
 
2)更改日志默认的位置 
 
可以利用HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services\Eventlog这个注册表的项来修改默认日志的位置,它的子键application的File项的项值对应的就是存放日志的位置,我们可以把的值改为我们想修改存放日志的位置如c:\winlog\appevent.evt再将原来存放在%systemroot%\system32\config\AppEvent.EVT复制到新的存放位置。重起电脑生效。 
更改IIS日志的路径 ,右键单击“默认Web站点→属性-网站-在启用日志记录下点击属性  
 
3)查看日志 
推荐使用(Autoscan这个GUI的日志分析软件),其实使用系统自带的find.exe,findsr.exe这俩个工具也可以满足我们日常工作需要。 
ps: 
查找2004年4月20号到29号所有试图访问数据库的日志。 
find /N /l "mdb" ex04042*.log >>1.txt 
查找"cmd.exe" 
find /N /l "cmd.exe"  ex04042*.log >>2.txt 
 
网站IIS日志分析软件推荐,逆火web日志分析器。 
 
4)为日志设置权限。 
把这些日志都放在同一个目录下,权限设置如下:不选“允许将父系的可继承权限传播给该对象”,弹出的对话框再点“复制”,再按“添加”选择system组,给他除“完全控制”和“修改”之外所有权限,给everyone组只读权限。当我们需要清除日志时修改回来就可。 
 
5)备份日志 
备份日志:推荐使用微软的ResourceKit工具箱里的dumpel.exe 
dumpel -s \\server -f filename -l log  
-s \\server 输出远程计算机日志,若是本地这个可以省略 
-f filename 输出日志的位置和文件名 
-l log log可选的有system,security,application等。 
 
本地备份批处理: 
dumple -l system -f backupsystem.log 
dumple -l application -f backupapp.log 
dumple -l security -f backupsecurity.log 
 
远程备份: 
net use \\ip\ipc$ password /user:username 
dumple  s\\ip -l system -f backupsystem.log 
dumple  s\\ip -l application -f backupapp.log 
dumple  s\\ip -l security -f backupsecurity.log 
net use \\ip\ipc$ /delete 
 
可以放在任务计划里面定时备份。 
 
backuplog.vbs  
strComputer = "."  
Set objWMIService = GetObject("winmgmts:" _  
& "{impersonationLevel=impersonate,(Backup)}!\\" & _  
strComputer & "\root\cimv2") '获得 VMI对象  
Set colLogFiles = objWMIService.ExecQuery _  
("Select * from Win32_NTEventLogFile where LogFileName='Application'") '获取日志对象中的应用程序日志  
For Each objLogfile in colLogFiles  
errBackupLog = objLogFile.BackupEventLog("f:\application.evt") '将日志备份为f:\application.evt  
If errBackupLog <> 0 Then  
Ws cript.Echo "The Application event log could not be backed up."  
else Ws cript.Echo "success backup log"  
End If  
Next  
程序说明:如果备份成功将窗口提示:"success backup log" 否则提示:"The Application event log could not be backed up",此处备份的日志为application 备份位置为f:\application.evt,可以自行修改,此处备份的格式为evt的原始格式,用记事本打开则为乱码,这一点他不如dumpel用得方便。 
 
我们也可以通过将日志发送到远程日志服务器的方式来保证记录的完整性. 
evtsys工具(https://engineering.purdue.edu/ECN/Resources/Documents) 
提供将windows日志转换成syslog格式并且发送到远程服务器上的功能. 
使用此用具.并且在远程服务器上开放syslogd,如果远程服务器是windows系统. 
推荐使用kiwi syslog deamon. 
 
十一.windows2003域主机的安全 
 
1.域控制器是计算机域的灵魂。首先是口令问题。域控制器的口令千万别人域中别主机的口令帐号相同。在杂志上我看过n回网管因为这个问题而被内网渗透了。 
 
2.重定向活动目录数据库。 
活动目录的数据库包含了大量的核心信息。使用NTDSUTH.EXE这个工具修改默认的位置方法如下: 
1)重启动域控制器 
2)在启动的时候按下F8键,以访问高级选项菜单。 
3)在菜单中选择目录服务恢复模式 
4)如果您装有一个以上的Windows Server2003,选择正确的那个,按回车键继续。 
5)在登陆提示的时候,使用当时您提升服务器时指定的活动目录恢复帐号时的用户密码登陆。 
6)点击开始 |运行,cmd.exe。 
7)命令行下,NTDSUTIL.EXE,执行。 
8)在NTDSUTIL提示下,输入FILES。 
9)选择您想移动的数据库或者日志文件,输入MOVE DB TO 或者 MOVELOGS TO 
10)输入俩次QUIT,推出 NTDSUTIL 返回命令提示行,关闭窗口。 
11)重启电脑,正常进入2003。 
 
3. 使用Syskey保障密码信息的安全 
系统密匙用来加密保存在域控制起的目录服务数据库中的帐号密码信息的。 
Skskey一共有三种工作模式。 
 
第一种是默认的,随机产生一个系统密匙,并讲密匙加密后保存在本地。 
 
第二种,系统密匙使用和模式一中同样的生成方式和存储方式,但是它使用一个由管理员指定的附加密码以提供更进一步的安全性。当您重起电脑的时候,您必须在启动的时候输入管理员指定的附加密码,这个密码不保存在本地。 
 
模式三是安全性最高的操作方法,计算机随机产生的系统密匙讲被保存在一张软盘上,而不是电脑本地。如果您没有软盘的物理访问权限,并在系统提示时插入该软盘,您就无法引导系统。(您不能远程重启,而且软盘丢了只有重装) 
 
您可以通过以下方法创建system key; 
 
1)cmd中 输入 SYSKEY 执行 
2)点击UPDATE,选中ENCRYPTION ENABLED 
3)如果需要一个syskey的开始密码,点击PASSWORD STARTUP 
4)输入强壮密码,若不需要开始密码,点击SYSTEM GENERATED PASSWORD. 
5)默认的选项是 STORE STARTUP KEY LOCALLY,如果您想要将密码保存在软盘中,选中STORE STARTUP KEY ON FLOOPY DISK。 
 
 
十二 策略的使用 
其实很多东西完全可以在组策略和域策略里加以实现。 
 
本地组策略,运行 gpedit.msc 这面很多选项。 
 
1. 不响应远程“强行关机” 
管理工具->本地安全设置->本地安全设置->本地策略->用户权利指派 
找到“从远端系统强制关机”后面就是用户列表,双击它我们可以设置用户。 
 
2.注意你的远程可访问的注册表路径。在本地策略里的安全选项里 
我机器上现在目前有如下可以访问的注册表文件。我不清楚当我停止了远程访问我注册表的服务之后如下的注册表是否还可以被访问到。同时也不清楚我可不可以把他们删除干净! 
 
System\CurrentControlSet\Control\ProductOptions 
System\CurrentControlSet\Control\Print\Printers 
System\CurrentControlSet\Control\Server Applications 
System\CurrentControlSet\Services\Eventlog 
Software\Microsoft\OLAP Server 
Software\Microsoft\Windows NT\CurrentVersion 
System\CurrentControlSet\Control\ContentIndex 
System\CurrentControlSet\Control\Terminal Server 
System\CurrentControlSet\Control\Terminal Server\UserConfig 
System\CurrentControlSet\Control\Terminal Server\DefaultUserConfiguration 
 
3.拒绝恶意用户的远程登陆 
 
在本地策略的用户权利指派里你可以看到“拒绝从网络访问这台计算机”和“通过终端服务允许与拒绝登陆”的设置。 
 
4.阻止访问命令提示符 
组策略->用户配置->管理模板->系统 
右侧“阻止访问命令提示符”启用。 
同时您还可以在这里发现很多用的设置,比如“关闭自动播放”。 
5.禁止Windows Messenger自运行 
同样组策略 计算机配置 管理模板 windows组件 windows Messenger分支,不允许运行。 
 
尤其是windows2003上搭建的域策略控制实在太强大了。 
 
1.windows 2000 的预定义安全摸板 
 
默认工作站 
默认服务器 
默认域控制器 
兼容工作站或服务器 
安全工作站或服务器 
高度安全工作站或服务器 
专用域控制器 
安全域控制器 
高度安全域控制器 
 
 
------------------------------------------------------------------------- 
  ^_^  策略的内容很多,整理中 
-------------------------------------------------------------------------- 
 
十三.写在最后: 
     
    1.将当前服务器的进程抓图或记录下来,将其保存,方便以后对照查看是否有不明的程序。  
 
  2.将当前开放的端口抓图或记录下来,保存,方便以后对照查看是否开放了不明的端口。当然如果您能分辨每一个进程,和端口这一步可以省略。 
     
    3.坚持查看系统日志,养成查看日志的好习惯,即使没多少人能坚持做(附录三 分析日志实例)。 
 
    4.注意系统升级,安装杀毒和防火墙。象explorer,winlogon这样的程序是不应该访问网络的。禁止他们连接网络. 
     
    5.做好备份与灾难恢复。 
    使用ntbackup软件.备份系统状态. 
    使用reg.exe 备份系统关键数据 
    如reg export HKLM\SOFTWARE\ODBC e:\backup\system\odbc.reg /y 
    来备份系统的ODBC 
 
另外IIS里也可以使用备份。 
 
备份 IIS 配置 
 
若要备份 IIS 配置,请按照下列步骤操作:  
在本地计算机上的 IIS 管理单元中,单击 Internet 信息服务下面的计算机图标。 
单击操作并选择备份/还原配置。 
单击创建备份,选择备份文件的名称,然后单击确定。备注:默认备份位置是 %SystemRoot%\system32\inetsrv\MetaBack 文件夹。如果要将备份文件保存到其他位置,可以将文件从该默认位置复制到另一个位置。在默认位置保存一个副本以便方便地恢复。请注意,在默认情况下,C:\Winnt 是 Microsoft Windows 2000 中的 %SystemRoot% 文件夹。 
 
 
单击关闭。备注: 此备份方法提供只还原 IIS 设置(而不是内容文件)的方法。如果重新安装操作系统,则此备份方法无效。无法使用备份文件在正运行 Windows 2000 的其他计算机上还原 IIS 配置。  
 
 
还原 IIS 配置 
 
根据您是否删除和重新安装了 IIS,还原配置的步骤也将有所不同。 
 
备注:如果您要还原 IIS 配置并且只有元数据库文件的较旧的副本存在或者不存在元数据库文件的任何副本,请参见下面的 Microsoft 知识库文章:  
234429 How to Manually Restore the Metabase When No Backup Exists(在没有任何备份存在时如何手动还原元数据库)  
 
不进行 IIS 重新安装就还原 IIS 配置 
若要在尚未删除和重新安装 IIS 的情况下还原 IIS 配置,请按照下列步骤操作:  
在本地计算机上的 IIS 管理单元中,单击 Internet 信息服务下面的计算机图标。 
单击操作并选择备份/还原配置。 
在配置备份名对话框中,选择一个备份文件并单击还原。在系统询问您是否要还原配置设置时,单击是。 
 
 
在 IIS 重新安装后还原 IIS 配置 
若要在已删除和重新安装 IIS 后还原 IIS 配置,请按照下列步骤操作:  
在本地计算机上的 IIS 管理单元中,单击 Internet 信息服务下面的计算机图标。 
单击操作并选择备份/还原配置。 
在配置备份名对话框中,选择已创建的备份文件,然后单击还原。尽管错误消息指示还原已失败,仍还原了一部分的备份配置。 
在命令提示符下,键入以下命令:  
cscript.exeX:\InetPub\AdminScripts\Adsutil.vbs enum w3svc 
 
其中,X 是安装 IIS 的驱动器的驱动器号。从列出的设置中,找到 WamUserName 和关联的 WAMUserPass 值。 
 
备注: 若要使用 Adsutil.vbs 实用程序,必须安装 Windows Script Host。 
单击开始,指向设置,单击控制面板,双击管理工具,然后双击计算机管理。单击本地用户管理器并单击用户。 
双击 IWAM_computername 用户帐户。键入您从前一步骤检索的 WAMUserPass 值,然后单击确定。 
在配置备份名对话框中,选择已创建的备份文件,然后单击还原。这可以完全还原您的配置。 
 
备注: 如果您更改进程外应用程序的标识,则这些应用程序回复为以前的 IWAM 用户名。 
 
     
  现在是0:20 2006-9-27,我可以很兴奋的告诉大家。我们的挎包里不只有要系统安装光盘和近半年左右的补丁光盘,而且必须要有张装满杀毒和防火墙以及安全软件的光盘。另外值得注意的是必须要有带ghost的软件。我手上的是深山红叶的光盘。这个东西第二次就了我。第一次就是中了rose那个靠U盘传播的小病毒。家里的机器上没杀毒。那个小家伙其实也不难手杀,但我估计错了,把他替换的c下的系统文件删到垃圾桶里了。结果是启动不起来了。连按F8的机会都没有。只能重装了。但幸运的是我利用深山红叶启动了电脑并且把被删的东西重垃圾箱里拖了回来。系统顺利启动。 
   
  可这次没那么幸运了。直接让我删了。(靠U盘传播的另个家伙SXS.EXE)。本来傻忽忽的想利用深山红叶带的文件恢复软件恢复文件。希望找到被我删的那个渺小的家伙。因为这时想用 C:\Documents and Settings\new\「开始」菜单\程序\装机人员工具\GHOST 8.2的一键恢复不行了。呵呵,就象我特别要强调的一样。深山红叶就是自带ghost软件的好家伙。利用它我顺利的恢复了D盘中的映象文件(我装完系统后,把没用的软件删了,把.net,和一些常用的软件装到C盘后备份的软件),一切都回来了!~ 
     
    我痛苦的教训或许会给您带点什么,比如,要做GHOST,并且当只能光盘启动的时候,那么就使用它。 
    做为这个小部分的结尾,把GHOST的使用方法在这里再提一下(我向来罗嗦) 
     
  使用Ghost备份主分区: 
 
在显示出Ghost主画面后,选择Local→Partition→To Image",屏幕显示出硬盘选择画面和分区选择画面,请根据需要选择所需要备份的硬盘即源盘(假如只有一块硬盘按回车键即可)和分区名,接着屏幕显示出存储映像文件的画面,您可以选择相应的目标盘和文件名,默认扩展名为GHO,而且属性为隐含。接下来您可以在压缩映像文件的对话框中选择No(不压缩)、Fast(低压缩比,速度较快)、High(高压缩比,速度较慢)三者之一,应该根据自己的机器配置来决定,在最后确认的对话框中选择"Yes"后,映像文件就开始生成了 
 
主分区的恢复: 
 
进入Ghost主界面,选择Local→Partition→From Image,在出现的画面中选择源盘(即存储映像文件的分区如D:、E:等)和映像文件,在接下来的对话框中选择目标盘(C:),此处一定要注意选择正确,因为一旦确定错误,所有的资料将被全部覆盖,最后选"Yes" 
 
 
另外个也是我自己亲身体验的经历。是NTFS格式带来的问题。起先机器是装的2000,后来因为系统问题换成XP了。原来的E,F盘里面我使用了NTFS带的数据加密对部分目录进行了加密。而后来在XP再访问这些文件的时候....因为没有原来备份的个人加密证书和密钥文件,被加密的文件将不能访问(包括复制)。这里就介绍数字证书的备份和恢复。 
 
备份数字证书 
 
  在“开始→运行”中键入“MMC”,打开“控制台”,点击“文件→添加/删除管理单元”,然后单击“添加”,在“管理单元”栏中双击“证书”,弹出“证书管理单元”窗口;如果以非管理员用户登录,“证书”将自动加载;如果作为管理员登录,单击“我的用户帐户”,然后单击“完成”。回到“控制台根节点”,一般个人证书会放在“个人”和“受信任人”分支下,因此要备份数字证书就需要到这些分支下查看或寻找。选中某个证书,在右侧窗格的“预期目的”栏可以了解到颁发证书的目的,比如“文件加密系统”等。右击该证书,选择“所有任务→导出”,打开“证书导出向导”,然后按照提示操作即可。 
  提示:1).建议在“导出私钥”窗口(该选项仅在私钥标记为可导出且可以使用私钥时才显示,比如文件加密系统的数字证书)中选择“不,不要导出私钥”。否则还需要输入保护导出私钥的密码,这样,在恢复此证书时还需要提供该密码。 
  2).如果只需要备份文件加密系统的数字证书,可以采取“证书目的”查看方式(选中“证书-当前用户”,点击“查看→选项”,在“查看模式”栏中勾选“证书目的”项即可);然后在“控制台根节点”窗口中选择“加密文件系统”分支,在右侧窗口中找到相应的加密文件数字证书,按照上述方式直接导出即可。 
  3).如果只是想导出当前用户自己的证书(而不是要作为管理员管理各类证书),可以在IE中点击“工具→Internet选项”,进入“内容”选项卡,点击“证书”按钮,在打开的“证书”窗口中选中要导出的证书,然后按照上述方法导出。一个快捷的方法是:选中要导出的证书,直接用鼠标将它拖曳到存放证书的文件夹里。 
 
恢复数字证书  
 
 
  1).直接恢复 
  打开“证书-当前用户”分支,选中要导入证书的逻辑存储区域(查看方式为“逻辑证书存储”),比如“个人”,单击右键,选择“所有任务→导入”,打开“证书导入向导”,按照提示即可完成证书导入。 
  如果导入的是具有保护密码的证书,则还需要输入相应的密码。当然,我们也可以在IE中操作,点击“工具→Internet选项”,进入“内容”选项卡,点击“证书”按钮,然后导入相应的数字证书。 
  2).指定恢复代理 
  打开“控制面板→管理工具→本地安全策略”,在“公钥策略→正在加密的文件系统”上单击右键,选择“添加数据恢复代理”,通过“故障恢复代理向导”选择作为代理的用户或该用户的具有故障恢复证书的CER文件。 
  当恢复加密数据时,首先以被指定的作为数据恢复代理的用户登录计算机,将该代理用户的具有故障恢复功能的证书导入计算机(具体导入方法同上),然后在需要恢复的数据(文件或文件夹)上单击右键,选择“属性”,在“常规”选项卡中单击“高级”,取消“加密内容以便保护数据”复选框即可将加密的数据恢复。 
 
 
 
    6.在网管机器上先使用安全检查工具对自己的服务器进行安全检测与漏洞扫描(没抄家伙对自己的机器扫描而放到网上让居心叵测的人来帮助扫描实在不是件叫人放心的事)。平时注意分析网络流量。有条件的架设入侵检测系统(snort就是个很好的选择)。 
 
 
   
  总结,这个文章我要保持更新,并且希望大家也能参与进来。这样当我们去做WINDOWS安全的时候,可以有个很好的参照。
坚♂少 2008-02-21 17:11
[s:544] 顶~~~
xiao.c 2008-02-21 17:11
哈哈! 
 
不错的东西
black01 2008-02-21 17:12
附录1 
2000服务与运行进程详解: 
 
  svchost.exe 文件对那些从动态链接库中运行的服务来说是一个普通的主机进程名;最基本的系统进程(也就是说,这些进程是系统运行的基本条件,有了这些进程,系统就能正常运行):  
smss.exe Session Manager  
csrss.exe 子系统服务器进程  
winlogon.exe 管理用户登录  
services.exe 包含很多系统服务  
lsass.exe 管理 IP 安全策略以及启动 ISAKMP/Oakley (IKE) 和 IP 安全驱动程序。(系统服务)  
产生会话密钥以及授予用于交互式客户/服务器验证的服务凭据(ticket)。(系统服务)  
svchost.exe 包含很多系统服务  
svchost.exe  
SPOOLSV.EXE 将文件加载到内存中以便迟后打印。(系统服务)  
explorer.exe 资源管理器  
internat.exe 托盘区的拼音图标  
附加的系统进程(这些进程不是必要的,您可以根据需要通过服务管理器来增加或减少):  
mstask.exe 允许程序在指定时间运行。(系统服务)  
regsvc.exe 允许远程注册表*作。(系统服务)  
winmgmt.exe 提供系统管理信息(系统服务)。  
inetinfo.exe 通过 Internet 信息服务的管理单元提供 FTP 连接和管理。(系统服务)  
tlntsvr.exe 允许远程用户登录到系统并且使用命令行运行控制台程序。(系统服务)  
允许通过 Internet 信息服务的管理单元管理 Web 和 FTP 服务。(系统服务)  
tftpd.exe 实现 TFTP Internet 标准。该标准不要求用户名和密码。远程安装服务的一部分。(系统服务)  
termsrv.exe 提供多会话环境允许客户端设备访问虚拟的 Windows 2000 Professional 桌面会话以及运行在服务器上的基  
于 Windows 的程序。(系统服务)  
dns.exe 应答对域名系统(DNS)名称的查询和更新请求。(系统服务)  
以下服务很少会用到,上面的服务都对安全有害,如果不是必要的应该关掉  
tcpsvcs.exe 提供在 PXE 可远程启动客户计算机上远程安装 Windows 2000 Professional 的能力。(系统服务)  
支持以下 TCP/IP 服务:Character Generator, Daytime, Discard, Echo, 以及 Quote of the Day。(系统服务)  
ismserv.exe 允许在 Windows Advanced Server 站点间发送和接收消息。(系统服务)  
ups.exe 管理连接到计算机的不间断电源(UPS)。(系统服务)  
wins.exe 为注册和解析 NetBIOS 型名称的 TCP/IP 客户提供 NetBIOS 名称服务。(系统服务)  
llssrv.exe License Logging Service(system service)  
ntfrs.exe 在多个服务器间维护文件目录内容的文件同步。(系统服务)  
RsSub.exe 控制用来远程储存数据的媒体。(系统服务)  
locator.exe 管理 RPC 名称服务数据库。(系统服务)  
lserver.exe 注册客户端许可证。(系统服务)  
dfssvc.exe 管理分布于局域网或广域网的逻辑卷。(系统服务)  
clipsrv.exe 支持“剪贴簿查看器”,以便可以从远程剪贴簿查阅剪贴页面。(系统服务)  
msdtc.exe 并列事务,是分布于两个以上的数据库,消息队列,文件系统,或其它事务保护资源管理器。(系统服务)  
faxsvc.exe 帮助您发送和接收传真。(系统服务)  
cisvc.exe Indexing Service(system service)  
dmadmin.exe 磁盘管理请求的系统管理服务。(系统服务)  
mnmsrvc.exe 允许有权限的用户使用 NetMeeting 远程访问 Windows 桌面。(系统服务)  
netdde.exe 提供动态数据交换 (DDE) 的网络传输和安全特性。(系统服务)  
smlogsvc.exe 配置性能日志和警报。(系统服务)  
rsvp.exe 为依赖质量服务(QoS)的程序和控制应用程序提供网络信号和本地通信控制安装功能。(系统服务)  
RsEng.exe 协调用来储存不常用数据的服务和管理工具。(系统服务)  
RsFsa.exe 管理远程储存的文件的*作。(系统服务)  
grovel.exe 扫描零备份存储(SIS)卷上的重复文件,并且将重复文件指向一个数据存储点,以节省磁盘空间。(系统服务)  
SCardSvr.exe 对插入在计算机智能卡阅读器中的智能卡进行管理和访问控制。(系统服务)  
snmp.exe 包含代理程序可以监视网络设备的活动并且向网络控制台工作站汇报。(系统服务)  
snmptrap.exe 接收由本地或远程 SNMP 代理程序产生的陷阱消息,然后将消息传递到运行在这台计算机上 SNMP 管理程序  
。(系统服务)  
UtilMan.exe 从一个窗口中启动和配置辅助工具。(系统服务)  
msiexec.exe 依据 .MSI 文件中包含的命令来安装、修复以及删除软件。(系统服务)  
 
 
详细说明:  
 
win2k运行进程  
Svchost.exe  
Svchost.exe文件对那些从动态连接库中运行的服务来说是一个普通的主机进程名。Svhost.exe文件定位  
在系统的%systemroot%\system32文件夹下。在启动的时候,Svchost.exe检查注册表中的位置来构建需要  
加载的服务列表。这就会使多个Svchost.exe在同一时间运行。每个Svchost.exe的回话期间都包含一组服务,  
以至于单独的服务必须依靠Svchost.exe怎样和在那里启动。这样就更加容易控制和查找错误。  
Svchost.exe 组是用下面的注册表值来识别。  
 
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost  
每个在这个键下的值代表一个独立的Svchost组,并且当您正在看活动的进程时,它显示作为一个单独的  
例子。每个键值都是REG_MULTI_SZ类型的值而且包括运行在Svchost组内的服务。每个Svchost组都包含一个  
或多个从注册表值中选取的服务名,这个服务的参数值包含了一个ServiceDLL值。  
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Service  
 
更多的信息  
为了能看到正在运行在Svchost列表中的服务。  
开始-运行-敲入cmd  
然后在敲入 tlist -s (tlist 应该是win2k工具箱里的冬冬)  
Tlist 显示一个活动进程的列表。开关 -s 显示在每个进程中的活动服务列表。如果想知道更多的关于  
进程的信息,可以敲 tlist pid。  
 
Tlist 显示Svchost.exe运行的两个例子。  
0 System Process  
8 System  
132 smss.exe  
160 csrss.exe Title:  
180 winlogon.exe Title: NetDDE Agent  
208services.exe  
Svcs: AppMgmt,Browser,Dhcp,dmserver,Dnscache,Eventlog,lanmanserver,  
LanmanWorkstation,LmHosts,Messenger,PlugPlay,ProtectedStorage,seclogon,TrkWks,W32Time,Wmi  
220 lsass.exe Svcs: Netlogon,PolicyAgent,SamSs  
404 svchost.exe Svcs: RpcSs  
452 spoolsv.exe Svcs: Spooler  
544 cisvc.exe Svcs: cisvc  
556 svchost.exe Svcs: EventSystem,Netman,NtmsSvc,RasMan,SENS,TapiSrv  
580 regsvc.exe Svcs: RemoteRegistry  
596 mstask.exe Svcs: Schedule  
660 snmp.exe Svcs: SNMP  
728 winmgmt.exe Svcs: WinMgmt  
852 cidaemon.exe Title: OleMainThreadWndName  
812 explorer.exe Title: Program Manager  
1032 OSA.EXE Title: Reminder  
1300 cmd.exe Title: D:\WINNT5\System32\cmd.exe - tlist -s  
1080 MAPISP32.EXE Title: WMS Idle  
12XX rundll32.exe Title:  
1000 mmc.exe Title: Device Manager  
1144 tlist.exe  
在这个例子中注册表设置了两个组。  
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost:  
netsvcs: Reg_Multi_SZ: EventSystem Ias Iprip Irmon Netman Nwsapagent Rasauto Rasman Remoteaccess SENS Sharedaccess Tapisrv Ntmssvc  
rpcss :Reg_Multi_SZ: RpcSs  
 
userinit.exe  
 
登陆之后启动,启动外壳(通常是Explorer.exe--见HKLM\Software\Microsoft\Windows\Software\Microsoft\windows NT\CurrentVersion\WinLogon\Shell) 
装入配制文件,恢复驱动器标识符映象,然后退出 
 
csrss.exe  
 
这个是用户模式Win32子系统的一部分。csrss代表客户/服务器运行子系统而且是一个基本的子系统  
必须一直运行。csrss 负责控制windows,创建或者删除线程和一些16位的虚拟MS-DOS环境。  
 
explorer.exe  
这是一个用户的shell(我实在是不知道怎么翻译shell),在我们看起来就像任务条,桌面等等。这个  
进程并不是像您想象的那样是作为一个重要的进程运行在windows中,您可以从任务管理器中停掉它,或者重新启动。  
通常不会对系统产生什么负面影响。  
 
internat.exe  
这个进程是可以从任务管理器中关掉的。  
internat.exe在启动的时候开始运行。它加载由用户指定的不同的输入点。输入点是从注册表的这个位置  
HKEY_USERS\.DEFAULT\Keyboard Layout\Preload 加载内容的。  
internat.exe 加载“EN”图标进入系统的图标区,允许使用者可以很容易的转换不同的输入点。  
当进程停掉的时候,图标就会消失,但是输入点仍然可以通过控制面板来改变。  
 
lsass.exe  
这个进程是不可以从任务管理器中关掉的。  
这是一个本地的安全授权服务,并且它会为使用winlogon服务的授权用户生成一个进程。这个进程是  
通过使用授权的包,例如默认的msgina.dll来执行的。如果授权是成功的,lsass就会产生用户的进入  
令牌,令牌别使用启动初始的shell。其他的由用户初始化的进程会继承这个令牌的。  
 
mstask.exe  
这个进程是不可以从任务管理器中关掉的。  
这是一个任务调度服务,负责用户事先决定在某一时间运行的任务的运行。  
 
smss.exe  
这个进程是不可以从任务管理器中关掉的。  
这是一个会话管理子系统,负责启动用户会话。这个进程是通过系统进程初始化的并且对许多活动的,  
包括已经正在运行的Winlogon,Win32(Csrss.exe)线程和设定的系统变量作出反映。在它启动这些  
进程后,它等待Winlogon或者Csrss结束。如果这些过程时正常的,系统就关掉了。如果发生了什么  
不可预料的事情,smss.exe就会让系统停止响应(就是挂起)。  
 
spoolsv.exe  
这个进程是不可以从任务管理器中关掉的。  
缓冲(spooler)服务是管理缓冲池中的打印和传真作业。  
 
service.exe  
这个进程是不可以从任务管理器中关掉的。  
大多数的系统核心模式进程是作为系统进程在运行。  
 
System Idle Process  
这个进程是不可以从任务管理器中关掉的。  
这个进程是作为单线程运行在每个处理器上,并在系统不处理其他线程的时候分派处理器的时间。  
 
taskmagr.exe  
这个进程是可以在任务管理器中关掉的。  
这个进程就是任务管理器。  
 
winlogon.exe  
这个进程是管理用户登录和推出的。而且winlogon在用户按下CTRL+ALT+DEL时就激活了,显示安全对话框。  
 
winmgmt.exe  
winmgmt是win2000客户端管理的核心组件。当客户端应用程序连接或当管理程序需要他本身的服务时这个进程初始化  
 
 
================================================================================ 
================================================================================ 
 
 
附录二 IIS 6.0 安全特性 (选摘至http://www.securityfocus.com/infocus/1765 作者 Rohyt Behyt Belani & Michael Muckin)翻译 Long (Long@ph4nt0m.net) 
 
现在基本都是6.0了,但我还是把摘要一些知识点,丰富自己。 
 
默认安全 
 
1.IIS 6.0 默认只安装静态HTTP服务器 
2.默认不安装应用范例 
3.增强的文件访问控制。 
匿名帐号不再具有web服务器根目录的写权限。FTP用户也被相互隔离在他们自己的根目录中 
4.虚拟目录不再具有执行权限 
5.去除子验证模块 
6.父目录被禁用 
 
安全设计 
1.改善的数据有效性 
设计上是工作在内核模式的HTTP驱动--HTTP.sys,解析用户对web服务器的请求,然后指派一个合适的用户级工作进程来处理请求。工作进程被限制在用户模式避免它访问未授权的系统核心资源,从而极大的限制了攻击者对服务器保护资源的访问。 
2. 
通过修改注册表的键值来优化深度防御原则。 
 
HKLM\System\CurrentControlSet\Services\HTTP\Parameters下 
 
AllowRestrictedChars 这个键接受布而值表明允许HTTP.sys接受十六进制编码的URL请求。默认值是0。这个值也被推荐设置为0,以迫使请求在服务器级就进行输入检查。若为1,可能攻击者通过十六进制编码的恶意请来饶过输入检查。 
 
MaxFieldLength 这个允许管理员设置每个HTTP头的大小上限(Byte为单位),他的默认是16KB。 
 
MaxRequestBytes这个用来确定请求行和HTTP头的总大小上限,默认是16KB。 
 
UrlSegmentMaxCount 这个决定了服务器可以接受的URL中目录深度的最大值。他有效的限制用户URL请求中的反斜杠“/”的数量,建议将这个值根据web目录的深度进行严格的控制,以避免服务器遭到文件遍历的攻击。默认是255 
 
UrlSeqmentMaxLength 这个决定了URL请求中每个路径段的字符长度的最大值。这个值也一应该根据主机的普遍应用来设置,以避免接受超长地址请求而导致应用异常。默认是260。 
EnableNonUTF8 这个控制了HTTP.sys允许的字符编码搁置。默认1允许HTTP.sys接受ANSI和DBCS编码的URL地址,其他枝允许UTF8的编码格式。 
 
3.增强的日志机制 
您在站点的属性了。日志那栏看看就知道了,它可以记录很多东西。 
 
4.快速失败保护 
配置 Internet信息服务管理工具中: 
1) 在Internet信息服务管理器中,展开本地计算机。 
2)展开应用程序池。 
3)在要设定快速失败保护的应用程序迟上单击鼠标右键。 
4)选择 属性。 
5)选择 运行状况 选项卡,勾选 启动快速失败保护。 
6)在 失败数 中,填写可以忍受的工作进程失败次数(在结束这个进程之前)。 
7)在 时间段 中,填写累计工作进程失败次数统计的时间。 
 
5.应用程序隔离 
 
6.坚持最小特权原则 
 
============================================================================ 
============================================================================ 
附录三 分析日志实例 
 
FTP日志分析 如下例: 
 
#Software: Microsoft Internet Information Services 5.0 (微软 
IIS5.0 ) 
#Version: 1.0 (版本1.0) 
#Date: 20001023 03:11:55 (服务启动时间日期) 
03:11:55 127.0.0.1 [1]USER administator -331 (IP地址为127.0.0.1 
用户名为administator 试图登录) 
03:11:58 127.0.0.1 [1]PASS -530 (登录失败) 
03:12:04 127.0.0.1 [1]USER nt -331 ( IP地址为127.0.0.1用户名为nt 
的用户试图登录) 
03:12:06 127.0.0.1 [1]PASS -530 (登录失败) 
03:12:32 127.0.0.1 [1]USER administrator -331 (( IP地址为 
127.0.0.1 用户名为administrator 试图登录) 
03:12:34 127.0.0.1 [1]PASS 230 (登录成功) (登录成功) 
03:12:41 127.0.0.1 [1]MKD nt 550 (新建目录失败) 
03:12:45 127.0.0.1 [1]QUIT 550 (退出FTP 程序) 
 
 
http日志 
 
#Software: Microsoft Internet Information Services 5.0 
#Version: 1.0 
#Date: 2003-08-11 05:30:32 
#Fields: date time c-ip cs-username s-ip s-port cs-method cs-uri-stem csuri- 
query sc-status cs(User-Agent) 
2003-08-11 05:30:32 192.168.2.143 - 192.168.2.143 80 GET 
/scripts/..%5c..%5cwinnt/system32/cmd.exe /c+dir+c:\ 200     
Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) 
2003-08-11 07:24:01 192.168.2.143 - 192.168.2.143 80 GET 
/scripts/..%5c..%5cwinnt/system32/cmd.exe 
/c+copy%20c:\winnt\system32\cmd.exe%20venus.exe 502 
Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) 
2003-08-20 03:00:35 192.168.2.143 - 192.168.2.143 80 GET /UrlScan> ~/scripts/..%c1%af../winnt/system32/cmd.exe 404 - 
 
============================================================================ 
============================================================================ 
附录四 
Windows 2003 硬盘安全设置(7i24.com星外科技保留所有权利) 
c:\ 
administrators 全部 
system 全部 
iis_wpg 只有该文件夹 
列出文件夹/读数据 
读属性 
读扩展属性 
读取权限 
 
c:\inetpub\mailroot 
administrators 全部 
system 全部 
service 全部 
 
c:\inetpub\ftproot 
everyone 只读和运行 
 
c:\windows 
administrators 全部 
Creator owner 
不是继承的 
只有子文件夹及文件 
完全 
Power Users 
修改,读取和运行,列出文件夹目录,读取,写入 
system 全部 
IIS_WPG 读取和运行,列出文件夹目录,读取 
Users 读取和运行(此权限最后调整完成后可以取消) 
 
C:\WINDOWS\Microsoft.Net 
administrators 全部 
Creator owner 
不是继承的 
只有子文件夹及文件 
完全 
Power Users 
修改,读取和运行,列出文件夹目录,读取,写入 
system 全部 
Users 读取和运行,列出文件夹目录,读取 
 
C:\WINDOWS\Microsoft.Net 
administrators 全部 
Creator owner 
不是继承的 
只有子文件夹及文件 
完全 
Power Users 
修改,读取和运行,列出文件夹目录,读取,写入 
system 全部 
Users 读取和运行,列出文件夹目录,读取 
 
C:\WINDOWS\Microsoft.Net\temporary ASP.NET Files 
administrators 全部 
Creator owner 
不是继承的 
只有子文件夹及文件 
完全 
Power Users 
修改,读取和运行,列出文件夹目录,读取,写入 
system 全部 
Users 全部 
 
c:\Program Files 
Everyone 只有该文件夹 
不是继承的 
列出文件夹/读数据 
administrators 全部 
iis_wpg 只有该文件夹 
列出文件/读数据 
读属性 
读扩展属性 
读取权限 
 
 
c:\windows\temp 
Administrator 全部权限 
System  全部权限 
users 全部权限 
 
c:\Program Files\Common Files 
administrators 全部 
Creator owner 
不是继承的 
只有子文件夹及文件 
完全 
Power Users 
修改,读取和运行,列出文件夹目录,读取,写入 
system 全部 
TERMINAL SERVER Users(如果有这个用户) 
修改,读取和运行,列出文件夹目录,读取,写入 
Users 读取和运行,列出文件夹目录,读取 
 
如果安装了我们的软件: 
c:\Program Files\LIWEIWENSOFT 
Everyone 读取和运行,列出文件夹目录,读取 
administrators 全部 
system 全部 
IIS_WPG 读取和运行,列出文件夹目录,读取 
 
 
c:\Program Files\Dimac(如果有这个目录) 
Everyone 读取和运行,列出文件夹目录,读取 
administrators 全部 
 
c:\Program Files\ComPlus Applications (如果有) 
administrators 全部 
 
c:\Program Files\GflSDK (如果有) 
administrators 全部 
Creator owner 
不是继承的 
只有子文件夹及文件 
完全 
Power Users 
修改,读取和运行,列出文件夹目录,读取,写入 
system 全部 
TERMINAL SERVER Users 
修改,读取和运行,列出文件夹目录,读取,写入 
Users 读取和运行,列出文件夹目录,读取 
Everyone 读取和运行,列出文件夹目录,读取 
 
c:\Program Files\InstallShield Installation Information (如果有) 
c:\Program Files\Internet Explorer (如果有) 
c:\Program Files\NetMeeting (如果有) 
administrators 全部 
 
c:\Program Files\WindowsUpdate 
Creator owner 
不是继承的 
只有子文件夹及文件 
完全 
administrators 全部 
Power Users 
修改,读取和运行,列出文件夹目录,读取,写入 
system 全部 
 
c:\Program Files\Microsoft SQL(如果SQL安装在这个目录) 
administrators 全部 
Service 全部 
system 全部 
 
 
c:\Main  (如果主控端网站放在这个目录) 
administrators 全部 
system 全部 
IUSR_*,默认的Internet来宾帐户(或专用的运行用户) 
读取和运行 
 
 
d:\ (如果用户网站内容放置在这个分区中) 
administrators 全部权限 
 
d:\FreeHost (如果此目录用来放置用户网站内容) 
administrators 全部权限 
SERVICE 读取与运行 
system 读取与运行(全部权限,如果安装了一流信息监控) 
 
F:\ (如果此分区用来放置SQL2000用户数据库) 
administrators 全部权限 
System 全部权限 
SQL2000的运行用 
只有该文件夹 
列出文件夹/读数据 
读属性 
读扩展属性 
读取权限 
 
F:\SQLDATA (如果此目录用来放置SQL2000用户数据库) 
administrators 全部权限 
System 全部权限 
SQL2000的运行用户全部权限 
 
 
 
从安全角度,我们建议WebEasyMail(WinWebMail)安装在独立的盘中,例如E: 
E:\(如果webeasymail安装在这个盘中) 
administrators 全部权限 
system 全部权限 
IUSR_*,默认的Internet来宾帐户(或专用的运行用户) 
只有该文件夹 
列出文件夹/读数据 
读属性 
读扩展属性 
读取权限 
E:\WebEasyMail (如果webeasymail安装在这个目录中) 
administrators 全部 
system 全部权限 
SERVICE  全部 
IUSR_*,默认的Internet来宾帐户 (或专用的运行用户) 
全部权限 
 
 
C:\php\uploadtemp 
C:\php\sessiondata 
everyone 
全部 
 
C:\php\ 
administrators 全部 
system 全部权限 
SERVICE  全部 
Users 只读和运行 
 
 
c:\windows\php.ini           
administrators 全部 
system 全部权限 
SERVICE  全部 
Users 只读和运行 
 
冷寒冰:它这里还遗忘个很重点的需要保护对象,如果安装了mysql,那么要注意 
c:\windows\my.ini的文件权限。
black01 2008-02-21 17:13
CSDN上看到一篇文章作为补充 
 
 
 
第一步: 
一、先关闭不需要的端口 
  我比较小心,先关了端口。只开了3389 21 80 1433(MYSQL)有些人一直说什么默认的3389不安全,对此我不否认,但是利用的途径也只能一个一个的穷举爆破,你把帐号改 
 
了密码设置为十五六位,我估计他要破上好几年,哈哈!办法:本地连接--属性--Internet协议(TCP/IP)--高级--选项--TCP/IP筛选--属性--把勾打上 然后添加你需要的端口即可。PS一句:设置完端口需要重新启动! 
  当然大家也可以更改远程连接端口方法: 
  Windows Registry Editor Version 5.00 
  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] 
  "PortNumber"=dword:00002683 
  保存为.REG文件双击即可!更改为9859,当然大家也可以换别的端口, 直接打开以上注册表的地址,把值改为十进制的输入你想要的端口即可!重启生效! 
  还有一点,在2003系统里,用TCP/IP筛选里的端口过滤功能,使用FTP服务器的时候,只开放21端口,在进行FTP传输的时候,FTP 特有的Port模式和Passive模式,在进行数据传输的时候,需要动态的打开高端口,所以在使用TCP/IP过滤的情况下,经常会出现连接上后无法列出目录和数据传输的问题。所以在2003系统上增加的windows连接防火墙能很好的解决这个问题,所以都不推荐使用网卡的TCP/IP过滤功能。所做 FTP下载的用户看仔细点,表怪俺说俺写文章是垃圾...如果要关闭不必要的端口,在\\system32\\drivers\\etc\\ services中有列表,记事本就可以打开的。如果懒惰的话,最简单的方法是启用WIN2003的自身带的网络防火墙,并进行端口的改变。功能还可以! Internet 连接防火墙可以有效地拦截对Windows 2003服务器的非法入侵,防止非法远程主机对服务器的扫描,提高Windows 2003服务器的安全性。同时,也可以有效拦截利用操作系统漏洞进行端口攻击的病毒,如冲击波等蠕虫病毒。如果在用Windows 2003构造的虚拟路由器上启用此防火墙功能,能够对整个内部网络起到很好的保护作用。 
  二、关闭不需要的服务 打开相应的审核策略 
  我关闭了以下的服务 
Computer Browser 维护网络上计算机的最新列表以及提供这个列表 
Task scheduler 允许程序在指定时间运行 
Routing and Remote Access 在局域网以及广域网环境中为企业提供路由服务 
Removable storage 管理可移动媒体、驱动程序和库 
Remote Registry Service 允许远程注册表操作 
Print Spooler 将文件加载到内存中以便以后打印。要用打印机的朋友不能禁用这项 
IPSEC Policy Agent 管理IP安全策略以及启动ISAKMP/OakleyIKE)和IP安全驱动程序 
Distributed Link Tracking Client 当文件在网络域的NTFS卷中移动时发送通知 
Com+ Event System 提供事件的自动发布到订阅COM组件 
Alerter 通知选定的用户和计算机管理警报 
Error Reporting Service 收集、存储和向 Microsoft 报告异常应用程序 
Messenger 传输客户端和服务器之间的 NET SEND 和 警报器服务消息 
Telnet 允许远程用户登录到此计算机并运行程序 
  把不必要的服务都禁止掉,尽管这些不一定能被攻击者利用得上,但是按照安全规则和标准上来说,多余的东西就没必要开启,减少一份隐患。 
  在"网络连接"里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),由于要控制带宽流量服务,额外安装了Qos 数据包计划程序。在高级tcp/ip设置里--"NetBIOS"设置"禁用tcp/IP上的NetBIOS(S)"。在高级选项里,使用 "Internet连接防火墙",这是windows 2003 自带的防火墙,在2000系统里没有的功能,虽然没什么功能,但可以屏蔽端口,这样已经基本达到了一个IPSec的功能。 
  在运行中输入 gpedit.msc回车,打开组策略编辑器,选择计算机配置-Windows设置-安全设置-审核策略在创建审核项目时需要注意的是如果审核的项目太多,生成的事件也就越多,那么要想发现严重的事件也越难当然如果审核的太少也会影响你发现严重的事件,你需要根据情况在这二者之间做出选择。 
  推荐的要审核的项目是: 
  登录事件 成功 失败 
  账户登录事件 成功 失败 
  系统事件 成功 失败 
  策略更改 成功 失败 
  对象访问 失败 
  目录服务访问 失败 
  特权使用 失败 
  三、磁盘权限设置 
1.系统盘权限设置 
C:分区部分: 
c:\ 
administrators 全部(该文件夹,子文件夹及文件) 
CREATOR OWNER  全部(只有子文件来及文件) 
system 全部(该文件夹,子文件夹及文件) 
IIS_WPG 创建文件/写入数据(只有该文件夹) 
IIS_WPG(该文件夹,子文件夹及文件) 
遍历文件夹/运行文件 
列出文件夹/读取数据 
读取属性 
创建文件夹/附加数据 
读取权限 
c:\Documents and Settings 
administrators 全部(该文件夹,子文件夹及文件) 
Power Users (该文件夹,子文件夹及文件) 
读取和运行 
列出文件夹目录 
读取 
SYSTEM全部(该文件夹,子文件夹及文件) 
C:\Program Files 
administrators 全部(该文件夹,子文件夹及文件) 
CREATOR OWNER全部(只有子文件来及文件) 
IIS_WPG (该文件夹,子文件夹及文件) 
读取和运行 
列出文件夹目录 
读取 
Power Users(该文件夹,子文件夹及文件) 
修改权限 
SYSTEM全部(该文件夹,子文件夹及文件) 
TERMINAL SERVER USER (该文件夹,子文件夹及文件) 
修改权限 
2.网站及虚拟机权限设置(比如网站在E盘) 
说明:我们假设网站全部在E盘wwwsite目录下,并且为每一个虚拟机创建了一个guest用户,用户名为vhost1...vhostn并且创建了一个webuser组,把所有的vhost用户全部加入这个webuser组里面方便管理。 
E:\ 
Administrators全部(该文件夹,子文件夹及文件) 
E:\wwwsite 
Administrators全部(该文件夹,子文件夹及文件) 
system全部(该文件夹,子文件夹及文件) 
service全部(该文件夹,子文件夹及文件) 
E:\wwwsite\vhost1 
Administrators全部(该文件夹,子文件夹及文件) 
system全部(该文件夹,子文件夹及文件) 
vhost1全部(该文件夹,子文件夹及文件) 
3.数据备份盘 
数据备份盘最好只指定一个特定的用户对它有完全操作的权限。比如F盘为数据备份盘,我们只指定一个管理员对它有完全操作的权限。 
4.其它地方的权限设置 
请找到c盘的这些文件,把安全性设置只有特定的管理员有完全操作权限。 
下列这些文件只允许administrators访问 
net.exe 
net1.exet 
cmd.exe 
tftp.exe 
netstat.exe 
regedit.exe 
at.exe 
attrib.exe 
cacls.exe 
format.com 
5.删除c:\inetpub目录,删除iis不必要的映射,建立陷阱帐号,更改描述。 
四、防火墙、杀毒软件的安装 
我见过的Win2000/Nt服务器从来没有见到有安装了防毒软件的,其实这一点非常重要。一些好的杀毒软件不仅能杀掉一些著名的病毒,还能查杀大量木马和后门程序。这样的话,“黑客”们使用的那些有名的木马就毫无用武之地了。不要忘了经常升级病毒库,我们推荐mcafree杀毒软件+blackice防火墙 
五、SQL2000 SERV-U FTP安全设置 
  SQL安全方面 
  1.System Administrators 角色最好不要超过两个 
  2.如果是在本机最好将身份验证配置为Win登陆 
  3.不要使用Sa账户,为其配置一个超级复杂的密码 
  4.删除以下的扩展存储过程格式为: 
  use master 
  sp_dropextendedproc '扩展存储过程名' 
  xp_cmdshell:是进入操作系统的最佳捷径,删除 
  访问注册表的存储过程,删除 
  Xp_regaddmultistring  Xp_regdeletekey  Xp_regdeletevalue  Xp_regenumvalues 
  Xp_regread      Xp_regwrite    Xp_regremovemultistring 
  OLE自动存储过程,不需要删除 
  Sp_OACreate   Sp_OADestroy    Sp_OAGetErrorInfo  Sp_OAGetProperty 
  Sp_OAMethod  Sp_OASetProperty  Sp_OAStop 
  5.隐藏 SQL Server、更改默认的1433端口 
  右击实例选属性-常规-网络配置中选择TCP/IP协议的属性,选择隐藏 SQL Server 实例,并改原默认的1433端口 
  serv-u的几点常规安全需要设置下: 
  选中"Block "FTP_bounce"attack and FXP"。什么是FXP呢?通常,当使用FTP协议进行文件传输时,客户端首先向FTP服务器发出一个"PORT"命令,该命令中包含此用户的IP地址和将被用来进行数据传输的端口号,服务器收到后,利用命令所提供的用户地址信息建立与用户的连接。大多数情况下,上述过程不会出现任何问题,但当客户端是一名恶意用户时,可能会通过在PORT命令中加入特定的地址信息,使FTP服务器与其它非客户端的机器建立连接。虽然这名恶意用户可能本身无权直接访问某一特定机器,但是如果FTP服务器有权访问该机器的话,那么恶意用户就可以通过FTP服务器作为中介,仍然能够最终实现与目标服务器的连接。这就是FXP,也称跨服务器攻击。选中后就可以防止发生此种情况。 
  六、IIS安全设置 
IIS的相关设置: 
    删除默认建立的站点的虚拟目录,停止默认web站点,删除对应的文件目录c:inetpub,配置所有站点的公共设置,设置好相关的连接数限制,带宽设置以及性能设置等其他设置。配置应用程序映射,删除所有不必要的应用程序扩展,只保留asp,php,cgi,pl,aspx应用程序扩展。对于php和 cgi,推荐使用isapi方式解析,用exe解析对安全和性能有所影响。用户程序调试设置发送文本错误信息给户。对于数据库,尽量采用mdb后缀,不需要更改为asp,可在IIS中设置一个mdb的扩展映射,将这个映射使用一个无关的dll文件如C: WINNTsystem32inetsrvssinc.dll来防止数据库被下载。设置IIS的日志保存目录,调整日志记录信息。设置为发送文本错误信息。修改403错误页面,将其转向到其他页,可防止一些扫描器的探测。另外为隐藏系统信息,防止telnet到80端口所泄露的系统版本信息可修改IIS 的banner信息,可以使用winhex手工修改或者使用相关软件如banneredit修改。 
    对于用户站点所在的目录,在此说明一下,用户的FTP根目录下对应三个文件佳,wwwroot,database,logfiles,分别存放站点文件,数据库备份和该站点的日志。如果一旦发生入侵事件可对该用户站点所在目录设置具体的权限,图片所在的目录只给予列目录的权限,程序所在目录如果不需要生成文件(如生成html的程序)不给予写入权限。因为是虚拟主机平常对脚本安全没办法做到细致入微的地步,更多的只能在方法用户从脚本提升权限: 
    ASP的安全设置: 
    设置过权限和服务之后,防范asp木马还需要做以下工作,在cmd窗口运行以下命令: 
    regsvr32/u C:\WINNT\System32\wshom.ocx 
    del C:\WINNT\System32\wshom.ocx 
    regsvr32/u C:\WINNT\system32\shell32.dll 
    del C:\WINNT\system32\shell32.dll 
    即可将WScript.Shell, Shell.application, WScript.Network组件卸载,可有效防止asp木马通过wscript或shell.application执行命令以及使用木马查看一些系统敏感信息。另法:可取消以上文件的users用户的权限,重新启动IIS即可生效。但不推荐该方法。 
    另外,对于FSO由于用户程序需要使用,服务器上可以不注销掉该组件,这里只提一下FSO的防范,但并不需要在自动开通空间的虚拟商服务器上使用,只适合于手工开通的站点。可以针对需要FSO和不需要FSO的站点设置两个组,对于需要FSO的用户组给予c:winntsystem32scrrun.dll 文件的执行权限,不需要的不给权限。重新启动服务器即可生效。 
    对于这样的设置结合上面的权限设置,你会发现海阳木马已经在这里失去了作用! 
    PHP的安全设置: 
    默认安装的php需要有以下几个注意的问题: 
    C:\winnt\php.ini只给予users读权限即可。在php.ini里需要做如下设置: 
    Safe_mode=on 
    register_globals = Off 
    allow_url_fopen = Off 
    display_errors = Off 
    magic_quotes_gpc = On [默认是on,但需检查一遍] 
    open_basedir =web目录 
    disable_functions =passthru,exec,shell_exec,system,phpinfo,get_cfg_var,popen,chmod 
    默认设置com.allow_dcom = true修改为false[修改前要取消掉前面的;] 
    MySQL安全设置: 
    如果服务器上启用MySQL数据库,MySQL数据库需要注意的安全设置为: 
    删除mysql中的所有默认用户,只保留本地root帐户,为root用户加上一个复杂的密码。赋予普通用户 updatedeletealertcreatedrop权限的时候,并限定到特定的数据库,尤其要避免普通客户拥有对mysql数据库操作的权限。检查 mysql.user表,取消不必要用户的shutdown_priv,relo 
    ad_priv,process_priv和File_priv权限,这些权限可能泄漏更多的服务器信息包括非mysql的其它信息出去。可以为 mysql设置一个启动用户,该用户只对mysql目录有权限。设置安装目录的data数据库的权限(此目录存放了mysql数据库的数据信息)。对于 mysql安装目录给users加上读取、列目录和执行权限。 
    Serv-u安全问题: 
    安装程序尽量采用最新版本,避免采用默认安装目录,设置好serv-u目录所在的权限,设置一个复杂的管理员密码。修改serv-u的banner信息,设置被动模式端口范围(4001—4003)在本地服务器中设置中做好相关安全设置:包括检查匿名密码,禁用反超时调度,拦截“FTP bounce”攻击和FXP,对于在30秒内连接超过3次的用户拦截10分钟。域中的设置为:要求复杂密码,目录只使用小写字母,高级中设置取消允许使用 MDTM命令更改文件的日期。 
    更改serv-u的启动用户:在系统中新建一个用户,设置一个复杂点的密码,不属于任何组。将servu的安装目录给予该用户完全控制权限。建立一个 FTP根目录,需要给予这个用户该目录完全控制权限,因为所有的ftp用户上传,删除,更改文件都是继承了该用户的权限,否则无法操作文件。另外需要给该目录以上的上级目录给该用户的读取权限,否则会在连接的时候出现530 Not logged in, home directory does not exist.比如在测试的时候ftp根目录为d:soft,必须给d盘该用户的读取权限,为了安全取消d盘其他文件夹的继承权限。而一般的使用默认的 system启动就没有这些问题,因为system一般都拥有这些权限的。 
  七、其它 
1. 隐藏重要文件/目录可以修改注册表实现完全隐藏:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL”,鼠标右击 “CheckedValue”,选择修改,把数值由1改为0 
2.启动系统自带的Internet连接防火墙,在设置服务选项中勾选Web服务器; 
3.防止SYN洪水攻击: 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 
新建DWORD值,名为SynAttackProtect,值为2 
EnablePMTUDiscovery REG_DWORD 0 
NoNameReleaseOnDemand REG_DWORD 1 
EnableDeadGWDetect REG_DWORD 0 
KeepAliveTime REG_DWORD 300,000 
PerformRouterDiscovery REG_DWORD 0 
EnableICMPRedirects REG_DWORD 0 
4. 禁止响应ICMP路由通告报文: 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface 
新建DWORD值,名为PerformRouterDiscovery 值为0 
5. 防止ICMP重定向报文的攻击: 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 
将EnableICMPRedirects 值设为0 
6. 不支持IGMP协议: 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 
新建DWORD值,名为IGMPLevel 值为0 
7.修改终端服务端口: 
运行regedit,找到[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ Wds \ rdpwd \ Tds \ tcp],看到右边的PortNumber了吗?在十进制状态下改成你想要的端口号吧,比如7126之类的,只要不与其它冲突即可。 
第二处HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp,方法同上,记得改的端口号和上面改的一样就行了。 
8.禁止IPC空连接: 
cracker 可以利用net use命令建立空连接,进而入侵,还有net view,nbtstat这些都是基于空连接的,禁止空连接就好了。打开注册表,找到Local_Machine\System\ CurrentControlSet\Control\LSA-RestrictAnonymous 把这个值改成”1”即可。 
9.更改TTL值: 
cracker可以根据ping回的TTL值来大致判断你的操作系统,如: 
TTL=107(WINNT); 
TTL=108(win2000); 
TTL=127或128(win9x); 
TTL=240或241(linux); 
TTL=252(solaris); 
TTL=240(Irix); 
实际上你可以自己更改的: 
HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Services\Tcpip\Parameters:DefaultTTL REG_DWORD 0-0xff(0-255 十进制,默认值128)改成一个莫名其妙的数字如258,起码让那些小菜鸟晕上半天,就此放弃入侵你也不一定哦。 
10. 删除默认共享: 
有人问过我一开机就共享所有盘,改回来以后,重启又变成了共享是怎么回事,这是2K为管理而设置的默认共享,必须通过修改注册表的方式取消它: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters: AutoShareServer类型是REG_DWORD把值改为0即可 
11. 禁止建立空连接: 
默认情况下,任何用户通过通过空连接连上服务器,进而枚举出帐号,猜测密码。我们可以通过修改注册表来禁止建立空连接: 
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值改成”1”即可。 
12.禁用TCP/IP上的NetBIOS 
网上邻居-属性-本地连接-属性-Internet协议(TCP/IP)属性-高级-WINS面板-NetBIOS设置-禁用TCP/IP上的NetBIOS。这样cracker就无法用nbtstat命令来读取你的NetBIOS信息和网卡MAC地址了。 
13. 账户安全 
首先禁止一切账户,除了你自己,呵呵。然后把Administrator改名。我呢就顺手又建了个Administrator账户,不过是什么权限都没有的那种,然后打开记事本,一阵乱敲,复制,粘贴到“密码”里去,呵呵,来破密码吧~!破完了才发现是个低级账户,看你崩溃不? 
创建2个管理员用帐号 
虽然这点看上去和上面这点有些矛盾,但事实上是服从上面的规则的。创建一个一般权限帐号用来收信以及处理一些日常事物,另一个拥有Administrators 权限的帐户只在需要的时候使用。可以让管理员使用 “ RunAS” 命令来执行一些需要特权才能作的一些工作,以方便管理 
14.更改C:\WINDOWS\Help\iisHelp\common\404b.htm内容改为这样,出错了自动转到首页。 
15.本地安全策略和组策略的设置,如果你在设置本地安全策略时设置错了,可以这样恢复成它的默认值 
打开 %SystemRoot%\Security文件夹,创建一个 "OldSecurity"子目录,将%SystemRoot%\Security下所有的.log文件移到这个新建的子文件夹中 
在%SystemRoot%\Security\database\下找到"Secedit.sdb"安全数据库并将其改名,如改为"Secedit.old" 
启动"安全配置和分析"MMC管理单元:"开始"->"运行"->"MMC",启动管理控制台,"添加/删除管理单元",将"安全配置和分析"管理单元添加上 
右击"安全配置和分析"->"打开数据库",浏览"C:\WINNT\security\Database"文件夹,输入文件名"secedit.sdb",单击"打开" 
当系统提示输入一个模板时,选择"Setup Security.inf",单击"打开",如果系统提示"拒绝访问数据库",不管他,你会发现在"C:\WINNT\security\ Database"子文件夹中重新生成了新的安全数据库,在"C:\WINNT\security"子文件夹下重新生成了log文件,安全数据库重建成功。 
16.禁用DCOM: 
运行中输入 Dcomcnfg.exe。 回车, 单击“控制台根节点”下的“组件服务”。 打开“计算机”子文件夹。对于本地计算机,请以右键单击“我的电脑”,然后选择“属性”。选择“默认属性”选项卡。清除“在这台计算机上启用分布式 COM”复选框。 
 
 
 
第二步: 
尽管Windows 2003的功能在不断增强,但是由于先天性的原因,它还存在不少安全隐患,要是不将这些隐患“堵住”,可能会给整个系统带来不必要的麻烦;下面笔者就介绍Windows2003中不常见的安全隐患的防堵方法,希望能对各位带来帮助! 
堵住自动保存隐患 
 
  Windows 2003操作系统在调用应用程序出错时,系统中的Dr. Watson会自动将一些重要的调试信息保存起来,以便日后维护系统时查看,不过这些信息很有可能被黑客“瞄上”,一旦瞄上的话,各种重要的调试信息就会暴露无疑,为了堵住Dr. Watson自动保存调试信息的隐患,我们可以按如下步骤来实现: 
 
  1、打开开始菜单,选中“运行”命令,在随后打开的运行对话框中,输入注册表编辑命令“ergedit”命令,打开一个注册表编辑窗口; 
 
  2、在该窗口中,用鼠标依次展开HKEY_local_machine\software\Microsoft\WindowsdowsNT\ CurrentVersion\AeDebug分支,在对应AeDebug键值的右边子窗口中,用鼠标双击Auto值,在弹出的参数设置窗口中,将其数值重新设置为“0”, 
 
  3、打开系统的Windows资源管理器窗口,并在其中依次展开Documents and Settings文件夹、All Users文件夹、Shared Documents文件夹、DrWatson文件夹,最后将对应DrWatson中的User.dmp文件、Drwtsn32.log文件删除掉。 
 
  完成上面的设置后,重新启动一下系统,就可以堵住自动保存隐患了。 
 
堵住资源共享隐患 
 
  为了给局域网用户相互之间传输信息带来方便,Windows Server 2003系统很是“善解人意”地为各位提供了文件和打印共享功能,不过我们在享受该功能带来便利的同时,共享功能也会“引狼入室”,“大度”地向黑客们敞开了不少漏洞,给服务器系统造成了很大的不安全性;所以,在用完文件或打印共享功能时,大家千万要随时将功能关闭哟,以便堵住资源共享隐患,下面就是关闭共享功能的具体步骤: 
 
  1、执行控制面板菜单项下面的“网络连接”命令,在随后出现的窗口中,用鼠标右键单击一下“本地连接”图标; 
 
  2、在打开的快捷菜单中,单击“属性”命令,这样就能打开一个“Internet协议(TCP/IP)”属性设置对话框; 
 
  3、在该界面中取消“Microsoft网络的文件和打印机共享”这个选项; 
 
  4、如此一来,本地计算机就没有办法对外提供文件与打印共享服务了,这样黑客自然也就少了攻击系统的“通道”。 
 
堵住远程访问隐患 
 
  在Windows2003系统下,要进行远程网络访问连接时,该系统下的远程桌面功能可以将进行网络连接时输入的用户名以及密码,通过普通明文内容方式传输给对应连接端的客户端程序;在明文帐号传输过程中,实现“安插”在网络通道上的各种嗅探工具,会自动进入“嗅探”状态,这个明文帐号就很容易被“俘虏”了;明文帐号内容一旦被黑客或其他攻击者另谋他用的话,呵呵,小心自己的系统被“疯狂”攻击吧!为了杜绝这种安全隐患,我们可以按下面的方法来为系统 “加固”: 
 
  1、点击系统桌面上的“开始”按钮,打开开始菜单; 
 
  2、从中执行控制面板命令,从弹出的下拉菜单中,选中“系统”命令,打开一个系统属性设置界面; 
 
  3、在该界面中,用鼠标单击“远程”标签; 
 
  4、在随后出现的标签页面中,将“允许用户远程连接到这台计算机”选项取消掉,这样就可以将远程访问连接功能屏蔽掉,从而堵住远程访问隐患了。 
 
堵住用户切换隐患 
 
  Windows 2003系统为我们提供了快速用户切换功能,利用该功能我们可以很轻松地登录到系统中;不过在享受这种轻松时,系统也存在安装隐患,例如我们要是执行系统 “开始”菜单中的“注销”命令来,快速“切换用户”时,再用传统的方式来登录系统的话,系统很有可能会本次登录,错误地当作是对计算机系统的一次暴力“袭击”,这样Windows2003系统就可能将当前登录的帐号当作非法帐号,将它锁定起来,这显然不是我们所需要的;不过,我们可以按如下步骤来堵住用户切换时,产生的安全隐患: 
 
  在Windows 2003系统桌面中,打开开始菜单下面的控制面板命令,找到下面的“管理工具”命令,再执行下级菜单中的“计算机管理”命令,找到“用户帐户”图标,并在随后出现的窗口中单击“更改用户登录或注销的方式”;在打开的设置窗口中,将“使用快速用户切换”选项取消掉就可以了。 
 
堵住页面交换隐患 
 
  Windows 2003操作系统即使在正常工作的情况下,也有可能会向黑客或者其他访问者泄漏重要的机密信息,特别是一些重要的帐号信息。也许我们永远不会想到要查看一下,那些可能会泄漏隐私信息的文件,不过黑客对它们倒是很关心的哟!Windows 2003操作系统中的页面交换文件中,其实就隐藏了不少重要隐私信息,这些信息都是在动态中产生的,要是不及时将它们清除,就很有可能成为黑客的入侵突破口;为此,我们必须按照下面的方法,来让Windows 2003操作系统在关闭系统时,自动将系统工作时产生的页面文件全部删除掉: 
 
  1、在Windows 2003的“开始”菜单中,执行“运行”命令,打开运行对话框,并在其中输入“Regedit”命令,来打开注册表窗口; 
 
  2、在该窗口的左边区域中,用鼠标依次单击HKEY_local_machine\system\currentcontrolset\control \sessionmanager\memory management键值,找到右边区域中的ClearPageFileAtShutdown键值,并用鼠标双击之,在随后打开的数值设置窗口中,将该 DWORD值重新修改为“1”; 
 
  3、完成设置后,退出注册表编辑窗口,并重新启动计算机系统,就能让上面的设置生效了。