Do My Space, Do My Life!

Windows WEB服务器配置安全规范(转贴)

上一篇 / 下一篇  2007-01-21 15:13:32 / 个人分类:我的工作

三、IIS 安全设置DOIT博客0t"E'a K MGH \
1.关闭并删除默认站点
#E2To-D|0默认FTP站点
HG`E7X0I$Sg0默认Web站点DOIT博客g&R(];Rb*@-eq3b
管理Web站点DOIT博客D O%k(l6e K
DOIT博客B![.l)HB"\
2.建立自己的站点,与系统不在一个分区DOIT博客;@t%AiuH
如:D:\wwwroot3.建立 E:\Logfiles 目录,以后建立站点时的日志文件均位于此目录,确保此目录DOIT博客fS8u1s8Sb
上的访问控制权限是: Administrators(完全控制)System(完全控制)
:EW w6?8~;d u5l0DOIT博客g4xbOZ)o?
3.删除IIS的部分目录
A b3y0]Y%C,qh0IISHelp C:\winnt\help\iishelp
B_.Sn6M3j^0IISAdmin C:\system32\inetsrv\iisadmin
+T3seHZz.LE5@0MSADC C:\Program Files\Common Files\System\msadc\DOIT博客 Qc+HByF D
删除 C:\\inetpub
@!R%|@$Z3p0
/b tv4PKm!f*q g4?04.删除不必要的IIS映射和扩展DOIT博客 ~5Dc OJ"Y4Q~k`
IIS 被预先配置为支持常用的文件名扩展如 .asp 和 .shtm 文件。IIS 接收到这些类型 的文件
QZ${j~)r0请求时,该调用由 DLL 处理。如果您不使用其中的某些扩展或功能,则应删除该映射,步骤如下:
Hzs&z9Zl0打开 Internet 服务管理器:DOIT博客0L-F5LZE]@
选择计算机名,点鼠标右键,选择属性:DOIT博客 L&k2v4DU"x
然后选择编辑DOIT博客8JFY| X cG-h
然后选择主目录, 点击配置
1l(G,O [h_0选择扩展名 \".htw\", \".htr\",\".idc\",\".ida\",\".idq\"和,点击删除DOIT博客-yXh$G0AP9{| i
如果不使用server side include,则删除\".shtm\" \".stm\" 和 \".shtml\"DOIT博客Ts"R1I"wmy
DOIT博客.x#|z:p QNE'I!D
5.禁用父路径(有可能导致某些使用相对路径的子页面不能打开)
5zUs4P~H ~0“父路径”选项允许您在对诸如 MapPath 函数调用中使用“..”。在默认情况下,该选项DOIT博客J}P~u-Os,`
处于启用状态,应该禁用它。
Yg;vy8~S [FI0禁用该选项的步骤如下:DOIT博客2f_R'n/}Jaub
右键单击该 Web 站点的根,然后从上下文菜单中选择“属性”。
h,{#dEh*_n2j0单击“主目录”选项卡。
'^3_di5c9yR0单击“配置”。
I0Dn/|g.F`0单击“应用程序选项”选项卡。
` Z*S_;^S}D0取消选择“启用父路径”复选框。
V!k zc-V,mw0
^a"N2hj*j }0DOIT博客4m(AGS8H P*?9T9`
6.在虚拟目录上设置访问控制权限DOIT博客 T6I_W%pS
在iis里把所有的目录,不包括asp等文件的目录 ,比如img,image,pic,upload等等这些目录,里面一般是没有asp文件的目录的执行许可设置为无,这样就算你用的程序被发现了新的漏洞,传了马上来了,它也执行不了,不过要看仔细了,有些目录里也是有asp,asa文件的!
yQpCf$T'CY0DOIT博客6i|1b!Ig8ofKQo6^
主页使用的文件按照文件类型应使用不同的访问控制列表:DOIT博客;QG m:vN%Gp
CGI (.exe, .dll, .cmd, .pl)DOIT博客+}1Gk3kf6W7_dwk
Everyone (X)DOIT博客9A c3h$K*C
Administrators(完全控制)DOIT博客7_:]U4{ @
DOIT博客C:u5Ti&nuE#`2P
System(完全控制)
{7bwx1U2kXC0脚本文件 (.asp)
CAJj"vRn0Everyone (X)
6l#u0M_U6~0Administrators(完全控制)
\fsPp)[@+m0System(完全控制)DOIT博客A)Qr};qL_5?

4i(Az;t7x _d1f0include文件 (.inc, .shtm, .shtml)DOIT博客:x_1WdM E,u
Everyone (X)
iU-_0mN2l y}0Administrators(完全控制)
p o v N8D0System(完全控制)DOIT博客)F,hVjw

