80端口被占用问题
首次,cmd里用命令:netstat -ano查看80端口占用情况。
如果是启动项,运行msconfig,关闭启动项。
如果是pid为4的进程 是system。
杀掉进程的命令:[ taskkill /pid 4 /f ] 其中 /f 表示强制关闭该进程
在使用netstat和tasklist时均可使用findstr来过滤信息,例如只查看占用了80端口的信息,那么可以这样写 [ netstat -ano | findstr "80" ],其他的类似。
如果还不行,关闭这个World Wide Web Publishing Service服务,如果你的计算机不做www服务器。
IIS 安全设置
1.关闭并删除默认站点
默认FTP站点
默认Web站点
管理Web站点
2.建立自己的站点,与系统不在一个分区
如:D:\wwwroot3.建立 E:\Logfiles 目录,以后建立站点时的日志文件均位于此目录,确保此目录
上的访问控制权限是: Administrators(完全控制)System(完全控制)
3.删除IIS的部分目录
IISHelp C:\winnt\help\iishelp
IISAdmin C:\system32\inetsrv\iisadmin
MSADC C:\Program Files\Common Files\System\msadc\
删除 C:\\inetpub
4.删除不必要的IIS映射和扩展
IIS 被预先配置为支持常用的文件名扩展如 .asp 和 .shtm 文件。IIS 接收到这些类型 的文件
请求时,该调用由 DLL 处理。如果您不使用其中的某些扩展或功能,则应删除该映射,步骤如下:
打开 Internet 服务管理器:
选择计算机名,点鼠标右键,选择属性:
然后选择编辑
然后选择主目录, 点击配置
选择扩展名 \".htw\", \".htr\",\".idc\",\".ida\",\".idq\"和,点击删除
如果不使用server side include,则删除\".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的方法:
下载一个修改IIS Banner显示信息的软件——IIS/PWS Banner Edit。利用它我们可以很轻松地修改IIS的Banner。但要注意在修改之前我们首先要将IIS停止(最好是在服务中将World Wide Web Publishing停止),并要将DLLcache下的文件全部清除。否则你会发现即使修改了一点改变也没有。
IIS/PWS Banner Edit其实是个傻瓜级的软件,我们只要直接在New Banner中输入想要的Banner信息,再点击Save to file就修改成功了。用IIS/PWS Banner Edit简单地修改,对菜鸟黑客来说他可能已被假的信息迷惑了,可是对一些高手来说这并没有给他们造成什么麻烦。为此我们必须亲自修改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)关闭默认共享
Win 2000安装好以后,系统会创建一些隐藏的共享,在cmd下可用net share命令查看它们。要禁止这
些共享。**作方法是:打开“管理工具→计算机管理→共享文件夹→共享”,在相应的共享文件夹上按右
键,点“停止共享”即可。不当过机器重新启动后,这些共享又会重新开启。
3.防止文件名欺骗
设置以下选项可防止文件名欺骗,如防止以.txt或.exe为后缀的恶意文件被显示为.txt文件,从而使
人大意打开该文件: 双击“我的电脑→工具→文件夹选项→查看”,选择“显示所有文件和文件夹”属性
设置,去掉“隐藏已知文件类型扩展名”属性设置。
4.Access数据库的安全概要
1)新生成的数据库在保证干净的前提下,主动在尾部合并一行ASP代码,内容一般可以为重定向,以免费别人通过论坛发帖等方式嵌入有害代码后被得到执行;
2)对MDB文件创建一个无效的映射,以便在IE中下载时出错;
3)修改出错页面,建议将出错页面设计为正常被曝库后的内容,但给一个数据库的虚假地址(最好存在相应的虚假数据库文件,比如一个改名后的病毒等);
4)在防火墙中对MDB类型的扩展名进行过滤;
5)删除或禁用网站的后台数据库备份功能,而用本地安装的专门自动备份程序进行自动增量备份。
6)ASP 通用防止注入的程序:
功能简单说明:
1.自动获取页面所有参数,无需手工定义参数名.
2.提供三种错误处理方式供选择.
(1).提示信息.
(2).转向页面.
(3).提示信息,再转向页面.
3.自定义转向页面.
使用方法很简单,只需要在ASP页面头部插入代码
<!--#Include File="Fy_SqlX.Asp"-->
包含 Fy_SqlX.Asp 就可以了~~简单实用
<%
Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx
'---定义部份 头------
Fy_Cl = 1 '处理方式:1=提示信息,2=转向页面,3=先提示再转向
Fy_Zx = "Error.Asp" '出错时转向的页面
On Error Resume Next
Fy_Url=Request.ServerVariables("QUERY_STRING")
Fy_a=split(Fy_Url,"&")
redim Fy_Cs(ubound(Fy_a))
On Error Resume Next
for Fy_x=0 to ubound(Fy_a)
Fy_Cs(Fy_x) = left(Fy_a(Fy_x),instr(Fy_a(Fy_x),"=")-1)
Next
For Fy_x=0 to ubound(Fy_Cs)
If Fy_Cs(Fy_x)<>"" Then
If Instr(LCase(Request(Fy_Cs(Fy_x))),"'")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"and")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"select")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"update")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"chr")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"delete%20from")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),";")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"insert")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"mid")<>0 Or Instr(LCase(Request(Fy_Cs(Fy_x))),"master.")<>0 Then
Select Case Fy_Cl
Case "1"
Response.Write "<Script Language=JavaScript>alert(' 出现错误!参数 "&Fy_Cs(Fy_x)&" 的值中包含非法字符串!\n\n 请不要在参数中出现:;,and,select,update,insert,delete,chr 等非法字符!');window.close();</Script>"
Case "2"
Response.Write "<Script Language=JavaScript>location.href='"&Fy_Zx&"'</Script>"
Case "3"
Response.Write "<Script Language=JavaScript>alert(' 出现错误!参数 "&Fy_Cs(Fy_x)&"的值中包含非法字符串!\n\n 请不要在参数中出现:;,and,select,update,insert,delete,chr 等非法字符!');location.href='"&Fy_Zx&"';</Script>"
End Select
Response.End
End If
End If
Next
%>