Windows WEB服务器配置安全规范

一、安装 Win 200x 安全概览

1.硬盘分区的文件系统选择

①使用多分区分别管理不同内容
在安装Win 2000时,如条件许可,应至少建立两个逻辑分区,一个用作系统分区,另一个用作应用程序分区。尽量修改“我的文档”及“Outlook Express”等应用程序的默认文件夹位置,使其位置不在系统分区。对提供服务的机器,可按如下设置分区: 分区1:系统分区,安装系统和重要日志文件。分区2:提供给IIS使用。分区3:提供给FTP使用。分区4:放置其他一些资料文件。(以上为示例,可灵活把握)

②采用NTFS文件系统
所有磁盘分区必须采用 NTFS 文件系统,而不要使用 FAT32!
特别注意:一定要在系统安装时,通过安装程序将系统盘格式化为NTFS,而不要先以 FAT32 格式安装系统,然后再用 Convert 转换!因为转换后的磁盘根目录的默认权限过高!

③使用文件加密系统EFS
Windows2000 强大的加密系统能够给磁盘,文件夹,文件加上一层安全保护。这样可以防止别人把你的硬盘挂到别的机器上以读出里面的数据。记住要给文件夹也使用EFS,而不仅仅是单个的文件。 有关EFS的具体信息可以查看
http://www.microsoft.com/windows2000/techinfo/howitworks/security/encrypt.asp
注意:建议加密temp文件夹!因为一些应用程序在安装和升级的时候,会把一些东西拷贝到temp文件夹,但是当程序升级完毕或关闭的时候,它们并不会自己清除temp文件夹的内容。所以,给temp文件夹加密可以给你的文件多一层保护。

2.组件的定制

不要按Win 2000的默认安装组件,根据安全原则“最少的服务+最小的权限=最大的安全”,只选择确实需要的服务安装即可。典型Web服务器需要的最小组件是:
公用文件、Internet 服务管理器、WWW服务器。

3.接入网络时间

在安装完成Win 2000**作系统时,不要立即把服务器接入网络,因为这时的服务器还没有打上各种补丁,存在各种漏洞,非常容易感染病毒和被入侵。补丁的安装应该在所有应用程序安装完之后,因为补丁程序往往要替换或修改某些系统文件,如果先安装补丁再安装应用程序有可能导致补丁不能起到应有的效果。IIS的HotFix要求每次更改IIS的配置时都需要重新安装。

4.账户安全管理

1账户要尽可能少,并且要经常用一些扫描工具检查系统账户、账户权限及密码。删除已经不再使用的账户。2停用Guest账号,并给Guest 加一个复杂的密码。3把系统Administrator账号改名,尽量把它伪装成普通用户,名称不要带有Admin字样。 4不让系统显示上次登录的用户名,具体**作如下: 修改注册表“HKLM\Software\Microsoft\ WindowsNT\ Current Version\Winlogon\Dont Display Last User Name”的键值,把REG_SZ 的键值改成1。

5.安全审核

在“管理工具→远程控制服务配置→连接”处,右键点击“RPD-TCP”连接,选择“属性”,在其窗口选中“权限”,点击右下角的“高级”,选择“审核”,增加一个“everyone”组,审核它的“连接”、“断开”、“注销”和“登录”的成功和失败。在“管理工具→日记查看→安全日记”可看到该审核记录。

开启安全审核是win2000最基本的入侵检测方法。当有人尝试对你的系统进行某些方式(如尝试用户密码,改变帐户策略,未经许可的文件访问等等)入侵的时候,都会被安全审核记录下来。很多的管理员在系统被入侵了几个月都不知道,直到系统遭到破坏。下面的这些审核是必须开启的,其他的可以根据需要增加:
策略 设置
审核系统登陆事件 成功,失败
审核帐户管理 成功,失败
审核登陆事件 成功,失败
审核对象访问 成功
审核策略更改 成功,失败
审核特权使用 成功,失败
审核系统事件 成功,失败
 

6.卸载无用的组件模块

\Winnt\inf 下的sysoc.inf 文件中的所有hide用替换法删除;然后在控制面板的添加删除程序中就可以卸载所有不需要的组件。

二、基本系统设置

1.安装各种补丁

安装Service Pack 和最新的hotfix;安装SQL和IIS系列补丁。
如果从本地备份中安装,则随后必须立即通过在线更新功能查验是否有遗漏的补丁没有安装。
建议启用系统自动更新功能,并设置为有更新时自动下载安装。

