一位高手整理的IIS FAQ
) j& D. `$ @5 |- S! s6 K' Z下面是一位高手整理的问题精华,大家好好看看吧,收获肯定很大的! 9 Y k& y" a2 M+ E- u
1.如何让asp脚本以system权限运行 + A# u3 w( P# M
修改你asp脚本所对应的虚拟目录,把"应用程序保护"修改为"低".... * S0 p1 ?+ S4 J+ X3 \; b4 d
2.如何防止asp木马
: ^( R3 j3 g* S 基于FileSystemObject组件的asp木马 cacls %systemroot%\system32\scrrun.dll /e /d guests //禁止guests使用
' i; @- y8 x4 V' A% y% H0 y regsvr32 scrrun.dll /u /s //删除
% N; ]3 A7 J U! ? u, ~8 k 基于shell.application组件的asp木马
6 W Q/ @- \+ y% M4 U cacls %systemroot%\system32\shell32.dll /e /d guests //禁止guests使用
9 G) R) o( l2 _ regsvr32 shell32.dll /u /s //删除 + U$ h/ e( a" V+ y; Z/ q
3.如何加密asp文件 & p" V4 J, \) |3 w! w j7 N% e( F
从微软免费下载到sce10chs.exe 直接运行即可完成安装过程。 0 B ]2 v/ M6 y6 n! H/ K) a+ a# ]
安装完毕后,将生成screnc.exe文件,这是一个运行在DOS PROMAPT的命令工具。
+ A% ?, E. s$ w9 b1 U1 m6 a 运行screnc - l vbscript source.asp destination.asp
% R' U9 R- J W1 |# p7 M4 x 生成包含密文ASP脚本的新文件destination.asp
* A6 E+ u6 V3 I. k$ U: S 用记事本打开看凡是""之内的,不管是否注解,都变成不可阅读的密文了
3 R n; j q8 T8 k e% L 但无法加密中文。
5 r f& N. [5 q5 J5 }" W1 J n4.如何从IISLockdown中提取urlscan ' D" {5 w( x3 O! X! q$ s
iislockd.exe /q /c /t:c:\urlscan
. X2 H& I# G5 N- e# W) u5.如何防止Content-Location标头暴露了web服务器的内部IP地址 2 k9 F* O% y. a# E, Y
执行 ( r( k0 a5 N$ p! [. p
cscript c:\inetpub\adminscripts\adsutil.vbs set w3svc/UseHostName True / W* \ I/ D0 K& ? H+ A% j
最后需要重新启动iis 4 M" o: p( O G- |. e
6.如何解决HTTP500内部错误 % [& z7 T5 O: u7 e* N* [) ^
iis http500内部错误大部分原因
* y; c5 K) H7 f8 K5 G6 G" M) R 主要是由于iwam账号的密码不同步造成的。 2 h( r) l1 \; o# Y. L2 U$ K7 n5 [
我们只要同步iwam_myserver账号在com+应用程序中的密码即可解决问题。
; U# K1 H9 P3 E J+ |# q 执行
8 I+ B3 o) n) ^, F" ` cscript c:\inetpub\adminscripts\synciwam.vbs -v * G7 w+ O1 O% [6 |3 L+ N. }, S
7.如何增强iis防御SYN Flood的能力 ( _3 q0 V2 z Z6 W9 R) X
Windows Registry Editor Version 5.00
) @9 J$ g$ i2 D7 h [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] ( y1 N! S" d3 d2 N. X
启动syn攻击保护。缺省项值为0,表示不开启攻击保护,项值为1和2表示启动syn攻击保护,设成2之后
, ^! B4 | T4 K 安全级别更高,对何种状况下认为是攻击,则需要根据下面的TcpMaxHalfOpen和TcpMaxHalfOpenRetried值 设定的条件来触发启动了。这里需要注意的是,NT4.0必须设为1,设为2后在某种特殊数据包下会导致系统重启。
$ e2 P5 O- b+ I' e2 O "SynAttackProtect"=dword:00000002 同时允许打开的半连接数量。所谓半连接,表示未完整建立的TCP会话,用netstat命令可以看到呈SYN_RCVD状态的就是。这里使用微软建议值,服务器设为100,高级服务器设为500。建议可以设稍微小一点。 # g. X8 P# m. h7 B- @
"TcpMaxHalfOpen"=dword:00000064
5 X/ v1 @" J8 N$ ~( }. ?+ l0 }2 y 判断是否存在攻击的触发点。这里使用微软建议值,服务器为80,高级服务器为400。 ; i$ b+ E( K% z6 Z4 X' r! {3 G
"TcpMaxHalfOpenRetried"=dword:00000050 ' r! O" Q% w! o8 j7 C2 ]/ D, j% L
设置等待SYN-ACK时间。缺省项值为3,缺省这一过程消耗时间45秒。项值为2,消耗时间为21秒。
+ [' E( {4 }5 t 项值为1,消耗时间为9秒。最低可以设为0,表示不等待,消耗时间为3秒。这个值可以根据遭受攻击规模修改。
C/ `* @5 \8 R" [5 D 微软站点安全推荐为2。
. ^# w! f5 r" ] `2 K3 c9 ^ "TcpMaxConnectResponseRetransmissions"=dword:00000001 % t/ @. l' z! g4 p* D5 h
设置TCP重传单个数据段的次数。缺省项值为5,缺省这一过程消耗时间240秒。微软站点安全推荐为3。
7 r# U0 s. N1 b5 i" H$ I- d "TcpMaxDataRetransmissions"=dword:00000003
+ {6 P" T, Q2 R4 t9 H 设置syn攻击保护的临界点。当可用的backlog变为0时,此参数用于控制syn攻击保护的开启,微软站点安全推荐为5。
, C( S/ X/ N3 B0 I6 S! X "TCPMaxPortsExhausted"=dword:00000005
5 B5 M% V# Q6 c/ F1 J9 b) R 禁止IP源路由。缺省项值为1,表示不转发源路由包,项值设为0,表示全部转发,设置为2,表示丢弃所有接受的源路由包,微软站点安全推荐为2。 5 `( B' C. G6 X
"DisableIPSourceRouting"=dword:0000002
, y$ }$ x4 P' h; k# h& i0 y 限制处于TIME_WAIT状态的最长时间。缺省为240秒,最低为30秒,最高为300秒。建议设为30秒。 $ J: E/ d! [5 t; G) [6 H2 T5 ]
"TcpTimedWaitDelay"=dword:0000001e , q. K: r! A) h- {
8.如何避免*mdb文件被下载
4 |9 G& }! O# }* D 安装ms发布的urlscan工具,可以从根本上解决这个问题。
6 i5 s1 s- D5 J% J2 N; R* B 同时它也是一个强大的安全工具,你可以从ms的网站上获取更为详细的信息。 1 V5 @% ~& V7 p- m
9.如何让iis的最小ntfs权限运行
, Z: |4 c6 `# f5 w' @$ O% v. c 依次做下面的工作:
2 _& m' g$ p( A a.选取整个硬盘: 9 u1 J5 A0 l q* j' }- I$ f# ]
system:完全控制 8 y- }+ Z" x: Y/ |
administrator:完全控制 3 m9 a2 C, o/ v" }" G3 s! _/ V
(允许将来自父系的可继承性权限传播给对象) & A" k9 j0 z4 I, P& d9 D
b.\program files\common files: & [; ?: o/ H! \3 L- j+ A r
everyone:读取及运行
$ s+ \% r% y7 S' @0 E 列出文件目录 % M& t2 m! H+ G
读取 * b8 J- d" J" K8 t* j
(允许将来自父系的可继承性权限传播给对象)
8 z( Z& O0 x+ V6 S: j. L c.\inetpub\wwwroot: * J: j& u7 d" f( D3 @3 `& `
iusr_machine:读取及运行 : \9 i/ w, X0 ?9 b7 G
列出文件目录
& |2 N4 }4 f+ O! i( E- M0 J 读取
8 J4 I. X- m! w* A5 Y: \ (允许将来自父系的可继承性权限传播给对象) ) n7 U; ~: ]& t) m
e.\winnt\system32:
0 X( S/ Z7 q3 r; o 选择除inetsrv和centsrv以外的所有目录,
4 S+ k) E$ i. Z 去除“允许将来自父系的可继承性权限传播给对象”选框,复制。 ^: j5 a& k* I3 a
f.\winnt:
$ A. p' E. a( w6 z$ W1 o 选择除了downloaded program files、help、iis temporary compressed files、
: d, G3 G" A" D/ i8 b$ K3 e; T offline web pages、system32、tasks、temp、web以外的所有目录
& Z6 [" ~5 Y+ B# e! T 去除“允许将来自父系的可继承性权限传播给对象”选框,复制。
& A4 J) l: E0 Y2 y# L0 [ g.\winnt: ) J1 s3 {5 V" t8 B; q3 S
everyone:读取及运行 5 k* p5 A. U* U
列出文件目录
6 v* L+ _5 }6 ?+ L5 @4 b. u' j2 b 读取
* Y3 b9 e1 _ |$ G/ T& }( j8 k& d" U (允许将来自父系的可继承性权限传播给对象)
2 z h! Y/ |6 c4 v h.\winnt\temp:(允许访问数据库并显示在asp页面上) $ \! Q% I$ B1 R% ~# x6 ]4 Q- O& x! h
everyone:修改
8 f% `0 t3 C0 s( x& N (允许将来自父系的可继承性权限传播给对象)
7 X4 e0 o7 W# P! M' I f10.如何隐藏iis版本
4 _' Y4 [5 a0 r, b& ^ 一个黑客可以可以轻易的telnet到你的web端口,发送get命令来获取很多信息
/ Q/ o1 b3 V/ ^4 ]: A/ r iis存放IIS BANNER的所对应的dll文件如下:
) w" G4 i0 \( M6 f* z; h8 w) h WEB:C:\WINNT\SYSTEM32\INETSRV\W3SVC.DLL
4 H8 L# B3 g% r5 k/ y7 C6 h% d FTP:C:\WINNT\SYSTEM32\INETSRV\FTPSVC2.DLL # a' D, T8 n. }. k% ~
SMTP:C:\WINNT\SYSTEM32\INETSRV\SMTPSVC.DLL + r/ h" s* i0 k7 u" J7 x
你可以用16进制编辑器去修改那些dll文件的关键字,比如iis的Microsoft-IIS/5.0 ( o; B* j8 l! w1 D; A H
具体过程如下:
# Q8 N; z s$ b( L/ j3 b- W 1.停掉iis iisreset /stop 4 k, F( K, T2 v+ t% n
2.删除%SYSTEMROOT%\system32\dllcache目录下的同名文件 6 w% ~& `- }3 z+ Q! F
3.修改 |