FV:w'r3yJ}&P0静态内容 (.txt, .gif, .jpg, .html)
(Z WY T @+^,m6P_ X0Everyone (R)
,g'\E~+u F0Administrators(完全控制)DOIT博客Z7aBB _%Ze4jo
System(完全控制)DOIT博客2g"W$G-h(W~?
DOIT博客7gf }ew6Z e1G.@'j
在创建Web站点时,没有必要在每个文件上设置访问控制权限,应该为每个文件类型创建一个DOIT博客^eROVbU
新目录,然后在每个目录上设置访问控制权限、允许访问控制权限传给各个文件。DOIT博客 hw%tU7y+V{ S8[
例如,目录结构可为以下形式:
s }NM!tU#g0D:\wwwroot\myserver\static (.html)
/K.N,G&`4@ P$Uy2r5G0D:\wwwroot\myserver\include (.inc)
u:qX,SP0D:\wwwroot\myserver \scrīpt (.asp)
m?NwBk0D:\wwwroot\myserver \executable (.dll)DOIT博客!^MbUU.]d
D:\wwwroot\myserver \images (.gif, .jpeg)DOIT博客P6Y;E6Gk L4w.y
DOIT博客7L;i;l;u!v;NE:mp
7.启用日志记录DOIT博客]/lg _s6y
1)日志的审核配置
1m:V;nVKh7FF0确定服务器是否被攻击时,日志记录是极其重要的。
v,[e)\4]6w'E0应使用 W3C 扩展日志记录格式,步骤如下:
zm?v/Un2[m4M0打开 Internet 服务管理器:
x)t Y\D!LS4C0右键单击站点,然后从上下文菜单中选择“属性”。
9E.s7bjx"]1r|1ug0单击“Web 站点”选项卡。DOIT博客o+yHA oL m
选中“启用日志记录”复选框。
,MC)N.r'B2M4A$|m0从“活动日志格式”下拉列表中选择“W3C 扩展日志文件格式”。
j-FOX!``0单击“属性”。
eF&L2`[&] KEK0单击“扩展属性”选项卡,然后设置以下属性:
JgCL#I1mH0* 客户 IP 地址DOIT博客J+q'O]1\-S3L
* 用户名DOIT博客1U yHwMq-f*D
* 方法DOIT博客g2X6D |2i w%L
* URI 资源
;y2p!ckp;i0* HTTP 状态DOIT博客)Y"D[5xO b ]l
* Win32 状态
7| qFs*@D G0* 用户代理
`X*NP9d_rxC$i0* 服务器 IP 地址
&Ivc"w?0* 服务器端口
XeHAO AQ02)日志的安全管理
0eT#~!zk01、启用操作系统组策略中的审核功能,对关键事件进行审核记录;
a%kxw'z~ \;O\;X"E02、启用IIS、FTP服务器等服务本身的日志功能;并对所有日志存放的默认位置进行更改同时作好文件夹权限设置!DOIT博客:nP [6AgZ
3、安装Portreport对所有网络访问操作进行监视(可选,可能增大服务器负荷);
HL;m/\1_ n,R6SRq04、安装自动备份工具,定时对上述日志进行异地备份,起码是在其他分区的隐蔽位置进行备份,并对备份目录设置好权限(仅管理员可访问)。DOIT博客|r7v`ZK-TfiK
5、准备一款日志分析工具,以便随时可用。DOIT博客:N6\_t%V"u ^
6、要特别关注任何服务的重启、访问敏感的扩展存储过程等事件。DOIT博客C,k*~` T5h

rI*`5Dn.tHe+P08.备份IIS配置DOIT博客 i%PfK1gm;@nW&i
可使用IIS的备份功能,将设定好的IIS配置全部备份下来,这样就可以随时恢复DOIT博客_GE~9GLN
DOIT博客"q u"H W.\&Z)?jt5_
9.修改IIS标志DOIT博客gXm6} d"lB
1)使用工具程序修改IIS标志
-d8d I k)s:f0修改IIS标志Banner的方法:
9J0CV/_X0下载一个修改IIS Banner显示信息的软件——IIS/PWS Banner Edit。利用它我们可以很轻松地修改IIS的Banner。但要注意在修改之前我们首先要将IIS停止(最好是在服务中将World Wide Web Publishing停止),并要将DLLcache下的文件全部清除。否则你会发现即使修改了一点改变也没有。DOIT博客(|/c d;cR9\iaZ"I,E
IIS/PWS Banner Edit其实是个傻瓜级的软件,我们只要直接在New Banner中输入想要的Banner信息,再点击Save to file就修改成功了。用IIS/PWS Banner Edit简单地修改,对菜鸟黑客来说他可能已被假的信息迷惑了,可是对一些高手来说这并没有给他们造成什么麻烦。为此我们必须亲自修改IIS的Banner信息,这样才能做到万无一失。
$L`\)J,C ^q/K0高版本Windows的文件路径为 C:\WINDOWS\system32\inetsrv\w3svc.dll,可以直接用Ultraedit打开W3SVC.DLL,然后以“Server:”为关键字查找。利用编辑器将原来的内容替换成我们想要的信息,比如改成Apache的显示信息,这样入侵者就无法判断我们的主机类型,也就无从选择溢出工具了。DOIT博客 l T.G*T5d#x?#e
2)修改IIS的默认出错提示信息等。
6T%]7T,t KW Sb0
~6?OIB010.重定义错误信息
.X/a8I'JJw)ws){0很多文章讲了怎样防止数据库不被下载都不错的,只要记住一点 .不要改成asp就可以了,不然给你放一个一句话木马让你死的很难看,再着在IIS中将HTTP404.500等 Object Not Found出错页面通过URL重定向到一个定制HTM文件,这样大多数的暴库得到的都是你设置好的文件,自然就掩饰了数据库的地址还能防止一些菜鸟sql注射。
0F7s,F[Xl7N0
,O([a:dZ!nQ6o!@]0对于服务器管理员,既然你不可能挨个检查每个网站是否存在SQL注入漏洞,那么就来个一个绝招。这个绝招能有效防止SQL注入入侵而且"省心又省力,效果真好!"SQL注入入侵是根据IIS给出的ASP错误提示信息来入侵的,如果你把IIS设置成不管出什么样的ASP错误,只给出一种错误提示信息,即http 500错误,那么人家就没办法入侵了。具体设置请参看图2。主要把500:100这个错误的默认提示页面 C:\WINDOWS\Help\iisHelp\common\500-100.asp改成
-w,`6qA}%]S0C:\WINDOWS\Help\iisHelp\common\500.htm即可,这时,无论ASP运行中出什么错,服务器都只提示HTTP 500错误。DOIT博客r2D tEu!X
还可更改C:\WINDOWS\Help\iisHelp\common\404b.htm内容改为<META HTTP-EQUIV=REFRESH CONTENT="0;URL=/;">这样,出错了自动转到首页。DOIT博客FAcx+[1wK]6u"z
 