注意:建议记得安装最新的MDAC(http://www.microsoft.com/data/download.htm)
   MDAC为数据访问部件,通常程序对数据库的访问都通过它,但它也是黑客攻击的目标,且MDAC一般不以补丁形式发放的,比较容易漏更新。为防止以前版本的漏洞可能会被带入升级后的版本,建议卸载后安装最新的版本。注意:在安装最新版本前最好先做一下测试,因为有的数据访问方式或许在新版本中不再被支持,这种情况下可以通过修改注册表来档漏洞,详见漏洞测试文档。

2.分区内容规划

1操作系统、Web主目录、日志分别安装在不同的分区。2关闭任何分区的自动运行特性:可以使用 TweakUI 等工具进行修改。以防万一有人放入Autorun程序实现恶意代码自动加载。

3.协议管理

卸载不需要的协议,比如IPX/SPX, NetBIOS;在连接属性对话框的TCP)/IP属性的高级选项卡中,选择“WINS”,选定“禁用TCP/IP上的NETBIOS”。

4.关闭所有以下不需要的服务

以下仅供参考,具体还要看服务器上运行的应用来确定!要特别注意各服务之间的储存关系,个性为当可能导致某些功能的异常,甚至服务器不能工作!建议每次只个性两三个项目,重启测试无误后再设置其他项目!* Alerter (disable) * ClipBook Server (disable)* Computer Browser (disable)* DHCP Client (disable)* Directory Replicator (disable)* FTP publishing service (disable)* License Logging Service (disable)* Messenger (disable)* Netlogon (disable)* Network DDE (disable)* Network DDE DSDM (disable)* Network Monitor (disable)**** Plug and Play (disable after all hardware configuration)***** Remote Access Server (disable)* Remote Procedure Call (RPC) locater (disable)* Schedule (disable)* Server (disable)* Simple Services (disable)* Spooler (disable)* TCP/IP Netbios Helper (disable)* ***Telephone Service (disable)****在必要时禁止如下服务:* SNMP service (optional)* SNMP trap (optional)* UPS (optional设置如下服务为自动启动:* Eventlog ( required )* NT LM Security Provider (required)* RPC service (required)* WWW (required)* Workstation (leave service on: will be disabled later in the document.* MSDTC (required)* Protected Storage (required)

5.删除 OS/2 和 POSIX 子系统:

删除如下目录的任何键:HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\OS/2 Subsystem for NT删除如下的键:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Os2LibPath删除如下的键:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems\OptionalHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems\PosixHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems\Os2删除如下目录:c:\winnt\system32\os2 但会出现文件保护的提示,建议不删除,修改注册表就可以了

6.帐号和密码策略

1保证禁止guest帐号 2将administrator改名为比较难猜的帐号 3密码唯一性:记录上次的 6 密码 4 最短密码期限:2 5 密码最长期限:42 6 最短密码长度:8 7 密码复杂化(passfilt.dll):启用 8 用户必须登录方能更改密码:启用 9 帐号失败登录锁定的门限:6 10锁定后重新启用的时间间隔:720分钟 11本地安全策略:设置“本地安全策略→本地策略→选项”中的RestrictAnonymous(匿名连接的额外限制)为“不容许枚举SAM账号和共享”。在安全选项中,不显示上次登录用户名、重命名管理员账号名称(某些情况下可能导致个别程序运行异常!);在用户权力指派中,限制更改系统时间、关闭系统的权力仅管理员。

7.设置文件和目录权限

C:\winnt, C:\winnt\config, C:\winnt\system32, C:\winnt\system等目录的访问权限做限制,限制everyone的写权限,限制users组的读写权限;将各分区的根目录的everyone从权限列表中删除!然后分别添加Administrators、PowerUsers、Users、IUSR_***以不同的权限。不要给Guests任何权限。运行Sfc /enable 启动文件保护机制。
 

8.注册表一些条目的修改

1 去除logon对话框中的shutdown按钮将HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\
中 ShutdownWithoutLogon REG_SZ 值设为0 2去除logon信息的cashing功能将HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\Winlogon\中CachedLogonsCount REG_SZ 值设为0 3隐藏上次登陆的用户名将HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\Winlogon\中DontDisplayLastUserName REG_SZ 值设为1 4限制LSA匿名访问将HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA中RestricAnonymous REG_DWORD 值设为1 5去除所有网络共享将HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer\Parameters\中AutoShareServer REG_DWORD 值设为0再创建一个AutoShareWks双字节值,设置为0(注意大小写)。 6禁止建立空连接默认情况下,任何用户可通过空连接连上服务器,枚举账号并猜测密码。可以通过以下两种方法禁止建立空连接。Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值改成1 7修改终端服务的默认端口终端服务的默认端口为3389,可考虑修改为别的端口。修改方法为: 打开注册表,在“HKLM\SYSTEM\Current ControlSet\Control\Terminal Server\Win Stations”处找到类似RDP-TCP的子键,修改PortNumber值。

9.启用TCP/IP过滤

只允许TCP端口80和443(如果使用SSL)以及其他可能要用的端口;不允许UDP端口;只允许IP Protocol 6 (TCP)。
web服务器就可以,其他如域服务器不行,该规范主要针对WEB服务器。

10.移动部分重要文件并加访问控制

创建一个只有系统管理员能够访问的目录,将system32目录下的一些重要文件移动到此目录(注意同时处理System32\Dllcache目录中的同名文件!)。但有时会因系统文件保护功能被启用而无法实现顺利删除。变通办法是选中这些文件,然后禁止任何人访问。为稳妥起见,应当事先将这些文件存放到其他比较安全的位置供管理员自己使用。xcopy.exe, wscript.exe, cscript.exe, net.exe, ftp.exe, telnet.exe,arp.exe, edlin.exe,ping.exe,route.exe,at.exe,finger.exe,posix.exe,rsh.exe,atsvc.exe, qbasic.exe,runonce.exe,syskey.exe,cacls.exe, ipconfig.exe, rcp.exe, secfixup.exe, nbtstat.exe, rdisk.exe, debug.exe, regedt32.exe, regedit.exe, edit.com, netstat.exe, tracert.exe, nslookup.exe, rexec.exe, cmd.exe

11.下载Hisecweb.inf安全模板来配置系统

Http://download.microsoft.com/downl...US/hisecweb.exe该模板配置基本的 Windows 2000 系统安全策略。将该模板复制到 %windir%\security\templates 目录。打开“安全模板”工具,查看这些设置。打开“安全配置和分析”工具,然后装载该模板。右键单击“安全配置和分析”工具,然后从上下文菜单中选择“立即分析计算机”。 等候操作完成。查看结果,如有必要就更新该模板。右键单击“安全配置和分析”工具,然后从上下文菜单中选择“立即配置计算机”。

12. 服务器上其他工具程序的替代

浏览器建议使用FireFox,以免最新的针对IE的漏洞造成的危害。平时尽量不在服务器上上网。

13.设置陷阱脚本

既要防范被人启用Telnet服务,又要考虑万一被入侵后的对策。除Telnet服务外,对System32目录下的Telsrv.exe等文件设置访问权限;关闭相关服务;然后再编辑System32\login.cmd文件,在其中添加脚本,目的是导致对方登录后出现异常,无法正常连接和工作。脚本的内容可以自由发挥,以阻断对方操作为准。

14.取消部分危险文件扩展名

reg VBS VBE JS等。

关闭445端口

445端口惹出了不少问题 关闭方法 修改注册表,添加一个键值
Hive: HKEY_LOCAL_MACHINE
Key: System\CurrentControlSet\Services\NetBT\Parameters
Name: SMBDeviceEnabled
Type: REG_DWORD
value: 0
修改完后重启机器,运行“netstat -an”,445端口已经不再Listening了。

关闭 DirectDraw

这是C2级安全标准对视频卡和内存的要求。关闭DirectDraw可能对一些需要用到DirectX的程序有影响(比如游戏,在服务器上玩星际争霸?我晕..$%$^%^&??),但是对于绝大多数的商业站点都应该是没有影响的。 修改注册表 HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\DCI 的Timeout(REG_DWORD)为 0 即可。

禁止dump file的产生和自动清除掉页面文件

dump文件在系统崩溃和蓝屏的时候是一份很有用的查找问题的资料(不然我就照字面意思翻译成垃圾文件了)。然而,它也能够给黑客提供一些敏感信息比如一些应用程序的密码等。要禁止它,打开 控制面板>系统属性>高级>启动和故障恢复 把 写入调试信息 改成无。要用的时候,可以再重新打开它。
关机时清除掉页面文件:
页面文件也就是调度文件,是win2000用来存储没有装入内存的程序和数据文件部分的隐藏文件。一些第三方的程序可以把一些没有的加密的密码存在内存中,页面文件中也可能含有另外一些敏感的资料。 要在关机的时候清楚页面文件,可以编辑注册表
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
把ClearPageFileAtShutdown的值设置成1。

禁止从软盘和CD Rom启动系统

一些第三方的工具能通过引导系统来绕过原有的安全机制。如果你的服务器对安全要求非常高,可以考虑使用可移动软盘和光驱。把机箱锁起来仍不失为一个好方法。

锁住注册表的访问权限

windows2000中,只有administrators和Backup Operators才有从网络上访问注册表的权限。如果你觉得还不够的话,可以进一步设定注册表访问权限,详细信息请参考:
http://support.microsoft.com/support/kb/articles/Q153/1/83.asp

考虑使用IPSec增强IP数据包的安全性

正如其名字的含义,IPSec 提供 IP 数据包的安全性。IPSec 提供身份验证、完整性和选择的机密性。发送方计算机在传输之前加密数据,而接收方计算机在收到数据之后解密数据。利用IPSec可以使得系统的安全性能大大增强。有关IPSes的详细信息可以参考: http://www.microsoft.com/china/technet/security/ipsecloc.asp
 

考虑使用智能卡来代替密码

对于密码,总是使安全管理员进退两难,容易受到 10phtcrack 等工具的攻击,如果密码太复杂,用户把为了记住密码,会把密码到处乱写。如果条件允许,用智能卡来代替复杂的密码是一个很好的解决方法。

将服务器隐藏起来

  为了防止黑客或其他非法攻击者轻易搜索到局域网服务器的名字,你可以巧妙使用“net config”命令,将服务器的名称暂时隐藏起来。如此一来局域网中的非法用户,即使通过网上邻居窗口,也无法找到服务器的“身影”了,服务器遭受外来攻击的危险性将会大大下降。

   要用命令隐藏服务器的名称时,可以直接在DOS命令行中输入“net config server /hidden:yes”(其中server是服务器的计算机名称),回车后,服务器的计算机名称就会从网上邻居窗口中自动消失,这样黑客就无法知道服务器的名称是什么了,更不要谈如何去攻击它了。

Win 2003中提高FSO的安全性

  ASP提供了强大的文件系统访问能力,可以对服务器硬盘上的任何文件进行读、写、复制、删除、改名等操作,这给学校网站的安全带来巨大的威胁。现在很多校园主机都遭受过FSO木马的侵扰。但是禁用FSO组件后,引起的后果就是所有利用这个组件的ASP程序将无法运行,无法满足客户的需求。如何既允许FileSystemObject组件,又不影响服务器的安全性呢(即:不同虚拟主机用户之间不能使用该组件读写别人的文件)?以下是笔者多年来摸索出来的经验:

   第一步是有别于Windows 2000设置的关键:右击C盘,点击“共享与安全”,在出现在对话框中选择“安全”选项卡,将Everyone、Users组删除,删除后如果你的网站连ASP程序都不能运行,请添加IIS_WPG组,并重启计算机。
   经过这样设计后,FSO木马就已经不能运行了。如果你要进行更安全级别的设置,请分别对各个磁盘分区进行如上设置,并为各个站点设置不同匿名访问用户。下面以实例来介绍(假设你的主机上E盘Abc文件夹下设Abc.com站点):
   1. 打开“计算机管理→本地用户和组→用户”,创建Abc用户,并设置密码,并将“用户下次登录时须更改密码”前的对号去掉,选中“用户不能更改密码”和“密码永不过期”,并把用户设置为隶属于Guests组。
   2. 右击E:\Abc,选择“属性→安全”选项卡,此时可以看到该文件夹的默认安全设置是“Everyone”完全控制(视不同情况显示的内容不完全一样),删除Everyone的完全控制(如果不能删除,请点击[高级]按钮,将“允许父项的继承权限传播”前面的对号去掉,并删除所有),添加Administrators及Abc用户对本网站目录的所有安全权限。

   3. 打开IIS管理器,右击Abc.com主机名,在弹出的菜单中选择“属性→目录安全性”选项卡,点击身份验证和访问控制的[编辑],弹出图2所示对话框,匿名访问用户默认的就是“IUSR_机器名”,点击[浏览],在“选择用户”对话框中找到前面创建的Abc账户,确定后重复输入密码。
   经过这样设置,访问网站的用户就以Abc账户匿名身份访问E:\Abc文件夹的站点,因为Abc账户只对此文件夹有安全权限,所以他只能在本文件夹下使用FSO。

   常见问题:

   如何解除FSO上传程序小于200k限制?

   先在服务里关闭IIS admin service服务,找到Windows\System32\Inesrv目录下的Metabase.xml并打开,找到ASPMaxRequestEntityAllowed,将其修改为需要的值。默认为204800,即200K,把它修改为51200000(50M),然后重启IIS admin service服务。

  

<chmetcnv u1:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="5" unitname="C"></chmetcnv><chmetcnv u1:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="0" unitname="”"></chmetcnv><chmetcnv u1:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="1" unitname="”"></chmetcnv>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值