windows2003 IIS6.0的设置的几点经验

一、系统设置

1、启用asp支持

windows Server 2003 默认安装,是不安装 IIS6的,需要另外安装。安装完 IIS6,还需要单独开启对于 asp 的支持。

第一步,启用asp,进入:

控制面板 -> 管理工具 ->IIS(Internet 服务器)- Web服务扩展 -> Active Server Pages -> 允许,在服务端的包含文件 -> 允许

第二步,启用父路径支持。

IIS-网站-主目录-配置-选项-启用父路径

第三步,权限分配

IIS-网站-(具体站点)-(右键)权限-设置相应的权限(匿名访问的帐号要有读、写、列出的权限,一般情况下此帐号隶属于Guests组)

2、解决windows2003最大只能上载200K的限制。

先在服务里关闭IIS admin service服务,找到windows/system32/inesrv/下的metabase.xml,打开,找到aspMaxRequestEntityAllowed 把他修改为需要的值,然后重启IIS admin service服务

a、在web服务扩展 允许 active server pages和在服务器端的包含文件

b、修改各站点的属性------主目录-配置-选项-启用父路径

c、使之可以上传大于 200k的文件(修改成您要的大小就可以了,如在后面补两个0,就允许20m了)

c:/WINDOWS/system32/inetsrv/MetaBase.xml(企业版的windows2003在第592行,默认为 AspMaxRequestEntityAllowed="204800" 即200K将其加两个0,即改为,现在最大就可以上载20M了。aspMaxRequestEntityAllowed="20480000"希望对你有用

3、配置匿名身份验证

要配置匿名身份验证,请按以下步骤操作:

a. 单击开始,指向管理工具,然后单击Internet 信息服务 (IIS)。

b. 展开“* 服务器名称”(其中服务器名称 为该服务器的名称),右键单击Web 站点,然后单击属性。

c. 在Web 站点属性 对话框中,单击目录安全性 选项卡。

d. 在“身份验证和访问控制”下,单击编辑。

e. 单击“启用匿名访问”复选框,将其选中。

备注:“用户名”框中的用户帐户只用于通过 windows guests 帐户进行匿名访问。

默认情况下,服务器会创建并使用帐户 IUSR_computername。匿名用户帐户密码仅在 windows 中使用;匿名用户不使用用户名和密码登录。

f. 在“已验证身份的访问”下,单击“集成的 windows 身份验证”复选框,将其选中。

g. 单击确定 两次。

4、基本 Web 站点配置

a) 单击开始,指向管理工具,然后单击Internet 信息服务 (IIS)。

b) 展开“* 服务器名称”(其中服务器名称 为该服务器的名称),然后展开Web 站点。

c)右键单击默认 Web 站点,然后单击[属性]。

d) 单击[Web 站点]选项卡。如果您已为计算机分配了多个 IP 地址,则请在IP 地址 框中单击您要指定给此 Web 站点的 IP 地址。

e)单击[性能]选项卡。使用[Web 站点属性] – [性能] 对话框可设置影响内存、带宽使用和 Web 连接数量的属性。

通过配置某个特定站点上的网络带宽,您可以更好地控制该站点的通信量。例如,通过在低优先级的 Web 站点上限制带宽,您可以放宽对他站点的访问量的限制。同样,当您指定到某个 Web 站点的连接数量时,您就可以为其他站点释放资源。设置是站点专用的,应根据网络通信量和使用变化情况进行调整。

单击“限制可用于此 Web 站点的带宽”复选框,将其选中,可配置 IIS 将网络带宽调节到选定的最大带宽量,以千字节每秒 (KB/S) 为单位。

单击Web 服务连接复选框,将其选中,可选择特定数目或者不限定数目的 Web 服务连接。限制连接可使计算机资源能够用于其他进程。

备注:每个浏览 Web 站点的客户机通常都使用大约三个连接。

二、安全设置

  需要对你的服务器做出安全设置控制,用win2003系统来说下具体安全设置如下:

  1、服务器硬盘权限

  这里着重谈需要的权限,也就是最终文件夹或硬盘需要的权限,可以防御各种木马入侵,提权攻击,跨站攻击等。本实例经过多次试验,安全性能很好,服务器基本没有被木马威胁的担忧了。

  硬盘或文件夹: C:/ D:/ E:/ F:/ 类推

  主要权限部分:

  Administrators 完全控制 无

  该文件夹,子文件夹及文件

  <不是继承的>

  SYSTEM 完全控制

  该文件夹,子文件夹及文件

<不是继承的>

IUSR_computername

<Webroot目录>读、写、列出的权限

  其他权限部分:

如果安装了其他运行环境,比如PHP等,则根据PHP的环境功能要求来设置硬盘权限,一般是安装目录加上users读取运行权限就足够了,比如c:/php的话,就在根目录权限继承的情况下加上users读取运行权限,需要写入数据的比如tmp文件夹,则把users的写删权限加上,运行权限不要,然后把虚拟主机用户的读权限拒绝即可。如果是mysql的话,用一个独立用户运行MYSQL会更安全,下面会有介绍。如果是winwebmail,则最好建立独立的应用程序池和独立IIS用户,然后整个安装目录有users用户的读/运行/写/权限,IIS用户则相同,这个IIS用户就只用在winwebmail的WEB访问中,其他IIS站点切勿使用硬盘设置需要根据你的实际需要来设置权限!

  2、系统服务篇(设置完毕需要重新启动)

  *除非特殊情况非开不可,下列系统服务要停止并禁用:

a、Alerter

b、Application Layer Gateway Service

c、Background Intelligent Transfer Service

d、Computer Browser

e、Distributed File System

f、Help and Support

g、Messenger

h、NetMeeting Remote Desktop Sharing

i、Print Spooler

j、Remote Registry

k、Task Scheduler

l、TCP/IP NetBIOS Helper

m、Telnet

n、Workstation

以上是windows2003server标准服务当中需要停止的服务,作为IIS网络服务器,以上服务务必要停止,如果需要SSL证书服务,则设置方法不同。如果你装有虚拟主机系统,设置当然也不一样!更详细设置可以根据自己的需要找更详细的参考资料。

  

  3、组件安全设置篇 (非常重要!!!)

  a、卸载WScript.Shell 和 Shell.application 组件,将下面的代码保存为一个.BAT文件执行(分2000和2003系统)

  win2000

  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

  win2003

  regsvr32/u C:/WINDOWS/System32/wshom.ocx

  del C:/WINDOWS/System32/wshom.ocx

  regsvr32/u C:/WINDOWS/system32/shell32.dll

del C:/WINDOWS/system32/shell32.dll



  b、改名不安全组件,需要注意的是组件的名称和Clsid都要改,并且要改彻底了,不要照抄,要自己改

  【开始→运行→regedit→回车】打开注册表编辑器

然后【编辑→查找→填写Shell.application→查找下一个】用这个方法能找到两个注册表项:

 {13709620-C279-11CE-A49E-444553540000} 和 Shell.application 。

 第一步:为了确保万无一失,把这两个注册表项导出来,保存为xxxx.reg 文件。

第二步:比如我们想做这样的更改

13709620-C279-11CE-A49E-444553540000

改名为 13709620-C279-11CE-A49E-444553540001

  Shell.application 改名为 Shell.application_nohack

  第三步:那么,就把刚才导出的.reg文件里的内容按上面的对应关系替换掉,然后把修改好的.reg文件导入到注册表中(双击即可),导入了改名后的注册表项之后,别忘记了删除原有的那两个项目。这里需要注意一点,Clsid中只能是十个数字和ABCDEF六个字母。

  其实,只要把对应注册表项导出来备份,然后直接改键名就可以了。

WScript.Shell 和 Shell.application 组件是脚本入侵过程中,提升权限的重要环节,这两个组件的卸载和修改对应注册键名,可以很大程度的提高虚拟主机的脚本安全性能,一般来说,ASP和php类脚本提升权限的功能是无法实现了,再加上一些系统服务、硬盘访问权限、端口过滤、本地安全策略的设置,虚拟主机因该说,安全性能有非常大的提高,黑客入侵的可能性是非常低了。注销了Shell组件之后,侵入者运行提升工具的可能性就很小了,但是prel等别的脚本语言也有shell能力,为防万一,还是设置一下为好。下面是另外一种设置,大同小异。

c、禁止Guest用户使用WScript.Shell 和 Shell.application来防止调用此组件

cacls C:/WINNT/system32/wshom.ocx /e /d Guests

cacls C:/WINNT/system32/shell32.dll /e /d Guests

  d、禁止使用FileSystemObject组件

  FileSystemObject可以对文件进行常规操作,可以通过修改注册表,将此组件改名,来防止此类木马的危害。

  HKEY_CLASSES_ROOT/Scripting.FileSystemObject/

  改名为其它的名字,如:改为 FileSystemObject_ChangeName

  自己以后调用的时候使用这个就可以正常调用此组件了

  也要将clsid值也改一下

  HKEY_CLASSES_ROOT/Scripting.FileSystemObject/CLSID/项目的值

  也可以将其删除,来防止此类木马的危害。

  2000注销此组件命令:RegSvr32 /u C:/WINNT/SYSTEM/scrrun.dll

  2003注销此组件命令:RegSvr32 /u C:/WINDOWS/SYSTEM/scrrun.dll

  禁止Guest用户使用scrrun.dll来防止调用此组件

使用这个命令:cacls C:/WINNT/system32/scrrun.dll /e /d Guests

  注:操作均需要重新启动WEB服务后才会生效

  

  d、禁用Guests组用户调用cmd.exe

  

  2000使用命令:cacls C:/WINNT/system32/cmd.exe /e /d Guests

  2003使用命令:cacls C:/WINDOWS/system32/cmd.exe /e /d Guests

  

通过以上的设置基本可以防范目前比较流行的几种木马,但最有效的办法还是通过综合安全设置,将服务器、程序安全都达到一定标准,才可能将安全等级设置较高,防范更多非法入侵。

 

  4、服务器安全和性能配置

把下面文本保存为: windows2000-2003服务器安全和性能注册表自动配置文件.reg 运行即可。

[HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Policies/Explorer]

  "NoRecentDocsMenu"=hex:01,00,00,00

  "NoRecentDocsHistory"=hex:01,00,00,00

  

[HKEY_LOCAL_MACHINE/Software/Microsoft/WindowsNT/CurrentVersion/Winlogon]

"DontDisplayLastUserName"="1"

[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa]

  "restrictanonymous"=dword:00000001

  

  [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/lanmanserver/Parameters]

  "AutoShareServer"=dword:00000000

  "AutoShareWks"=dword:00000000

  

  [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters]

  "EnableICMPRedirect"=dword:00000000

  "KeepAliveTime"=dword:000927c0

  "SynAttackProtect"=dword:00000002

  "TcpMaxHalfOpen"=dword:000001f4

  "TcpMaxHalfOpenRetried"=dword:00000190

  "TcpMaxConnectResponseRetransmissions"=dword:00000001

  "TcpMaxDataRetransmissions"=dword:00000003

  "TCPMaxPortsExhausted"=dword:00000005

  "DisableIPSourceRouting"=dword:00000002

  "TcpTimedWaitDelay"=dword:0000001e

  "TcpNumConnections"=dword:00004e20

  "EnablePMTUDiscovery"=dword:00000000

  "NoNameReleaseOnDemand"=dword:00000001

  "EnableDeadGWDetect"=dword:00000000

  "PerformRouterDiscovery"=dword:00000000

  "EnableICMPRedirects"=dword:00000000

  

  [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/NetBT/Parameters]

  "BacklogIncrement"=dword:00000005

  "MaxConnBackLog"=dword:000007d0

  

  [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/AFD/Parameters]

  "EnableDynamicBacklog"=dword:00000001

  "MinimumDynamicBacklog"=dword:00000014

  "MaximumDynamicBacklog"=dword:00007530

  "DynamicBacklogGrowthDelta"=dword:0000000a

功能:可抵御DDOS攻击2-3万包,提高服务器TCP-IP整体安全性能(效果等于软件防火墙,节约了系统资源)

  5、本地安全策略设置

  安全策略自动更新命令:gpupdate /force (应用组策略自动生效不需重新启动)

  开始菜单—>管理工具—>本地安全策略

  a、本地策略——>审核策略

  审核策略更改成功 失败

  审核登录事件成功 失败

  审核对象访问失败

  审核过程跟踪无审核

  审核目录服务访问失败

  审核特权使用失败

  审核系统事件成功 失败

  审核账户登录事件成功 失败

审核账户管理 成功 失败

  b、本地策略——>用户权限分配

  关闭系统:只有Administrators组、其它全部删除。

  通过终端服务拒绝登陆:加入Guests、User组

  通过终端服务允许登陆:只加入Administrators组,其他全部删除

  

  c、本地策略——>安全选项

  交互式登陆:不显示上次的用户名 启用

  网络访问:不允许SAM帐户和共享的匿名枚举 启用

  网络访问:不允许为网络身份验证储存凭证 启用

  网络访问:可匿名访问的共享 全部删除

  网络访问:可匿名访问的命 全部删除

  网络访问:可远程访问的注册表路径 全部删除

  网络访问:可远程访问的注册表路径和子路径 全部删除

  帐户:重命名来宾帐户 重命名一个帐户

帐户:重命名系统管理员帐户 重命名一个帐户

d、管理账户

账户策略-账户锁定策略,将账户设为“三次登陆无效”,“锁定时间为30分钟”,“复位锁定计数设为30分钟”。

在安全设置-本地策略-安全选项中将“不显示上次的用户名”设为启用

在安全设置-本地策略-用户权利分配中将“从网络访问此计算机”中只保留Internet来宾账户、启动IIS进程账户。如果你使用了Asp.net还要保留Aspnet账户。

创建一个User账户,运行系统,如果要运行特权命令使用Runas命令。

6、配置 IIS 服务:

a、不使用默认的Web站点,如果使用也要将将IIS目录与系统磁盘分开。

b、删除IIS默认创建的Inetpub目录(在安装系统的盘上)。

c、删除系统盘下的虚拟目录,如:_vti_bin、IISSamples、Scripts、IIShelp、IISAdmin、IIShelp、MSADC。

d、删除不必要的IIS扩展名映射。

右键单击“默认Web站点→属性→主目录→配置”,打开应用程序窗口,去掉不必要的应用程序映射。主要为.shtml, .shtm, .stm

e、更改IIS日志的路径

右键单击“默认Web站点→属性-网站-在启用日志记录下点击属性

7、配置Sql服务器

a、System Administrators 角色最好不要超过两个

b、如果是在本机最好将身份验证配置为Win登陆

c、不要使用Sa账户,为其配置一个超级复杂的密码

d、隐藏 SQL Server、更改默认的1433端口

右击实例选属性-常规-网络配置中选择TCP/IP协议的属性,选择隐藏 SQL Server 实例,并改原默认的1433端口。

8、安装杀毒软件

可以安装360杀毒软件和360安全助手

你可能感兴趣的:(windows)