vZ VI9`0
T!Z b4~ ljt v4f0Win 2003中提高FSO的安全性
t/n AD*Q9|0ASP提供了强大的文件系统访问能力,可以对服务器硬盘上的任何文件进行读、写、复制、删除、改名等操作,这给学校网站的安全带来巨大的威胁。现在很多校园主机都遭受过FSO木马的侵扰。但是禁用FSO组件后,引起的后果就是所有利用这个组件的ASP程序将无法运行,无法满足客户的需求。如何既允许FileSystemObject组件,又不影响服务器的安全性呢(即:不同虚拟主机用户之间不能使用该组件读写别人的文件)?以下是笔者多年来摸索出来的经验:DOIT博客 x1qo/n\!T'J sF p
DOIT博客+dn7G\+fBW+w
  第一步是有别于Windows 2000设置的关键:右击C盘,点击“共享与安全”,在出现在对话框中选择“安全”选项卡,将Everyone、Users组删除,删除后如果你的网站连ASP程序都不能运行,请添加IIS_WPG组(图1),并重启计算机。DOIT博客,Tm;Q n5R$qpJ
DOIT博客AYu:T,V V
经过这样设计后,FSO木马就已经不能运行了。如果你要进行更安全级别的设置,请分别对各个磁盘分区进行如上设置,并为各个站点设置不同匿名访问用户。下面以实例来介绍(假设你的主机上E盘Abc文件夹下设Abc.com站点):DOIT博客VI*t1E1H0y@Y

Z*b8m'b s5e0  1. 打开“计算机管理→本地用户和组→用户”,创建Abc用户,并设置密码,并将“用户下次登录时须更改密码”前的对号去掉,选中“用户不能更改密码”和“密码永不过期”,并把用户设置为隶属于Guests组。
"z~1pd Tr0NH0DOIT博客]!G9_Ve"QO+q"@!QOv
  2. 右击E:\Abc,选择“属性→安全”选项卡,此时可以看到该文件夹的默认安全设置是“Everyone”完全控制(视不同情况显示的内容不完全一样),删除Everyone的完全控制(如果不能删除,请点击[高级]按钮,将“允许父项的继承权限传播”前面的对号去掉,并删除所有),添加Administrators及Abc用户对本网站目录的所有安全权限。DOIT博客l@3Vf['lA[5cb3i
DOIT博客Xo9I|dd FZ){
  3. 打开IIS管理器,右击Abc.com主机名,在弹出的菜单中选择“属性→目录安全性”选项卡,点击身份验证和访问控制的[编辑],弹出图2所示对话框,匿名访问用户默认的就是“IUSR_机器名”,点击[浏览],在“选择用户”对话框中找到前面创建的Abc账户,确定后重复输入密码。DOIT博客NX)~8h^h |Kq
DOIT博客'C7Q9K4l4X [%F

C$q} mD x0
-d:V_ hZH"O-l0经过这样设置,访问网站的用户就以Abc账户匿名身份访问E:\Abc文件夹的站点,因为Abc账户只对此文件夹有安全权限,所以他只能在本文件夹下使用FSO。
:oTab p,Q D0O0
[OO Y]/jE*i0  常见问题:
%^ Qgu t}U0
ZsW ]C%[1p Zw0  如何解除FSO上传程序小于200k限制?DOIT博客;x0E)Mh%P![5?
DOIT博客?D:`vd[W
  先在服务里关闭IIS admin service服务,找到Windows\System32\Inesrv目录下的Metabase.xml并打开,找到ASPMaxRequestEntityAllowed,将其修改为需要的值。默认为204800,即200K,把它修改为51200000(50M),然后重启IIS admin service服务。
)WdIw;C k)oz%[#\0DOIT博客W II!jVt
  DOIT博客0j Q4^;ou^Ad

2r ?"B,D:_4}%_H#m/p0四、数据及备份管理
v VVVqW%L ` R01.备份
I^;VW^$n8c#H'm$Y01)要经常把重要数据备份到专用的备份服务器,备份完毕后,可将备份服务器与网络隔离。 可采用自动的备份工具进行,要求支持FTP方式备份。DOIT博客O H,P2AR
2)使用系统的备份功能对安装好的系统进行阶段性备份。
G6c5t$q9kD$m1X9|03)使用WonRescue等工具对注册表进行阶段性备份。DOIT博客1W P]oA4B
4)使用Ghost对全面配置完毕的系统分区进行映像备份,并存放到隐藏的分区中。DOIT博客AT7Yzt:Xt

;a-kP4]!s%[%g02.设置文件共享权限
.d/vXF#@01)限制共享权限DOIT博客'H7dS lVh4baV
设置共享文件时,要注意把共享文件的权限从“everyone”组改成“授权用户”,包括打印共享。
'`?2sVT0khz02)关闭默认共享DOIT博客Q;k v\ j~!s
Win 2000安装好以后,系统会创建一些隐藏的共享,在cmd下可用net share命令查看它们。要禁止这
A:e/o7oN0d*A1e0些共享。操作方法是:打开“管理工具→计算机管理→共享文件夹→共享”,在相应的共享文件夹上按右DOIT博客?3l:R/r:j^+l(c
键,点“停止共享”即可。不当过机器重新启动后,这些共享又会重新开启。DOIT博客!y9Xy|3B-z$l w

Y L~_V03.防止文件名欺骗
Z(_WaKDbn0设置以下选项可防止文件名欺骗,如防止以.txt或.exe为后缀的恶意文件被显示为.txt文件,从而使
Wg^'i-{0人大意打开该文件: 双击“我的电脑→工具→文件夹选项→查看”,选择“显示所有文件和文件夹”属性DOIT博客r#V.l&J rp
设置,去掉“隐藏已知文件类型扩展名”属性设置。
,ZNZ/GU9|0DOIT博客CA\}k+|'u"^Y
4.Access数据库的安全概要
Niql:Xv? ]01)新生成的数据库在保证干净的前提下,主动在尾部合并一行ASP代码,内容一般可以为重定向,以免别人通过论坛发帖等方式嵌入有害代码后被得到执行;DOIT博客 qW J0e]-V"Uu~6R
2)对MDB文件创建一个无效的映射,以便在IE中下载时出错;
2Ns1a UPHWn03)修改出错页面,建议将出错页面设计为正常被曝库后的内容,但给一个数据库的虚假地址(最好存在相应的虚假数据库文件,比如一个改名后的病毒等);
Z.WgW5o G+@u04)在防火墙中对MDB类型的扩展名进行过滤;DOIT博客/~ a0p$^D*`Y9v
5)删除或禁用网站的后台数据库备份功能,而用本地安装的专门自动备份程序进行自动增量备份。DOIT博客LE#ZK.kBY
6)ASP 通用防止注入的程序:DOIT博客f[;i7f5J0{l
功能简单说明:DOIT博客y;}g COq3q/fpc
   1.自动获取页面所有参数,无需手工定义参数名.
2`8F^wS0   2.提供三种错误处理方式供选择.
f(i7r&{!Z+}] U0 (1).提示信息.
/ZSq#`wx*b'`"k}0 (2).转向页面.
3F/\ N0] R |PHe0 (3).提示信息,再转向页面.
&u;Mu8mVb5]u!C(C'Dq0   3.自定义转向页面.DOIT博客d8a't9t|vm8Q
使用方法很简单,只需要在ASP页面头部插入代码DOIT博客)fl;z*X#{bM ?
<!--#Include File="Fy_SqlX.Asp"-->DOIT博客z7Y#c Ile\(E#h z
包含 Fy_SqlX.Asp 就可以了~~简单实用DOIT博客k"u/Q @` `g)tQ
<%DOIT博客 ? Q ^ `,WNU&PHS
Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx
lPK\Z'|U0'---定义部份  头------
R;ON4]CL r9f%dJ0Fy_Cl = 1              '处理方式:1=提示信息,2=转向页面,3=先提示再转向DOIT博客'GBCP@M/|y
Fy_Zx = "Error.Asp"     '出错时转向的页面
-_ E/SJkY g.U0On Error Resume NextDOIT博客 ~k5Pd1vK
Fy_Url=Request.ServerVariables("QUERY_STRING")DOIT博客-Q.g%h6r9?xj
Fy_a=split(Fy_Url,"&")DOIT博客S6M*OZ0K R"_
redim Fy_Cs(ubound(Fy_a))DOIT博客0c"x5|GUJ
On Error Resume NextDOIT博客Bv2H&B0CV
for Fy_x=0 to ubound(Fy_a)DOIT博客Y"Uo:W(?
Fy_Cs(Fy_x) = left(Fy_a(Fy_x),instr(Fy_a(Fy_x),"=")-1)DOIT博客 w2I]i@1S
Next
#u+j,ImP:@$lR{7Xr3lc0For Fy_x=0 to ubound(Fy_Cs)DOIT博客 uN-~Y6[0?p*J6a
If Fy_Cs(Fy_x)<>"" ThenDOIT博客+o Rh,@#tgGY
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
bi0Ol`1u]0Select Case Fy_ClDOIT博客t1Ac y F7H ?i
 Case "1"
