一位高手整理的IIS FAQ
G) [* |6 q4 |! y9 _下面是一位高手整理的问题精华,大家好好看看吧,收获肯定很大的! 2 g$ E( e1 f2 i, l) M
1.如何让asp脚本以system权限运行 / x: |* u/ I9 I7 f* y$ K
修改你asp脚本所对应的虚拟目录,把"应用程序保护"修改为"低"....
! Z# W8 K; f0 w* V5 x; G: U: {2.如何防止asp木马
5 _9 M* f" P& \8 l) T! a 基于FileSystemObject组件的asp木马 cacls %systemroot%\system32\scrrun.dll /e /d guests //禁止guests使用 & }* A% [# k6 P j% E- z
regsvr32 scrrun.dll /u /s //删除
. S% m7 H" ^# ` 基于shell.application组件的asp木马 7 s/ f' _: z* g4 m& w3 A6 w
cacls %systemroot%\system32\shell32.dll /e /d guests //禁止guests使用
0 b+ M9 e4 L( n- \% Y: e7 l% h regsvr32 shell32.dll /u /s //删除
& e* c- \; T1 H% ^+ J3.如何加密asp文件 # z) d7 ?5 Y' |8 p
从微软免费下载到sce10chs.exe 直接运行即可完成安装过程。
5 Q- }; |( \2 Y t+ b% }7 Z 安装完毕后,将生成screnc.exe文件,这是一个运行在DOS PROMAPT的命令工具。 & F3 z/ N- X, ^6 }: ]+ P7 e
运行screnc - l vbscript source.asp destination.asp
0 Z3 n; y! ~% z, J7 L. k 生成包含密文ASP脚本的新文件destination.asp
( G% j8 ^; F+ v6 T 用记事本打开看凡是""之内的,不管是否注解,都变成不可阅读的密文了 1 D( m/ m. n' _* G; _: p" A& t# @1 @
但无法加密中文。 3 o9 A! O6 Q9 e0 Y s) [5 X
4.如何从IISLockdown中提取urlscan
8 v; a( r, `$ ^; D2 b iislockd.exe /q /c /t:c:\urlscan ( N5 C) \! R) W, K. L: B& x3 f: d w: `
5.如何防止Content-Location标头暴露了web服务器的内部IP地址
+ c% T# z( M$ Q( C) G7 j# H 执行 ' b& H) `4 D& j" R4 u
cscript c:\inetpub\adminscripts\adsutil.vbs set w3svc/UseHostName True 1 Q$ m: U1 A/ q) K, d) L4 Q+ q
最后需要重新启动iis ) l" p3 H1 ^0 j V
6.如何解决HTTP500内部错误 m, b! b1 O8 W# A" E) a# g3 ^
iis http500内部错误大部分原因 # k4 n4 z) j* p; y$ [0 q
主要是由于iwam账号的密码不同步造成的。
4 ?4 j0 B9 A8 y- o8 K 我们只要同步iwam_myserver账号在com+应用程序中的密码即可解决问题。
6 D- d0 _7 t8 h- N% A 执行
; f0 \! b0 U. J) A4 i8 z cscript c:\inetpub\adminscripts\synciwam.vbs -v 8 ]% {9 W, o" r
7.如何增强iis防御SYN Flood的能力 ' r* X. Q6 Z8 c3 j3 R9 i) V+ c5 P
Windows Registry Editor Version 5.00 6 I+ p) L& X+ l6 _
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] ! ]- v- m) S( o6 [& y2 I2 e
启动syn攻击保护。缺省项值为0,表示不开启攻击保护,项值为1和2表示启动syn攻击保护,设成2之后
( {* Z8 N9 i% v% s# X3 m 安全级别更高,对何种状况下认为是攻击,则需要根据下面的TcpMaxHalfOpen和TcpMaxHalfOpenRetried值 设定的条件来触发启动了。这里需要注意的是,NT4.0必须设为1,设为2后在某种特殊数据包下会导致系统重启。
& m: v- b) v- G# C& b! u6 U "SynAttackProtect"=dword:00000002 同时允许打开的半连接数量。所谓半连接,表示未完整建立的TCP会话,用netstat命令可以看到呈SYN_RCVD状态的就是。这里使用微软建议值,服务器设为100,高级服务器设为500。建议可以设稍微小一点。 4 t( x# Q: {6 B+ ?# |+ ]* G# j
"TcpMaxHalfOpen"=dword:00000064 . L% X5 j& J y. I( P& {8 w
判断是否存在攻击的触发点。这里使用微软建议值,服务器为80,高级服务器为400。
. S# k3 U0 t8 C "TcpMaxHalfOpenRetried"=dword:00000050 $ f/ R( H; k7 a+ I& M
设置等待SYN-ACK时间。缺省项值为3,缺省这一过程消耗时间45秒。项值为2,消耗时间为21秒。
9 t; A! V, n( `1 {( I 项值为1,消耗时间为9秒。最低可以设为0,表示不等待,消耗时间为3秒。这个值可以根据遭受攻击规模修改。 + Q( U; y( _/ V n% n) Q4 n7 |
微软站点安全推荐为2。
' h( N' z! n8 B "TcpMaxConnectResponseRetransmissions"=dword:00000001
8 ], W+ F/ j. x- T4 y; u, Y1 j 设置TCP重传单个数据段的次数。缺省项值为5,缺省这一过程消耗时间240秒。微软站点安全推荐为3。
- ^& @) ~6 F* t' O! d6 G "TcpMaxDataRetransmissions"=dword:00000003
7 r+ `6 v9 H' | O/ y9 g# ? 设置syn攻击保护的临界点。当可用的backlog变为0时,此参数用于控制syn攻击保护的开启,微软站点安全推荐为5。 2 c7 T, O2 I$ I
"TCPMaxPortsExhausted"=dword:00000005 . z9 H( K9 b* H6 c- o0 o
禁止IP源路由。缺省项值为1,表示不转发源路由包,项值设为0,表示全部转发,设置为2,表示丢弃所有接受的源路由包,微软站点安全推荐为2。 ; b% y5 w$ |9 y# A
"DisableIPSourceRouting"=dword:0000002 1 M9 _1 ]6 i- \/ S8 e6 b2 ~$ r
限制处于TIME_WAIT状态的最长时间。缺省为240秒,最低为30秒,最高为300秒。建议设为30秒。 $ z" L% ?. \' p% {
"TcpTimedWaitDelay"=dword:0000001e
+ T! j% j% X# B5 z% y8.如何避免*mdb文件被下载 Q( t4 w, i5 a( s# s# z
安装ms发布的urlscan工具,可以从根本上解决这个问题。
g4 |$ M) N- m) y g 同时它也是一个强大的安全工具,你可以从ms的网站上获取更为详细的信息。 . N( w- c: y- I* m3 M
9.如何让iis的最小ntfs权限运行 % n4 b0 L: Q; `1 P
依次做下面的工作:
# S: ^, ]4 J0 _. B, Y" T' h; h a.选取整个硬盘:
0 ?; h! n* ?, {# i: O3 r system:完全控制 $ K* h: a1 [' B9 @, z/ {# S& f" C
administrator:完全控制
: O, C. o+ n$ K9 b9 g' O (允许将来自父系的可继承性权限传播给对象)
1 m% s* ?+ y- @ b.\program files\common files:
( _( G# A _" y( ?) J everyone:读取及运行
: b! U8 s% o5 V 列出文件目录 & X& N+ z9 B" E! Z0 |
读取 - Z+ `* ?% z' H W4 u3 I% _
(允许将来自父系的可继承性权限传播给对象)
1 O+ Z! j3 z! I- H- n2 T; E c.\inetpub\wwwroot:
! w; u2 I9 e* y$ c& d0 H, P) z+ z iusr_machine:读取及运行
' _* F2 t# V& P( T, {8 X" J; A 列出文件目录
. w+ k7 p5 @9 ]' A+ d/ A 读取 5 [0 W2 N h, n/ r5 z+ c
(允许将来自父系的可继承性权限传播给对象) 8 ?4 [0 ]/ V8 Z2 ^5 K( s
e.\winnt\system32: 7 |* z9 k: M. H! v
选择除inetsrv和centsrv以外的所有目录,
+ E+ u& j K6 F0 x7 n 去除“允许将来自父系的可继承性权限传播给对象”选框,复制。
# V- c3 P) s) c5 x& k& `+ h* ` f.\winnt:
6 D* y. e/ n( t9 k! L" f 选择除了downloaded program files、help、iis temporary compressed files、 3 C# `0 Z5 Z) t3 ]* y0 w6 r
offline web pages、system32、tasks、temp、web以外的所有目录 $ ^6 _; U. q1 h+ F1 H7 u
去除“允许将来自父系的可继承性权限传播给对象”选框,复制。 8 s9 _8 w: n6 h1 _1 s2 g
g.\winnt: , _6 h3 r! {/ z. r
everyone:读取及运行 3 z9 ~. D: a9 }( e G# y
列出文件目录 ! ?# R5 Z" ~4 v6 z% I! ]: {
读取
2 l% g( t$ `5 M2 \ (允许将来自父系的可继承性权限传播给对象) . \3 {$ Y) j9 u: g9 G, {$ X" B9 e) p
h.\winnt\temp:(允许访问数据库并显示在asp页面上) 9 H5 n; C7 u) X+ M$ E9 O
everyone:修改 * K [0 h% Y. t, `
(允许将来自父系的可继承性权限传播给对象) * K. D( Q2 _% h' c$ w
10.如何隐藏iis版本 " S2 Y" C) S. p
一个黑客可以可以轻易的telnet到你的web端口,发送get命令来获取很多信息 / i* `0 F; q2 |* |, V" S
iis存放IIS BANNER的所对应的dll文件如下:
1 ~( `7 w2 S. |7 R WEB:C:\WINNT\SYSTEM32\INETSRV\W3SVC.DLL - W* y, f1 M' o- |
FTP:C:\WINNT\SYSTEM32\INETSRV\FTPSVC2.DLL
5 G0 G8 M/ N8 z' g SMTP:C:\WINNT\SYSTEM32\INETSRV\SMTPSVC.DLL 5 A8 M0 Z4 X: D3 B% M6 R; S: d
你可以用16进制编辑器去修改那些dll文件的关键字,比如iis的Microsoft-IIS/5.0 ! c3 o6 F3 @3 ~) M" ?4 Z* r) J1 t
具体过程如下:
8 [# r$ ^5 M/ G9 d 1.停掉iis iisreset /stop
: ~3 c, L: b$ w3 D& g5 N3 ` 2.删除%SYSTEMROOT%\system32\dllcache目录下的同名文件 - H$ [, c1 A- c
3.修改 |