IIS服务器.docx
《IIS服务器.docx》由会员分享,可在线阅读,更多相关《IIS服务器.docx(81页珍藏版)》请在冰豆网上搜索。
IIS服务器
IIS安全设置
1.关闭并删除默认站点
默认FTP站点
默认Web站点
管理Web站点
2.建立自己的站点,与系统不在一个分区
如:
D:
\wwwroot3.建立E:
\Logfiles目录,以后建立站点时的日志文件均位于此目录,确保此目录上的访问控制权限是:
Administrators(完全控制)System(完全控制)
3.删除IIS的部分目录
IISHelpC:
\winnt\help\iishelp
IISAdminC:
\system32\inetsrv\iisadmin
MSADCC:
\ProgramFiles\CommonFiles\System\msadc\
删除C:
\\inetpub
4.删除不必要的IIS映射和扩展
IIS被预先配置为支持常用的文件名扩展如.asp和.shtm文件。
IIS接收到这些类型的文件
请求时,该调用由DLL处理。
如果您不使用其中的某些扩展或功能,则应删除该映射,步骤如下:
打开Internet服务管理器:
选择计算机名,点鼠标右键,选择属性:
然后选择编辑
然后选择主目录,点击配置
选择扩展名\".htw\",\".htr\",\".idc\",\".ida\",\".idq\"和,点击删除
如果不使用serversideinclude,则删除\".shtm\"\".stm\"和\".shtml\"
5.禁用父路径(有可能导致某些使用相对路径的子页面不能打开)
“父路径”选项允许您在对诸如MapPath函数调用中使用“..”。
在默认情况下,该选项
处于启用状态,应该禁用它。
禁用该选项的步骤如下:
右键单击该Web站点的根,然后从上下文菜单中选择“属性”。
单击“主目录”选项卡。
单击“配置”。
单击“应用程序选项”选项卡。
取消选择“启用父路径”复选框。
6.在虚拟目录上设置访问控制权限
主页使用的文件按照文件类型应使用不同的访问控制列表:
CGI(.exe,.dll,.cmd,.pl)
Everyone(X)
Administrators(完全控制)
System(完全控制)
脚本文件(.asp)
Everyone(X)
Administrators(完全控制)
System(完全控制)
include文件(.inc,.shtm,.shtml)
Everyone(X)
Administrators(完全控制)
System(完全控制)
静态内容(.txt,.gif,.jpg,.html)
Everyone(R)
Administrators(完全控制)
System(完全控制)
在创建Web站点时,没有必要在每个文件上设置访问控制权限,应该为每个文件类型创建一个
新目录,然后在每个目录上设置访问控制权限、允许访问控制权限传给各个文件。
例如,目录结构可为以下形式:
D:
\wwwroot\myserver\static(.html)
D:
\wwwroot\myserver\include(.inc)
D:
\wwwroot\myserver\script(.asp)
D:
\wwwroot\myserver\executable(.dll)
D:
\wwwroot\myserver\images(.gif,.jpeg)
7.启用日志记录
1)日志的审核配置
确定服务器是否被攻击时,日志记录是极其重要的。
应使用W3C扩展日志记录格式,步骤如下:
打开Internet服务管理器:
右键单击站点,然后从上下文菜单中选择“属性”。
单击“Web站点”选项卡。
选中“启用日志记录”复选框。
从“活动日志格式”下拉列表中选择“W3C扩展日志文件格式”。
单击“属性”。
单击“扩展属性”选项卡,然后设置以下属性:
*客户IP地址
*用户名
*方法
*URI资源
*HTTP状态
*Win32状态
*用户代理
*服务器IP地址
*服务器端口
2)日志的安全管理
1、启用操作系统组策略中的审核功能,对关键事件进行审核记录;
2、启用IIS、FTP服务器等服务本身的日志功能;并对所有日志存放的默认位置进行更改同时作好文件夹权限设置!
3、安装Portreport对所有网络访问操作进行监视(可选,可能增大服务器负荷);
4、安装自动备份工具,定时对上述日志进行异地备份,起码是在其他分区的隐蔽位置进行备份,并对备份目录设置好权限(仅管理员可访问)。
5、准备一款日志分析工具,以便随时可用。
6、要特别关注任何服务的重启、访问敏感的扩展存储过程等事件。
8.备份IIS配置
可使用IIS的备份功能,将设定好的IIS配置全部备份下来,这样就可以随时恢复
9.修改IIS标志
1)使用工具程序修改IIS标志
修改IIS标志Banner的方法:
下载一个修改IISBanner显示信息的软件——IIS/PWSBannerEdit。
利用它我们可以很轻松地修改IIS的Banner。
但要注意在修改之前我们首先要将IIS停止(最好是在服务中将WorldWideWebPublishing停止),并要将DLLcache下的文件全部清除。
否则你会发现即使修改了一点改变也没有。
IIS/PWSBannerEdit其实是个傻瓜级的软件,我们只要直接在NewBanner中输入想要的Banner信息,再点击Savetofile就修改成功了。
用IIS/PWSBannerEdit简单地修改,对菜鸟黑客来说他可能已被假的信息迷惑了,可是对一些高手来说这并没有给他们造成什么麻烦。
为此我们必须亲自修改IIS的Banner信息,这样才能做到万无一失。
高版本Windows的文件路径为C:
\WINDOWS\system32\inetsrv\w3svc.dll,可以直接用Ultraedit打开W3SVC.DLL,然后以“Server:
”为关键字查找。
利用编辑器将原来的内容替换成我们想要的信息,比如改成Apache的显示信息,这样入侵者就无法判断我们的主机类型,也就无从选择溢出工具了。
2)修改IIS的默认出错提示信息等。
四、数据及备份管理
1.备份
1)要经常把重要数据备份到专用的备份服务器,备份完毕后,可将备份服务器与网络隔离。
可采用自动的备份工具进行,要求支持FTP方式备份。
2)使用系统的备份功能对安装好的系统进行阶段性备份。
3)使用WonRescue等工具对注册表进行阶段性备份。
4)使用Ghost对全面配置完毕的系统分区进行映像备份,并存放到隐藏的分区中。
2.设置文件共享权限
1)限制共享权限
设置共享文件时,要注意把共享文件的权限从“everyone”组改成“授权用户”,包括打印共享。
2)关闭默认共享
Win2000安装好以后,系统会创建一些隐藏的共享,在cmd下可用netshare命令查看它们。
要禁止这些共享。
**作方法是:
打开“管理工具→计算机管理→共享文件夹→共享”,在相应的共享文件夹上按右键,点“停止共享”即可。
不当过机器重新启动后,这些共享又会重新开启。
3.防止文件名欺骗
设置以下选项可防止文件名欺骗,如防止以.txt或.exe为后缀的恶意文件被显示为.txt文件,从而使
人大意打开该文件:
双击“我的电脑→工具→文件夹选项→查看”,选择“显示所有文件和文件夹”属性
设置,去掉“隐藏已知文件类型扩展名”属性设置。
4.Access数据库的安全概要
1)新生成的数据库在保证干净的前提下,主动在尾部合并一行ASP代码,内容一般可以为重定向,以免费别人通过论坛发帖等方式嵌入有害代码后被得到执行;
2)对MDB文件创建一个无效的映射,以便在IE中下载时出错;
3)修改出错页面,建议将出错页面设计为正常被曝库后的内容,但给一个数据库的虚假地址(最好存在相应的虚假数据库文件,比如一个改名后的病毒等);
4)在防火墙中对MDB类型的扩展名进行过滤;
5)删除或禁用网站的后台数据库备份功能,而用本地安装的专门自动备份程序进行自动增量备份。
6)ASP通用防止注入的程序:
功能简单说明:
1.自动获取页面所有参数,无需手工定义参数名.
2.提供三种错误处理方式供选择.
(1).提示信息.
(2).转向页面.
(3).提示信息,再转向页面.
3.自定义转向页面.
使用方法很简单,只需要在ASP页面头部插入代码
--#IncludeFile="Fy_SqlX.Asp"-->
包含Fy_SqlX.Asp就可以了~~简单实用
<%
DimFy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx
'---定义部份头------
Fy_Cl=1'处理方式:
1=提示信息,2=转向页面,3=先提示再转向
Fy_Zx="Error.Asp"'出错时转向的页面
OnErrorResumeNext
Fy_Url=Request.ServerVariables("QUERY_STRING")
Fy_a=split(Fy_Url,"&")
redimFy_Cs(ubound(Fy_a))
OnErrorResumeNext
forFy_x=0toubound(Fy_a)
Fy_Cs(Fy_x)=left(Fy_a(Fy_x),instr(Fy_a(Fy_x),"=")-1)
Next
ForFy_x=0toubound(Fy_Cs)
IfFy_Cs(Fy_x)<>""Then
IfInstr(LCase(Request(Fy_Cs(Fy_x))),"'")<>0orInstr(LCase(Request(Fy_Cs(Fy_x))),"and")<>0orInstr(LCase(Request(Fy_Cs(Fy_x))),"select")<>0orInstr(LCase(Request(Fy_Cs(Fy_x))),"update")<>0orInstr(LCase(Request(Fy_Cs(Fy_x))),"chr")<>0orInstr(LCase(Request(Fy_Cs(Fy_x))),"delete%20from")<>0orInstr(LCase(Request(Fy_Cs(Fy_x))),";")<>0orInstr(LCase(Request(Fy_Cs(Fy_x))),"insert")<>0orInstr(LCase(Request(Fy_Cs(Fy_x))),"mid")<>0OrInstr(LCase(Request(Fy_Cs(Fy_x))),"master.")<>0Then
SelectCaseFy_Cl
Case"1"
Response.Write"alert('出现错误!
参数"&Fy_Cs(Fy_x)&"的值中包含非法字符串!
\n\n请不要在参数中出现:
;,and,select,update,insert,delete,chr等非法字符!
');window.close();"
Case"2"
Response.Write"location.href='"&Fy_Zx&"'"
Case"3"
Response.Write"alert('出现错误!
参数"&Fy_Cs(Fy_x)&"的值中包含非法字符串!
\n\n请不要在参数中出现:
;,and,select,update,insert,delete,chr等非法字符!
');location.href='"&Fy_Zx&"';"
EndSelect
Response.End
EndIf
EndIf
Next
%>
----
组件的定制
不要按Win2000的默认安装组件,根据安全原则“最少的服务+最小的权限=最大的安全”,只选择确实需要的服务安装即可。
典型Web服务器需要的最小组件是:
公用文件、Internet服务管理器、WWW服务器。
3.接入网络时间
在安装完成Win2000**作系统时,不要立即把服务器接入网络,因为这时的服务器还没有打上各种补丁,存在各种漏洞,非常容易感染病毒和被入侵。
补丁的安装应该在所有应用程序安装完之后,因为补丁程序往往要替换或修改某些系统文件,如果先安装补丁再安装应用程序有可能导致补丁不能起到应有的效果。
IIS的HotFix要求每次更改IIS的配置时都需要重新安装。
4.账户安全管理
1)账户要尽可能少,并且要经常用一些扫描工具检查系统账户、账户权限及密码。
删除已经不再使用的账户。
2)停用Guest账号,并给Guest加一个复杂的密码。
3)把系统Administrator账号改名,尽量把它伪装成普通用户,名称不要带有Admin字样。
4)不让系统显示上次登录的用户名,具体**作如下:
修改注册表“HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon\DontDisplayLastUserName”的键值,把REG_SZ的键值改成1。
5.安全审核
在“管理工具→远程控制服务配置→连接”处,右键点击“RPD-TCP”连接,选择“属性”,在其窗口选中“权限”,点击右下角的“高级”,选择“审核”,增加一个“everyone”组,审核它的“连接”、“断开”、“注销”和“登录”的成功和失败。
在“管理工具→日记查看→安全日记”可看到该审核记录。
6.卸载无用的组件模块
将\Winnt\inf下的sysoc.inf文件中的所有hide用替换法删除;然后在控制面板的添加删除程序中就可以卸载所有不需要的组件。
二、基本系统设置
1.安装补丁
安装ServicePack和最新的hotfix;安装SQL和IIS系列补丁。
2.分区内容规划
1)操作系统、Web主目录、日志分别安装在不同的分区。
2)关闭任何分区的自动运行特性:
可以使用TweakUI等工具进行修改。
以防万一有人放入Autorun程序实现恶意代码自动加载。
3.协议管理
卸载不需要的协议,比如IPX/SPX,NetBIOS;
在连接属性对话框的TCP)/IP属性的高级选项卡中,选择“WINS”,选定“禁用TCP/IP上的NETBIOS”。
4.关闭所有以下不需要的服务
以下仅供参考,具体还要看服务器上运行的应用来确定!
要特别注意各服务之间的储存关系,个性为当可能导致某些功能的异常,甚至服务器不能工作!
建议每次只个性两三个项目,重启测试无误后再设置其他项目!
*Alerter(disable)
*ClipBookServer(disable)
*ComputerBrowser(disable)
*DHCPClient(disable)
*DirectoryReplicator(disable)
*FTPpublishingservice(disable)
*LicenseLoggingService(disable)
*Messenger(disable)
*Netlogon(disable)
*NetworkDDE(disable)
*NetworkDDEDSDM(disable)
*NetworkMonitor(disable)
****PlugandPlay(disableafterallhardwareconfiguration)****
*RemoteAccessServer(disable)
*RemoteProcedureCall(RPC)locater(disable)
*Schedule(disable)
*Server(disable)
*SimpleServices(disable)
*Spooler(disable)
*TCP/IPNetbiosHelper(disable)
****TelephoneService(disable)****
在必要时禁止如下服务:
*SNMPservice(optional)
*SNMPtrap(optional)
*UPS(optional
设置如下服务为自动启动:
*Eventlog(required)
*NTLMSecurityProvider(required)
*RPCservice(required)
*WWW(required)
*Workstation(leaveserviceon:
willbedisabledlaterinthedocument.
*MSDTC(required)
*ProtectedStorage(required)
清理系统文件:
第一招:
清除系统垃圾
在Windows在安装和使用过程中都会产生相当多的垃圾文件,包括临时文件(如:
*.tmp*._mp)日志文件(*.log)临时帮助文件(*.gid)磁盘检查文件(*.chk)临时备份文件(如:
*.old*.bak)以及其他临时文件特别是如果一段时间不清理IE的临时文件夹TemporaryInternetFiles,其中的缓存文件有时会占用上百MB的磁盘空间这些垃圾文件不仅仅浪费了宝贵的磁盘空间,严重时还会使系统运行缓慢
下面是步骤很简单就两步!
在桌面上点鼠标右键,选择新建一个记事本,把下面的字复制进去,点另存为,把文件名定为清除系统垃圾.bat就完成,记住后缀名一定要是.bat,好ok了!
你的垃圾清除器就这样制作成功了!
双击它就能很快地清理垃圾文件,大约一分钟不到
PS.要复制进去的字是见下(红色部分)
@echooff
echo正在清除系统垃圾文件,请稍等......
del/f/s/q%systemdrive%*.tmp
del/f/s/q%systemdrive%*._mp
del/f/s/q%systemdrive%*.gid
del/f/s/q%systemdrive%*.chk
del/f/s/q%systemdrive%*.old
del/f/s/q%systemdrive%recycled*.*
del/f/s/q%windir%*.bak
del/f/s/q%windir%prefetch*.*
rd/s/q%windir%temp&md%windir%temp
del/f/q%userprofile%cookies*.*
del/f/q%userprofile%recent*.*
del/f/s/q"%userprofile%LocalSettingsTemporaryInternetFiles*.*"
del/f/s/q"%userprofile%LocalSettingsTemp*.*"
del/f/s/q"%userprofile%recent*.*"
echo清除系统LJ完成!
echo.&pause
以后只要双击运行该文件,当屏幕提示清除系统LJ完成,系统就清理ok!
第二招:
清除所有多余的启动项目
此命令将自动清理所有非必要的启动项目,仅保留输入法(ctfmon)
目的是减少不必要的资源占用,使系统运行顺畅
方法如上,复制内容见下(红色部分)
@ECHOOFF
color1f
title清除所有多余的启动项目
PAUSE
regdeleteHKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun/va/f
regdeleteHKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun/va/f
regaddHKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun/vctfmon.exe/dC:
WINDOWSsystem32ctfmon.exe
regdelete"HKEY_LOCAL_MACHINESOFTWAREMicrosoftSharedToolsMSConfigstartupreg"/f
regadd"HKEY_LOCAL_MACHINESOFTWAREMicrosoftSharedToolsMSConfigstartupregIMJPMIG8.1"
regadd"HKEY_LOCAL_MACHINESOFTWAREMicrosoftSharedToolsMSConfigstartupregIMJPMIG8.1"/vcommand/d""C:
WINDOWSIMEimjp8_1IMJPMIG.EXE"/Spoil/RemAdvDef/Migration32"
regadd"HKEY_LOCAL_MACHINESOFTWAREMicrosoftSharedToolsMSConfigstartupregIMJPMIG8.1"/vhkey/dHKLM
regadd"HKEY_LOCAL_MACHINESOFTWAREMicrosoftSharedToolsMSConfigstartupregIMJPMIG8.1"/vinimapping/d0
regadd"HKEY_LOCAL_MACHINESOFTWAREMicrosoftSharedToolsMSConfigstartupregIMJPMIG8.1"/vitem/dIMJPMIG
regadd"HKEY_LOCAL_MACHINESOFTWAREMicrosoftSharedToolsMSConfigstartupregIMJPMIG8.1"/vkey/dSOFTWAREMicrosoftWindowsCurrentVersionRun
regadd"HKEY_LOCAL_MACHINESOFTWAREMicrosoftSharedToolsMSConfigstartupregPHIME2002A"
regadd"HKEY_LOCAL_MACHINESOFTWAREMicrosoftSharedToolsMSConfigstartupregPHIME2002A"/vcommand/d"C:
WINDOWSsystem32IMETINTLGNTTINTSETP.EXE/IMEName"
regadd"HKEY_LOCAL_MACHINESOF