;D.~7YCE/r^/Y0Response.Write "<scrīpt Language=Javascrīpt>alert('                   出现错误!参数 "&Fy_Cs(Fy_x)&" 的值中包含非法字符串!\n\n  请不要在参数中出现:;,and,select,update,insert,delete,chr 等非法字符!');window.close();</scrīpt>"
2c$i l@#_-e&[ P{%m0 Case "2"
z'd/X'i#_e8A&K0Response.Write "<scrīpt Language=Javascrīpt>location.href='"&Fy_Zx&"'</scrīpt>"DOIT博客hK`7U-u,yu
 Case "3"DOIT博客7m[CGb3me"z`
Response.Write "<scrīpt Language=Javascrīpt>alert('                   出现错误!参数 "&Fy_Cs(Fy_x)&"的值中包含非法字符串!\n\n  请不要在参数中出现:;,and,select,update,insert,delete,chr 等非法字符!');location.href='"&Fy_Zx&"';</scrīpt>"DOIT博客h&\s bJ F4cN
End SelectDOIT博客7@"s-`fk$nk n
Response.End
L%C2W vs!Xc-z0End IfDOIT博客A.L;N/r%SDD%HZ
End If
_^ Kzsi go-r+Z0NextDOIT博客A mp/}| X#JS
%>DOIT博客{'\J7Ma M f

mIq3I8y1n07)使用ODBC数据源。
k0O2F/uS`Ub0在ASP程序设计中,如果有条件,应尽量使用ODBC数据源,不要把数据库名写在程序中,否则,数据库名将随ASP源代码的失密而一同失密,例如:DOIT博客'|4t&q4|O1G&p
DBPath = Server.MapPath(“./akkt/kj61/acd/av5/faq9jl.mdb ”)
6iF z(T-SA$] UX0conn.open “driver={Microsoft Access Driver (*.mdb)};dbq=”& DBPathDOIT博客Y)k0bsg z\'M
  可见,即使数据库名字起得再怪异,隐藏的目录再深,ASP源代码失密后,也很容易被下载下来。如果使用ODBC数据源,就不会存在这样的问题了:
S}fd't"g0conn.open “ODBC-DSN名”DOIT博客0z5FJZ-Yp'l6zC{g

.h#LK|Ig05.MSSQL 注入攻击的防范
:Ek3w/h6]!wJO^0在SQL Server 2000的安装目录下的\NSSQL\BINN文件夹中有一个危险的DLL组件,就是Xplog70.dll,建议将它改名或者彻底删除!DOIT博客l,X{:r/fm3X
DOIT博客&gfA n$@rn
攻击者可调用SQL里的Master里的扩展存储过程中的xp_cmdshell来执行系统指令。DOIT博客[ym4^t$Z/Q0@
1)删除扩展存储过程
aa#g+pl&sZ/H0在控制面板→计算机管理→Microsoft SQL Server→(Local……)→数据库→master→扩展存储过程→xp_cmdshell,右击然后删除!
/B$@.yC T%X V0也可以使用命令删除:
m k2i5{FJ0sp_dropextendedproc 'xp_cmdshell'
~$nL2D!k gAm%F z0接着在系统分区搜索并删除或改名、移除 xplog70.dll 文件防止恶意者恢复上述配置。DOIT博客-wiJhJ:ic M
2)删除注册表操作功能
(Ks0D.x#? q'l0删除上述位置下的:
c^fk!Y'd0xp_regaddmultistring(向注册表添加项目)DOIT博客-]C k Lo$\6v P
xp_regdeletekey(向注册表删除一个项)
{-X u!kQZG f0xp_regdeletevalue(向注册表删除一个键值)
(y$A9F%p N7T7X T$?b(i0xp_regnumvalues(列举主键下的键值)DOIT博客T9X c&U$sir ~
xp_regread(读取一主键下的键值)DOIT博客*n*ugg9bt H
xp_regremovemultistring(从注册表中删除项目)DOIT博客/so3dM}MC7dNB
xp_regwrite(向注册表中数据)
+w/]%N,Bj t03)防范跨库查询DOIT博客9aBzo0{+wI Bby/W
每个数据库分别设置一个数据库用户,该用户只能对其拥有的数据库进行查询,禁止其他数据库(包括4个系统数据库Master Model Tempdb Msdb和两个用户数据库 Pubs t Northwind)。DOIT博客SD?"qh(bK_0k[
DOIT博客 Fu&B;\ C
如果网站使用了别人的现成代码,则必须使用文本批量替换工具搜索“POWERED BY……”之类的版权特征信息,并进行替换,以免源代码存在漏洞时,别人可以通过搜索引擎快速找到你的网站,从而减少被随意入侵的机率。DOIT博客u)aI:{X9lQV:S#V0N
DOIT博客f-L8Ulsh+Q
6. MSSQL Server 的基本安全策略DOIT博客G/d9] U O)?!G
这些步骤是针对任何SQL Server安装的部分标准安全“最佳策略”。DOIT博客.u}4Bw?y'Y
首先,打上SQL SERVER最新的安全补丁,现在补丁已经出到了SP3。下载地址:http://www.microsoft.com/sql/d...。如果这一步都没有做好,那我们也没有继续下去的必要了。
&}z4`Z6iF0DOIT博客mI2vkx
1. 确保你的SA登录帐号的密码非空。只有你的SA登录帐号没有安全保障的时候蠕虫才会工作。DOIT博客'v_"t2{8n%z&|V
因此,你应该遵循在SQL Server
4rxPY5f$v WAk0联机文档中“系统管理员(SA)登录”主题中的推荐模式,确保固有的SA帐号具有一个强壮的密码,DOIT博客2T(M{ uu#mN&R s
即使是你自己从不使用SA帐号。DOIT博客4^e3O#BC\r
2. 在你的互联网网关或防火墙上屏蔽1433端口和/或指定SQL Server监听一个可选的端口。
2gkdCL;O5IJ7A03. 假如在你的互联网网关上需要利用1433端口,启动用于防止此端口滥用的流入/流出过滤。
I/zF i4n3u7_+fG Pb04. 将SQLServer和SQL Server客户端运行在微软的Windows NT帐号下,而不是localsystem。DOIT博客0S)A.VG*n
5. 启动Windows NT验证,启动监听成功和失败的登录,然后停止并重启MSSQLServer服务。设置你的客户端使用NT验证。DOIT博客l V]QS zJL Q
6. 改默认的1433端口,并且将SQL SERVER隐藏。这样能禁止对试图枚举网络上现有的 SQL Server 客户端所发出的广播作出响应。另外,还需要在TCP/IP筛选中将1433端口屏蔽掉,尽可能的隐藏你的SQL SERVER数据库。这样子一但让攻击创建了SQL SERVER的账号,也不能马上使用查询分析器远程登陆来进行下一步的攻击。单从ASP,PHP等页面构造恶意语句的话,还有需要查看返回值的问题,总比不上直接查询分析器来得利落。所以我们首先要做到即使让别人注入了,也不能让攻击者下一步做得顺当。修改方法:企业管理器 --> 你的数据库组 --> 属性 --> 常规 --> 网络配置 --> TCP/IP --> 属性 ,在这儿将你的默认端口进行修改,和SQL SERVER的隐藏。DOIT博客8[ GE}6m%kX
7.合理创建角色
B m1Zcm\+sm a@6B0SQL INJECTION往往在WEB CODE中产生。而做为系统管理员或者数据库管理员,总不能常常的去看每一段代码。即使常常看代码,也不能保证我们在上面的疏忽。那怎么办?我们就要从数据库角色着手,让数据库用户的权限划分到最低点。SQL SERVER的默认权限让人真的很头疼,权限大得非常的高,权限小的又什么都做不了,SYSADMIN和db_owner真是让人又爱又恨。攻击者一但确认了网站存在SQL INJECTION漏洞,肯定有一步操作步骤就是测试网站的SQL SERVER使用者具有多大的权限。一般都会借助SELECT IS_SRVROLEMEMBER('sysadmin'),或者SELECT IS_MEMBER('db_owner'),再或者用user = 0(让字符和数字进行比较,SQL SERVER就会提示了错误信息,从该信息中即可知道一些敏感信息)等语句进行测试。方法还有,我也不敢多说了。其一怕错,其二怕联盟中的人扁。在当前,如果网站的数据库使用者用的是SA权限,再加上确认了WEB所处在的绝对路径,那么就宣告了你的网站的OVER。db_owner权限也一样,如果确认了绝对路径,那么有50%的机会能给你的机器中上WEB 方式的木马,如海阳等。所以这儿我们确认了一点,我们必须要创建自已的权限,让攻击者找不着下嘴的地方。在这儿引用一个SQL SERVER联机帮助中的例子:
%u_:S4n/D0DOIT博客"_i nU;o[kKI
创建 SQL Server 数据库角色的方法(企业管理器)
a w.A8@Uj-Q To)u8i0创建 SQL Server 数据库角色
XsxTq+bU3xs0   1. 展开服务器组,然后展开服务器。DOIT博客z5\6t2gL CXr
   2. 展开"数据库"文件夹,然后展开要在其中创建角色的数据库。
