一位高手整理的IIS FAQ * E @; [- {0 ~; X5 J5 I
下面是一位高手整理的问题精华,大家好好看看吧,收获肯定很大的! 8 n7 l9 f8 e7 i
1.如何让asp脚本以system权限运行 6 L. _& I* A$ S; q
修改你asp脚本所对应的虚拟目录,把"应用程序保护"修改为"低"....
+ R2 `, B. }& S* k2 |: f2.如何防止asp木马 7 z5 c6 m9 q, e/ c D3 B# A
基于FileSystemObject组件的asp木马 cacls %systemroot%\system32\scrrun.dll /e /d guests //禁止guests使用 `4 |( W7 Z" W' F
regsvr32 scrrun.dll /u /s //删除 8 a' }* w, U. ?- A4 O% J/ J/ w1 n+ z
基于shell.application组件的asp木马 3 p' }$ s- ?% A* q) ^
cacls %systemroot%\system32\shell32.dll /e /d guests //禁止guests使用 / v3 u( X: r" i! v
regsvr32 shell32.dll /u /s //删除 ) U; s0 O d# \' y- L1 s6 u
3.如何加密asp文件 - f' Y. r* y7 S/ L
从微软免费下载到sce10chs.exe 直接运行即可完成安装过程。 8 e F# q" D# c% ~7 O
安装完毕后,将生成screnc.exe文件,这是一个运行在DOS PROMAPT的命令工具。 6 i2 E5 I5 f+ u2 C# t G$ n/ \/ Q
运行screnc - l vbscript source.asp destination.asp
/ j0 @3 s% O: D) M- p9 X9 s 生成包含密文ASP脚本的新文件destination.asp 5 j2 {. G' V2 `2 B, r! M! t
用记事本打开看凡是""之内的,不管是否注解,都变成不可阅读的密文了
[( v6 f' I+ Y4 p v2 n 但无法加密中文。 % q' E! O" ?7 n. j$ C, W; x) I
4.如何从IISLockdown中提取urlscan . {7 }9 i" b* l6 M, C& ^/ q
iislockd.exe /q /c /t:c:\urlscan
( M% O$ J0 |9 ~* N B5.如何防止Content-Location标头暴露了web服务器的内部IP地址 4 |! `& h" ?& _4 {9 s; q( N2 `
执行 - r+ m$ ]+ x0 _5 C6 F9 q( a
cscript c:\inetpub\adminscripts\adsutil.vbs set w3svc/UseHostName True
* B1 f0 @% ~# o3 ^' K! R 最后需要重新启动iis
) m. s6 V+ A; I! t8 x7 f0 \+ U6.如何解决HTTP500内部错误
# m7 T ?+ h8 ?4 m4 k iis http500内部错误大部分原因 ' F0 e2 u: I. c9 j" U8 V' G. k
主要是由于iwam账号的密码不同步造成的。 2 i, R! ~& t' n) G5 E! g h
我们只要同步iwam_myserver账号在com+应用程序中的密码即可解决问题。
+ k5 G* ]* _6 a 执行
/ Q* M( G. b: N1 D cscript c:\inetpub\adminscripts\synciwam.vbs -v $ e( d2 _* i7 K/ l) D
7.如何增强iis防御SYN Flood的能力
% c* C) U! q" b7 f Windows Registry Editor Version 5.00 $ U" T& ]1 L+ q! |9 z/ c
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
: `# W3 Q4 D7 y0 A) H8 G0 N 启动syn攻击保护。缺省项值为0,表示不开启攻击保护,项值为1和2表示启动syn攻击保护,设成2之后
# x8 u1 S9 u- A: V+ Z 安全级别更高,对何种状况下认为是攻击,则需要根据下面的TcpMaxHalfOpen和TcpMaxHalfOpenRetried值 设定的条件来触发启动了。这里需要注意的是,NT4.0必须设为1,设为2后在某种特殊数据包下会导致系统重启。 & \/ q8 H. t( o, d) J4 J1 ?
"SynAttackProtect"=dword:00000002 同时允许打开的半连接数量。所谓半连接,表示未完整建立的TCP会话,用netstat命令可以看到呈SYN_RCVD状态的就是。这里使用微软建议值,服务器设为100,高级服务器设为500。建议可以设稍微小一点。 . i O/ X% i; H6 ?9 n6 R9 |
"TcpMaxHalfOpen"=dword:00000064
9 W3 E e! b6 H1 j 判断是否存在攻击的触发点。这里使用微软建议值,服务器为80,高级服务器为400。 X! Q, k8 `3 l5 J* c
"TcpMaxHalfOpenRetried"=dword:00000050
, ]1 P* S$ ?. r+ S9 {* c9 v' j. u 设置等待SYN-ACK时间。缺省项值为3,缺省这一过程消耗时间45秒。项值为2,消耗时间为21秒。 ; V- X6 `7 P+ @- n) c3 j
项值为1,消耗时间为9秒。最低可以设为0,表示不等待,消耗时间为3秒。这个值可以根据遭受攻击规模修改。 ! ~3 i5 a8 ]+ n8 Z) d
微软站点安全推荐为2。
& \& `. A3 a- n; X. u "TcpMaxConnectResponseRetransmissions"=dword:00000001
4 }9 A- ]2 @$ r3 b4 k" ~8 A; @ 设置TCP重传单个数据段的次数。缺省项值为5,缺省这一过程消耗时间240秒。微软站点安全推荐为3。
0 b- B: A' l! _2 o. s "TcpMaxDataRetransmissions"=dword:00000003 # a! {7 G! R( k c1 a
设置syn攻击保护的临界点。当可用的backlog变为0时,此参数用于控制syn攻击保护的开启,微软站点安全推荐为5。
: w [! {$ Z: ]: N "TCPMaxPortsExhausted"=dword:00000005
* D3 N: f. u; }- [+ C4 m( A 禁止IP源路由。缺省项值为1,表示不转发源路由包,项值设为0,表示全部转发,设置为2,表示丢弃所有接受的源路由包,微软站点安全推荐为2。
0 R4 o# F m, ]7 G% z3 f$ E% `8 J "DisableIPSourceRouting"=dword:0000002
; ]7 `' V4 [' { 限制处于TIME_WAIT状态的最长时间。缺省为240秒,最低为30秒,最高为300秒。建议设为30秒。 4 P% s# c, Z9 v1 P1 @1 D) S- ~
"TcpTimedWaitDelay"=dword:0000001e $ a9 S5 i4 z1 D( N
8.如何避免*mdb文件被下载 9 {" f1 _2 z2 d5 j% p0 ^- h c
安装ms发布的urlscan工具,可以从根本上解决这个问题。 . C% q b: f( P
同时它也是一个强大的安全工具,你可以从ms的网站上获取更为详细的信息。 5 ] B& {! C% p1 c9 t3 Q# i
9.如何让iis的最小ntfs权限运行 # V0 `) U2 Y- ` W% u9 _
依次做下面的工作: t! |# g# I/ r* Y6 J" t; E
a.选取整个硬盘:
( w- j" E, @. t7 v& g system:完全控制
4 H3 p& V- D3 v6 w0 A5 P* s administrator:完全控制 ' K$ U O- l5 o- A6 q8 g
(允许将来自父系的可继承性权限传播给对象)
" ]( p8 Q7 [: F D b.\program files\common files:
0 d8 A2 n3 g, h& _" F everyone:读取及运行
& Q+ H, K y9 r% E6 M+ t 列出文件目录 % M' u& r2 ~8 C" o+ V) N0 U4 m
读取
0 k# q1 k' E) m$ V (允许将来自父系的可继承性权限传播给对象)
. Z" u' @" ]3 A( u2 o0 }$ m c.\inetpub\wwwroot:
1 R5 A0 `5 }9 X2 n- t iusr_machine:读取及运行
' d5 {6 K" m- a5 ^, ]7 U* p 列出文件目录
' Z6 r/ z5 `4 ^ 读取 9 g+ I% V U; v
(允许将来自父系的可继承性权限传播给对象)
7 m4 a* |9 R0 c" i8 X e.\winnt\system32:
$ a! A6 l8 w& l2 m- F 选择除inetsrv和centsrv以外的所有目录, 7 D! B! Y/ e% C
去除“允许将来自父系的可继承性权限传播给对象”选框,复制。 8 F0 C! ^4 C5 U4 z" k8 A
f.\winnt: 9 L w6 r# M) H4 _) [% @
选择除了downloaded program files、help、iis temporary compressed files、 9 D* `/ w4 \8 r( s9 M2 {% I0 J! J
offline web pages、system32、tasks、temp、web以外的所有目录
5 ]2 q7 S: ` \5 f* f 去除“允许将来自父系的可继承性权限传播给对象”选框,复制。
- `, X0 z4 G' i( {- {5 b& I; U g.\winnt:
7 t! z- r# m' V everyone:读取及运行
3 f# R0 W( ^/ y; U7 H. L 列出文件目录 ( R& R. [$ M% W* Z1 T. l7 l
读取
- g: R" f# R( _, c4 i" t$ p( { (允许将来自父系的可继承性权限传播给对象)
1 K; e( ~4 W$ i, }0 X/ @ h.\winnt\temp:(允许访问数据库并显示在asp页面上) 0 s+ _( Z, M6 z
everyone:修改
f( X4 X! z. ^, K' N (允许将来自父系的可继承性权限传播给对象) 6 q( O9 z4 \/ Z+ U3 e* k
10.如何隐藏iis版本 - g M7 ]6 B7 l9 L3 \6 w- n
一个黑客可以可以轻易的telnet到你的web端口,发送get命令来获取很多信息 - P! S8 l6 T- P
iis存放IIS BANNER的所对应的dll文件如下:
0 y- {/ z9 _2 W! R& t WEB:C:\WINNT\SYSTEM32\INETSRV\W3SVC.DLL & R$ H% Q6 _5 g1 y+ e
FTP:C:\WINNT\SYSTEM32\INETSRV\FTPSVC2.DLL 4 n% I4 X+ |1 B; c, Z
SMTP:C:\WINNT\SYSTEM32\INETSRV\SMTPSVC.DLL
: [- c1 q4 W( d 你可以用16进制编辑器去修改那些dll文件的关键字,比如iis的Microsoft-IIS/5.0
k3 W0 i: V% \' t4 {' R 具体过程如下: ' |* A. b) k+ A3 N! n# \
1.停掉iis iisreset /stop & o: ?+ G( F1 j" P7 q
2.删除%SYSTEMROOT%\system32\dllcache目录下的同名文件 1 p" k8 Q4 l R- G5 A; Z$ l! c
3.修改 |