O$YV)i'h0   3. 右击"角色",然后单击"新建数据库角色"命令。
'O.v/lo"@2bS ?0   4. 在"名称"框中输入新角色的名称。
XE2OX X5]]O0   5. 单击"添加"将成员添加到"标准角色"列表中,然后单击要添加的一个或多个用户。(可选)DOIT博客 ~VIV5` [+e B@!X+qf
只有选定数据库中的用户才能被添加到角色中。DOIT博客s(b:X9F7g
8. 合理的权限配置DOIT博客"oIG5O7_eu+ZP
对象权限
W&L!s)Q!@)X K"}#]0处理数据或执行过程时需要称为对象权限的权限类别:
@,I6v&_k llI0· SELECT、INSERT、UPDATE 和 DELETE 语句权限,它们可以应用到整个表或视图中。
-o?M O O;A3]0· SELECT 和 UPDATE 语句权限,它们可以有选择性地应用到表或视图中的单个列上。
S3\U Y.T,i*S5`0· SELECT 权限,它们可以应用到用户定义函数。DOIT博客~4I0A/nXi:u5C2Dy
· INSERT 和 DELETE 语句权限,它们会影响整行,因此只可以应用到表或视图中,而不能应用到单个列上。
5^6W0r#@ T Q[A9~9GJd,o0· EXECUTE 语句权限,它们可以影响存储过程和函数。DOIT博客y9[b4CO0b
DOIT博客i U8srdR r
语句权限DOIT博客d5K7]H(i!s
创建数据库或数据库中的项(如表或存储过程)所涉及的活动要求另一类称为语句权限的权限。例如,如果用户必须能够在数据库中创建表,则应该向该用户授予 CREATE TABLE 语句权限。语句权限(如 CREATE DATABASE)适用于语句自身,而不适用于数据库中定义的特定对象。DOIT博客K_ CQ'W
语句权限有:DOIT博客3ZH!GC2@
· BACKUP DATABASE
1i.y:Fo,jB!|#l0· BACKUP LOGDOIT博客1A2J}-Bc I
· CREATE DATABASE
j9D"tiR*Rd9a0· CREATE DEFAULTDOIT博客1Ns oMD a1B!v`
· CREATE FUNCTION
wl| e*R%w'I0· CREATE PROCEDUREDOIT博客q3?;c5V,e7EtzB1a+}
· CREATE RULE
BL.Z AP+w0· CREATE TABLE
%Xw^ IJ(Yfd3wk0· CREATE VIEWDOIT博客4]"eON4D1EO{*E"C
DOIT博客 H]LL#{8]2_n!F&u$Y
暗示性权限DOIT博客0U/|1U%G*T0]wO7pr ~
暗示性权限控制那些只能由预定义系统角色的成员或数据库对象所有者执行的活动。例如,sysadmin 固定服务器角色成员自动继承在 SQL Server 安装中进行操作或查看的全部权限。
,I'GU[k0数据库对象所有者还有暗示性权限,可以对所拥有的对象执行一切活动。例如,拥有表的用户可以查看、添加或删除数据,更改表定义,或控制允许其他用户对表进行操作的权限。
{9Kr/p*E#As"_vS0DOIT博客WcV~'Q(W!w
db_owner 在数据库中有全部权限。
6l$@#qu'[o/a"Z0db_accessadmin 可以添加或删除用户 ID。DOIT博客 {~"[(W9E
db_securityadmin 可以管理全部权限、对象所有权、角色和角色成员资格。DOIT博客#LId ?*{FW6X3_2V
db_ddladmin 可以发出 ALL DDL,但不能发出 GRANT、REVOKE 或 DENY 语句。
]8dn!@0FA$P0db_backupoperator 可以发出 DBCC、CHECKPOINT 和 BACKUP 语句。
~)J Fd+Q-s0db_datareader 可以选择数据库内任何用户表中的所有数据。
-x-ki8Ou@;a^ j0db_datawriter 可以更改数据库内任何用户表中的所有数据。DOIT博客K3O1m#Sm"o
db_denydatareader 不能选择数据库内任何用户表中的任何数据。
Itj3pf|!Hi8jM0db_denydatawriter 不能更改数据库内任何用户表中的任何数据。
3S*P oU/]'k%kX8I/O!x*T0DOIT博客9g%Y6F{V#V
在这儿把新建的数据库角色的权限配置好,比如需要使用哪个表、视图、存储过程等。然后把Db_owner和db_securityadmin、db_backupoperator取消,不给攻击者BACKUP DATABASE和CREATE TABLE的机会,一但攻击者具有这两个权限,那么你的网站就还处在十分危险的状态。还有注意一下,在创建数据库账号时,千万不能对服务器角色进行选择。DOIT博客.S-b#Xw:S(_u]#cb
9.修改SQL SERVER内置存储过程。SQL SERVER估计是为了安装或者其它方面,它内置了一批危险的存储过程。能读到注册表信息,能写入注册表信息,能读磁盘共享信息等等……各位看到这儿,心里可能会在想,我的网站中有其它的代码,又不像查询分析器那样能查接将结果输出。给你这个权限,又不能怎么样,还是看不到信息。如果各位这样想就大错特错了。提示一下,如果攻击者有CREATE TABLE的权限,那么创建一个临时表,然后将信息INSERT到表中,然SELECT出来,接着跟数字进行比较,让SQL SERVER报错,那么结果就全出来了……所以我们要报着宁错杀,不放过的态度进行修补。
}UpVG0H0DOIT博客9Y1|Ig ?,t2^F
先来列出危险的内置存储过程:DOIT博客@m1gsB*r ^

v ? @ V7y3R,]m0xp_cmdshellDOIT博客YLQ%ES Z"@;o7Z
xp_regaddmultistringDOIT博客aO1GX3B}b,w]
xp_regdeletekey
1g0z[?v i0xp_regdeletevalueDOIT博客 ?d*L\r
xp_regenumkeys
M,OE'ZYSM[]/^0xp_regenumvalues
hp [K!zN{C0xp_regreadDOIT博客? N'V9|0zYT7WSbN
xp_regremovemultistring
K6Z zy%~ O)b0xp_regwriteDOIT博客}-v'W8bg
DOIT博客Z S w:DDBtX
ActiveX自动脚本:
3n_rT ah0DOIT博客l.xB Y-J{S/@6q
sp_OACreateDOIT博客,w/FLt1`7GX:B
sp_OADestroy
? HH'W"Ob]Q/`+CZ0sp_OAMethodDOIT博客A"kV(xyN
sp_OAGetProperty
S3[E1W s,v0sp_OASetPropertyDOIT博客#f m8m;S3D7T(g
sp_OAGetErrorInfoDOIT博客4qK$\{d^B
sp_OAStopDOIT博客vf,JH;Q:i4yI$P

IXb4[(H6g,~S)eM tv @0以上各项全在我们封杀之列,例如xp_cmdshell屏蔽的方法为:sp_dropextendedproc 'xp_cmdshell',如果需要的话,再用sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'进行恢复。如果你不知道xp_cmdshell使用的是哪个.dll文件的话,可以使用sp_helpextendedproc xp_cmdshell来查看xp_cmdshell使用的是哪个动态联接库。另外,将xp_cmdshell屏蔽后,我们还需要做的步骤是将xpsql70.dll文件进行改名,以防止获得SA的攻击者将它进行恢复。DOIT博客]Y7FFf@v q
DOIT博客7n9t*[W3y;\8q%n7V

,hfI3G1h5r6O W0 
,o1i&a-a4mB}'e?"K0DOIT博客.i Ac(u#F(e
7.使用应用层过滤防范URL入侵DOIT博客ga~oUXx
安装Deer Field、8Sign Firewall等具备应用层过滤功能的防火墙,对Url提交的非法字符进行整体过滤,可防范网站程序编写时存在的对敏感字符未过滤的漏洞。需要过滤的字符列表(□表示空格!):
X1E.lF^ ]A{0□and□    '%20and%20      '%20or%20     □or□    □AND□    '%20AND%20      '%20OR%20     □OR□    %00 □1=1     □1=2   ...      ../    .../     '    □select□      □update□    cmd.exe
'h!AS"h f%|0winnt     system32   □from□    □where□     □password□   dir□      ..\   ...\     .mdb     .asa    .sql    %2523   %25   %23   %5c   #x  exec  insert  select  delete   count  □user□  xp_cmdshell    □add□    □net□   □Asc□
6t)Ed8D aG7sp [0'or'='or'等等。
l Y c.j&rch5Q0在扩展名过滤中,将所有站点内不需要的文件类型从过滤的允许列表中删除;对敏感的需要特别保护的文件类型的扩展名,将它们添加到扩展名过滤列表中。
!C&YfF*Ce"hQ0以上特征字符串可能是分别针对ASP和PHP的,但由于配置不复杂,因此建议不管什么类型的后台程序,都在防火墙上全面设置一下应用层过滤规则!!
nN0c @3dC0DOIT博客-Gbh gY~ z M/Am
8. PHP木马的攻击的防御之道DOIT博客 T#W$Eqsu
首先修改httpd.conf,如果你只允许你的php脚本程序在web目录里操作,还可以修改httpd.conf文件限制php的操作路径。比如你的web目录是/usr/local/apache/htdocs,那么在httpd.conf里加上这么几行:  DOIT博客iPA k:it#n(n%W
  php_admin_value open_basedir /usr/local/apache/htdocsDOIT博客G9Ft"?_+I.g
  DOIT博客E af b A(T/iy1\:\
  这样,如果脚本要读取/usr/local/apache/htdocs以外的文件将不会被允许,如果错误显示打开的话会提示这样的错误:
-Ov3V ~*k(t#q&h\0  Warning: open_basedir restriction in effect. File is in wrong directory in
n0L^J!D0  /usr/local/apache/htdocs/open.php on line 4
G2_)qKtR@+jF9p0  等等。
3K3qL$n5T0  2.防止php木马执行webshell
[L2f)l`/Zw0  打开safe_mode,DOIT博客5k9kaR#v3\%B
  在,php.ini中设置DOIT博客5z\#l Q y
  disable_functions= passthru,exec,shell_exec,system  
2aXB#Cv%pi3t1\1}0  二者选一即可,也可都选  DOIT博客LY9_ {s~.i#X
  3.防止php木马读写文件目录  DOIT博客/]as*bx.m i l
  在php.ini中的DOIT博客@,Uj2K ycQ_q:Rp
  disable_functions= passthru,exec,shell_exec,system  DOIT博客^ v$p0f9~t,v m
  后面加上php处理文件的函数DOIT博客%e|c1Y]o
  主要有DOIT博客f BtCIa,t*{
  fopen,mkdir,rmdir,chmod,unlink,dir
lQ/[!G8RP0  fopen,fread,fclose,fwrite,file_exists
8h#vKM8}](FF'F&T5W0  closedir,is_dir,readdir.opendirDOIT博客a:tKPu.G
  fileperms.copy,unlink,delfileDOIT博客]WaLfUx O
  即成为
o8T.xBeiDC ?K0  disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,rmdir,chmod,unlink,dirDOIT博客X-k1\#] k&i
  ,fopen,fread,fclose,fwrite,file_exists
O`7_ e"w$s0  ,closedir,is_dir,readdir.opendir
q%mGm1E0  ,fileperms.copy,unlink,delfileDOIT博客vR:M*sS3Es6r
  ok,大功告成,php木马拿我们没辙了,^_^DOIT博客/h)E(VL-d.Pl"m\
  遗憾的是这样的话,利用文本数据库的那些东西就都不能用了。 DOIT博客D"A%`0fT y'Ynx*@
  如果是在windos平台下搭建的apache我们还需要注意一点,apache默认运行是system权限,这很恐怖,这让人感觉很不爽.那我们就给apache降降权限吧.  
&K-EJOU0  net user apache f**kmicrosoft /add  DOIT博客 fjC/TY5P
  net localgroup users apache /del  DOIT博客4ie&Y ?[%_D3k
  ok.我们建立了一个不属于任何组的用户apche.  
i1B9_coC0}0  我们打开计算机管理器,选服务,点apache服务的属性,我们选择log on ,选择this account ,我们填入上面所建立的账户和密码,重启apache服务,ok,apache运行在低权限下了.
"@B"s X0OLsT`7_K0  实际上我们还可以通过设置各个文件夹的权限,来让apache用户只能执行我们想让它能干的事情,给每一个目录建立一个单独能读写的用户.这也是当前很多虚拟主机提供商的流行配置方法哦,不过这种方法用于防止这里就显的有点大材小用了。
'|1V-ut4N$R;VR0DOIT博客fa$b9}c5|
五、其他辅助安全措施DOIT博客(~5e#V8rh)_}#d
1.安装可靠的杀毒软件并立即升级;DOIT博客8X w.V*M3|~q*_u
2.安装一款可能强大且配置灵活的网络防火墙,并认真做好规则设置;
V u$n FF"y$}0防火墙的选择、安装和配置概览:DOIT博客:ZB0V[vg(c
选择:
9c"V RO.p$XR01)一定要有出站审核功能的防火墙,防止反向连接的木马后门;DOIT博客_A pU [-|c
2)设置适当的安全级别,安装初期可采用学习模式并小心配置,随后入为最高安全级别;
c$bxf/fP2ZH03)配置好防火墙规则。建议默认为无匹配规则则拒绝,然后一一添加必须的规则;
-Qy'B WW&c } n#t,~[04)防火墙规则要经常备份和检查,发现可疑规则要高度警惕,或者不宝藏恢复备份规则。DOIT博客3n+IO$yS u
5)选择建议:天网;Look 'n' Stop、ZoneAlarm;服务器建议Deer Field。DOIT博客 UU dv!\D[1Qy
6)常用端口:FTP:21  WEB:80  SMTP:25  POP3:110  终端服务:3389(不建议使用;建议修改)  MYSQL:3306  可在数据库的配置文件中将端口改一下,比如3389,让人家连吧:)
] @;_L&Y$d4`0其他如远程管理工具的端口也不建议使用默认端口。
Ux{7on(vY}:K"PP%O07)服务器建议使用DeerField对各种注入等手段通过URL提交的命令的关键字以及敏感文件的扩展名进行过滤,如.MDB、‘、--、NULL、select、%5c、c:、cmd、system32、xp_ cmdshell、exec、@a、dir、alert()、’or’’=’、WHERE、count(*)、between、and、inetpub、wwwroot、nchar、,%2B、%25等。对于提交有上述字串请示的IP,一般都是人为有意进行,因此可令防火墙对这类访问的IP进行较长时间的屏蔽。
z)o3b!b Ru0其他安全工具安装安全工具:
.wN*m!}2Rj0如Urlscn、IISLock等。
7jox!]M-H?L03.修改系统目录和程序目录中所有文件的日期、时间为一个特定的值,以便日后查找可疑程序时筛选方便;DOIT博客1E'M*_'jY4}"m ^
全部配置完毕,对系统目录和程序目录分别制作文件列表,将列表保存到隐藏分区中。
U(q5_@'V:r04.在网络的另一台计算机上,使用多种流行的扫描工具对服务器进行扫描,检测是否仍然有未处理好的已知漏洞。DOIT博客@2B&G&n`
5.针对现有免费代码的利用安全问题
W3pZ%R2J,j'|p$V0免费程序不要真的就免费用,既然你可以共享原码,那么攻击者一样可以分析代码。如果有能力的站长最好还是更改一下数据库表名,字段名,只修改关键的admin, username, password就可以了,比如forum_upasswd 这样的字段名谁能猜到?如果你猜到了,最好赶快去买彩票吧,特等奖不是你还会有谁呢?另外,一般站点的关键就在于管理员的密码,很好的保护好你的管理员密码那是至关重要的,至少10位的数字字母组合。另外加上现在大多数站点程序都会使用MD5来加密用户密码,加上你密码的强壮性,那样你站点的安全性就大大的提高了。即使出现了SQL Injection漏洞,攻击者也不可能马上拿下你的站点。DOIT博客7L~.P qh7YK(V0i!R
6.文件列表、任务列表和服务列表的生成和利用DOIT博客sHL$F,b
生成各种目录列表备份对于日后查找可疑文件是非常重要的,一般在服务器部署完毕后必须立即进行!
f(FPtPG4u1h0   1、文件列表
Lr*G UA!x({5P^0全部配置完毕,制作系统目录和程序目录等位置的文件列表备份,并保存为文件。DOIT博客S(DY-i3X-S3r
建议分别进行完整列表、DLL文件列表和EXE文件列表、TMP文件列表、COM文件列表、CMD文件列表、SCR文件列表的制作。
4Z2sC._M9RP:b9y&t0   2、任务管理器任务列表DOIT博客'Z4qE1V i
可以采用抓图的方法保存任务管理器的任务列表;建议采用专门的进程查看工具导出详细的进程及模块列表备查!
!f0T6}&vd PF|0   3、系统服务列表DOIT博客$Q$Qr5zxN
可对“已启动”和“自动”的服务类型进行排序,然后抓图保存。
!f9g}qDS+M Jr07.隐藏重要文件/目录DOIT博客h }Bk+rv)I
可以修改注册表实现完全隐藏:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL”,鼠标右击 “CheckedValue”,选择修改,把数值由1改为0DOIT博客#lNu;@ykO
DOIT博客 O+N0K3t9j%u'I
六、简单设置防御小流量DDOS攻击DOIT博客ZcDl7K*tC:e?
小流量DDOS攻击防御在微软的hiseweb.inf文件中已经设置好了,如果导入hiseweb.inf则不需要另外设置。
j}/Ap@~2{?;fN0DOIT博客Q'w fT'O5q(N'm
防范DDOS攻击并不一定非要用防火墙。一部份DDOS我们可以通过DOS命令netstat -an|more或者网络综合分析软件:sniff等查到相关攻击手法、如攻击某个主要端口、或者对方主要来自哪个端口、对方IP等。这样我们可以利用w2k自带的远程访问与路由或者IP策略等本身自带的工具解决掉这些攻击。做为无法利用这些查到相关数据的我们也可以尝试一下通过对服务器进行安全设置来防范DDOS攻击。如果通过对服务器设置不能有效解决,那么就可以考虑购买抗DDOS防火墙了。 其实从操作系统角度来说,本身就藏有很多的功能,只是很多是需要我们慢慢的去挖掘的。这里我给大家简单介绍一下如何在Win2000环境下通过修改注册表,增强系统的抗DoS能力。  
lJwG1h6F0 请注意,以下的安全设置均通过注册表进行修改,该设置的性能取决于服务器的配置,尤其是CPU的处理能力。如按照如下进行安全设置,采用双路至强2.4G的服务器配置,经过测试,可承受大约1万个包的攻击量。
t4@Je6H0'关闭无效网关的检查。DOIT博客"{K:D)osZ2lf
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]DOIT博客6@~WUrm9M
当服务器设置了多个网关,这样在网络不通畅的时候系统会尝试连接第二个网关,通过关闭它可以优化网络。DOIT博客)dI:[S-Xni,s2j
"EnableDeadGWDetect"=dword:00000000DOIT博客4`'\v"i8i.R;?D
'禁止响应ICMP重定向报文。此类报文有可能用以攻击,所以系统应该拒绝接受ICMP重定向报文。
7fb#v/fp]0AY0"EnableICMPRedirects"=dword:00000000DOIT博客 G*Q@$?2EEE|;y~k
'不允许释放NETBIOS名。当攻击者发出查询服务器NETBIOS名的请求时,可以使服务器禁止响应。
yrGo)u;I oN$Z0注意系统必须安装SP2以上DOIT博客df6U%`e2n K }O
"NonameReleaseOnDemand"=dword:00000001
0v oF.OE B5GY2{~0'发送验证保持活动数据包。该选项决定TCP间隔多少时间来确定当前连接还处于连接状态,不设该值,则系统每隔2小时对TCP是否有闲置连接进行检查,这里设置时间为5分钟。DOIT博客,az/m1} Y^
"KeepAliveTime"=dword:000493e0
)E/Df(RBe0'禁止进行最大包长度路径检测。该项值为1时,将自动检测出可以传输的数据包的大小,
D)cA(HA0'可以用来提高传输效率,如出现故障或安全起见,设项值为0,表示使用固定MTU值576bytes。DOIT博客 JF"J(`n
"EnablePMTUDiscovery"=dword:00000000DOIT博客-U&F:o.X*N+Oh9s
'启动syn攻击保护。缺省项值为0,表示不开启攻击保护,项值为1和2表示启动syn攻击保护,设成2之后'安全级别更高,对何种状况下认为是攻击,则需要根据下面的TcpMaxHalfOpen和TcpMaxHalfOpenRetried值'设定的条件来触发启动了。这里需要注意的是,NT4.0必须设为1,设为2后在某种特殊数据包下会导致系统重启。
4@4qj6^1O s0"SynAttackProtect"=dword:00000002DOIT博客6D a\S&Y+ql
'同时允许打开的半连接数量。所谓半连接,表示未完整建立的TCP会话,用netstat命令可以看到呈SYN_RCVD状态的就是。这里使用微软建议值,服务器设为100,高级服务器设为500。建议可以设稍微小一点。
:i-O4Vn6w O0"TcpMaxHalfOpen"=dword:00000064DOIT博客$qu6T2HUsF
'判断是否存在攻击的触发点。这里使用微软建议值,服务器为80,高级服务器为400。DOIT博客6xV5I r(HK
"TcpMaxHalfOpenRetried"=dword:00000050
#f-W4\*r9kir]!zW-g0'设置等待SYN-ACK时间。缺省项值为3,缺省这一过程消耗时间45秒。项值为2,消耗时间为21秒。
$bIXAB(^+jyP0'项值为1,消耗时间为9秒。最低可以设为0,表示不等待,消耗时间为3秒。这个值可以根据遭受攻击规模修改。
Q9[O"@Sd!h:Pb0'微软站点安全推荐为2。
J8UR"C%Y0"TcpMaxConnectResponseRetransmissions"=dword:00000001
ik7{@"JY$j0'设置TCP重传单个数据段的次数。缺省项值为5,缺省这一过程消耗时间240秒。微软站点安全推荐为3。
?ewX:H:e!B0"TcpMaxDataRetransmissions"=dword:00000003DOIT博客0sJl4`y0]$sC%S h
设置syn攻击保护的临界点。当可用的backlog变为0时,此参数用于控制syn攻击保护的开启,微软站点安全推荐为5。DOIT博客k.mBimw
"TCPMaxPortsExhausted"=dword:00000005DOIT博客R5mPU+D3k9y2n
'禁止IP源路由。缺省项值为1,表示不转发源路由包,项值设为0,表示全部转发,设置为2,表示丢弃所有接受的源路由包,微软站点安全推荐为2。
1GgX0[;~ L,E0dN.UD0"DisableIPSourceRouting"=dword:0000002
8r$hT)vb7S0'限制处于TIME_WAIT状态的最长时间。缺省为240秒,最低为30秒,最高为300秒。建议设为30秒。DOIT博客MXD9x`i&A5[0Z!r
"TcpTimedWaitDelay"=dword:0000001e
Z L#R4uU-S1IE0[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]DOIT博客W0p&QmbF5So
'增大NetBT的连接块增加幅度。缺省为3,范围1-20,数值越大在连接越多时提升性能。每个连接块消耗87个字节。DOIT博客6D.] n P\Zwp%a.X
"BacklogIncrement"=dword:00000003
xJ EE-p0'最大NetBT的连接快的数目。范围1-40000,这里设置为1000,数值越大在连接越多时允许更多连接。
.Z*R0|e P@{zn0"MaxConnBackLog"=dword:000003e8DOIT博客0d3\;bbX)g_^"Z2V(}
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Afd\Parameters]
4_OQ"@ M]0'配置激活动态Backlog。对于网络繁忙或者易遭受SYN攻击的系统,建议设置为1,表示允许动态Backlog。DOIT博客'UyJ@q'njIS
"EnableDynamicBacklog"=dword:00000001
!E"}:S0QzQ0'配置最小动态Backlog。默认项值为0,表示动态Backlog分配的自由连接的最小数目。当自由连接数目低于此数目时,将自动的分配自由连接。默认值为0,对于网络繁忙或者易遭受SYN攻击的系统,建议为20。DOIT博客cY!yczg
"MinimumDynamicBacklog"=dword:00000014DOIT博客%FF/D@(V
'最大动态Backlog。表示定义最大"准"连接的数目,主要看内存大小,理论每32M内存最大可以'增加5000个,这里设为20000。
*oW8bbB)}9IF0"MaximumDynamicBacklog"=dword:00002e20DOIT博客rs:\,J G%M'ZA3l
'每次增加的自由连接数据。默认项值为5,表示定义每次增加的自由连接数目。对于网络繁忙或者易遭受SYN攻击'的系统,建议设置为10。DOIT博客hWDkqMG\IG
"DynamicBacklogGrowthDelta"=dword:0000000a
j(? b8yZ `*K0以下部分需要根据实际情况手动修改
6t)E {ij6si0'[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
@D?5a'h%i!K G uW }b0'启用网卡上的安全过滤
NFNF$]1zS0'"EnableSecurityFilters"=dword:00000001DOIT博客8So+?IjW
'同时打开的TCP连接数,这里可以根据情况进行控制。DOIT博客"I o+A WH2z h?
'"TcpNumConnections"=
-T%mP-VEr?B(u/nt0'该参数控制 TCP 报头表的大小限制。在有大量 RAM 的机器上,增加该设置可以提高 SYN 攻击期间的响应性能。DOIT博客 xUL;ai
'"TcpMaxSendFree"=
,S3~2JGZ~2F0'[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{自己的网卡接口}]
AgG*RI8E\$h0'禁止路由发现功能。ICMP路由通告报文可以被用来增加路由表纪录,可以导致攻击,所以禁止路由发现。
HA O'_ d6}o0"PerformRouterDiscovery "=dword:00000000DOIT博客MV{%]m*|:M
DOIT博客$gk&Y }MvB2C
七、日常安全检查
7jh#{ P0Y#V!S%J,yU^01、日志查看DOIT博客:LeP.W)vEe"\
包括系统日志、IIS以及SQL等的日志、防火墙日志、自动备份程序的工作日志;检查日志中异常内容;日志是否有明显时间中断现象;是否出现某些日志被清空的现象;有无伪造日志的迹象。DOIT博客yYZ Fj+V0zpSX
以上要经常检查即可积累经验。
x3c3bDH8W02、检查账户列表、系统服务列表、自动加载的程序列表;
(Sxl[,u~4w b+w3Y03、检查异常文件。可结合上述的文件日期、文件列表进行快速排查。还可针对特定木马程序的文件名进行搜索(如ca.exe cca.exe findpass.exe pulist.exe 3389.exe等),特别要注意搜索带有数字“0”或“1”的文件。另外用搜索文件功能,查找所有2K-20K、日期为半个月左右的所有文件,以便从中发现可疑文件。另外,必要时可根据特定木马程序的特征字串,对站点目录下相关类型的文件进行内容搜索。对于各分区根目录下的文件也要特别注意!
\D@:I(C0eI04、不定期用光盘PE系统引导,用ERDCommander查看硬盘目录下是否有可疑文件、检查硬盘系统注册表是否有不明自动加载项目以及常用文件扩展名关联是否更改、是否存在不明用户等。DOIT博客*C~B0p]
5、检查日志备份、数据库备份之类的自动备份工具是否工作正常。
7o"?+^ r*UE,o-L/?06、检查防火墙规则,查看是否有新添加的规则、不明规则;检查关键规则是否存在修改;不定期用配置好的规则备份恢复一次。DOIT博客:J2l _)h7C+X1i C
7、定期修改管理员密码以及其他相关管理密码,并在异地做好物理记录。
z } g9}%iyU;Y#{I08、检查系统安全补丁的升级情况。使用自动升级功能时,要检查自动升级是否生效,必要时建议不定期手工进行一次系统升级。
9oI5K E},Xl)^(Z09、查找WEBSHELL。考虑到多数情况下的入侵者水平,最多也就用用海阳,而且最多也就把部分版权信息去掉,搜索所有内容包含lcx的.ASP文件。如果你了解到最近有其他的程序后门,可以使用相应的关键字搜索是否存在相关文件。为保证可靠,搜索内容应该由简单的LCX扩展到wscrīpt.shell等更加广泛与匹配的关键词的查找
&dH'l$F k010、审核文件及目录权限。仔细检查重要的目录或文件的权限是否适当。DOIT博客1Y8qRJ#ih,T4K
11、审查应用程序及系统的升级情况。如系统安全补丁、Serv-U等工具是否必需升级。
?)Vk'qHl6V H(_012、审查IP过滤策略。如果TCP过滤未开,IPSEC未指派则非常危险!
;u2zT*}@6z0DOIT博客 S _q$NBphU
深山红叶收集整理

TAG: 我的工作

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-08-09  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 10882
  • 日志数: 48
  • 图片数: 7
  • 建立时间: 2006-08-21
  • 更新时间: 2008-08-06

RSS订阅

Open Toolbar