|
一位高手整理的IIS FAQ
) q) U! V- q7 N9 F! j下面是一位高手整理的问题精华,大家好好看看吧,收获肯定很大的! ; f, Z$ @7 T. M0 `
1.如何让asp脚本以system权限运行
T' A( Y) e- b+ e3 C0 c! z5 v: b 修改你asp脚本所对应的虚拟目录,把"应用程序保护"修改为"低".... V, f$ D! z3 K
2.如何防止asp木马
% ^$ R. X' N& X4 x6 e& r( n 基于FileSystemObject组件的asp木马 cacls %systemroot%\system32\scrrun.dll /e /d guests //禁止guests使用 5 D/ H9 j; ^* b: f3 h) f
regsvr32 scrrun.dll /u /s //删除
7 y8 n* H2 g# P' J ^# { 基于shell.application组件的asp木马
* U1 B# \) J6 b$ g0 B) { cacls %systemroot%\system32\shell32.dll /e /d guests //禁止guests使用 " R) x% y+ M2 L
regsvr32 shell32.dll /u /s //删除 . z4 Z& s8 s) E
3.如何加密asp文件 8 @, r* U b Q$ T5 ]/ D& d y$ c8 c
从微软免费下载到sce10chs.exe 直接运行即可完成安装过程。 : E0 d6 `+ }3 u, C# O2 w$ [7 q1 H" e
安装完毕后,将生成screnc.exe文件,这是一个运行在DOS PROMAPT的命令工具。
5 `3 x- }+ F0 _4 e 运行screnc - l vbscript source.asp destination.asp d$ t. h# o% K9 N5 `2 k1 X" z
生成包含密文ASP脚本的新文件destination.asp
$ h: |& V9 ~* W 用记事本打开看凡是""之内的,不管是否注解,都变成不可阅读的密文了
4 K7 b" q: o, Z( x/ J. ^ 但无法加密中文。
; M2 D: p3 v. D& v3 j+ f4.如何从IISLockdown中提取urlscan
X n @7 ? T* B+ i iislockd.exe /q /c /t:c:\urlscan
, \6 R! R5 g2 @4 Z! w- {; @0 B, A5.如何防止Content-Location标头暴露了web服务器的内部IP地址 ! |4 ]: l N5 }. N4 N) a
执行 ! F$ [- I/ Z$ |: X. E- v* e$ e
cscript c:\inetpub\adminscripts\adsutil.vbs set w3svc/UseHostName True . {2 i c& x( U& i
最后需要重新启动iis
. I! n+ `7 N. D) x0 G7 R# K, {, Y6.如何解决HTTP500内部错误
- k% D) y) ?$ |! t# Z$ j iis http500内部错误大部分原因
2 Q- y/ _8 T! g* b/ x; ~# r 主要是由于iwam账号的密码不同步造成的。 * R1 S/ m6 s7 ?
我们只要同步iwam_myserver账号在com+应用程序中的密码即可解决问题。 1 o0 k# @9 r- K6 |6 a" k Z+ x# w
执行
% P t2 K6 o7 J6 T' t6 I: z0 y cscript c:\inetpub\adminscripts\synciwam.vbs -v
) G; X- k2 f7 s/ s+ @/ M/ E7.如何增强iis防御SYN Flood的能力 k6 ~( T4 z+ o" ?% t
Windows Registry Editor Version 5.00
- M: x5 l/ Z+ P; R0 h% M [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] 8 ~- Z1 a# q) Y% f4 g, F
启动syn攻击保护。缺省项值为0,表示不开启攻击保护,项值为1和2表示启动syn攻击保护,设成2之后
9 h' a4 V: H/ @7 s; B9 U 安全级别更高,对何种状况下认为是攻击,则需要根据下面的TcpMaxHalfOpen和TcpMaxHalfOpenRetried值 设定的条件来触发启动了。这里需要注意的是,NT4.0必须设为1,设为2后在某种特殊数据包下会导致系统重启。
: p6 p1 h; u3 @1 L" l "SynAttackProtect"=dword:00000002 同时允许打开的半连接数量。所谓半连接,表示未完整建立的TCP会话,用netstat命令可以看到呈SYN_RCVD状态的就是。这里使用微软建议值,服务器设为100,高级服务器设为500。建议可以设稍微小一点。
! O6 F0 z2 Z* k: }: s* E+ X% p3 S) z "TcpMaxHalfOpen"=dword:00000064
% Z' x5 e: ~8 a% d+ R* v! c1 O" \! t5 | 判断是否存在攻击的触发点。这里使用微软建议值,服务器为80,高级服务器为400。
) e4 b" p$ Q9 g& [& R "TcpMaxHalfOpenRetried"=dword:00000050 ! u7 j) L e9 P* k- p6 @6 C
设置等待SYN-ACK时间。缺省项值为3,缺省这一过程消耗时间45秒。项值为2,消耗时间为21秒。 ) O$ }% J; L" L0 \( L% E' @
项值为1,消耗时间为9秒。最低可以设为0,表示不等待,消耗时间为3秒。这个值可以根据遭受攻击规模修改。
3 i% N7 [/ O9 u 微软站点安全推荐为2。
/ c: D" J! i$ g, M8 U1 I "TcpMaxConnectResponseRetransmissions"=dword:00000001
: K8 u" @' A2 W& P' c# z 设置TCP重传单个数据段的次数。缺省项值为5,缺省这一过程消耗时间240秒。微软站点安全推荐为3。 0 x2 ~; F$ ^7 D9 x3 T
"TcpMaxDataRetransmissions"=dword:00000003
0 _9 J1 T% G' Z 设置syn攻击保护的临界点。当可用的backlog变为0时,此参数用于控制syn攻击保护的开启,微软站点安全推荐为5。 / b* M+ G' _; c! i; e" i5 D
"TCPMaxPortsExhausted"=dword:00000005 0 u1 C4 X( r) N. E) m9 B
禁止IP源路由。缺省项值为1,表示不转发源路由包,项值设为0,表示全部转发,设置为2,表示丢弃所有接受的源路由包,微软站点安全推荐为2。 ' y$ O+ H9 u$ T% H) m; m) ]
"DisableIPSourceRouting"=dword:0000002
5 J# ]5 `5 e; G a 限制处于TIME_WAIT状态的最长时间。缺省为240秒,最低为30秒,最高为300秒。建议设为30秒。
B8 v' z1 o% u- e9 S "TcpTimedWaitDelay"=dword:0000001e
3 e5 a" E6 Q: }$ e% f8.如何避免*mdb文件被下载
]% }/ }/ s& x( l- Y5 p: d 安装ms发布的urlscan工具,可以从根本上解决这个问题。 7 U0 N8 p5 B8 V L5 I% K1 c2 \2 |
同时它也是一个强大的安全工具,你可以从ms的网站上获取更为详细的信息。 ' U8 D4 \2 w5 Q/ Q4 h6 G( X& j1 q
9.如何让iis的最小ntfs权限运行 - i2 D' p7 g! `
依次做下面的工作: 4 Y& W2 n* {; v" f' o4 M+ j( r
a.选取整个硬盘: 3 K+ ^1 S$ P; e
system:完全控制 / [- E, \4 T7 I
administrator:完全控制 3 w1 o( ^5 X! y; b" I; N
(允许将来自父系的可继承性权限传播给对象) ; e N( C+ o6 F2 ]4 Q, s
b.\program files\common files: ! z; ?. s" d5 M6 @
everyone:读取及运行
4 p" K1 ^( `/ r; }8 `# ?2 Q 列出文件目录
% W: F2 [9 r( C" E 读取 5 |, T1 \- D/ |5 C
(允许将来自父系的可继承性权限传播给对象)
* E) }/ V Y; b6 x9 g4 U c.\inetpub\wwwroot:
/ ]' I9 _3 h: ` G iusr_machine:读取及运行 - \1 m- T2 R( Z7 f% Q
列出文件目录 4 s- p# c" |8 S% i8 v! K
读取 % w9 \# `7 V+ e6 o' z
(允许将来自父系的可继承性权限传播给对象) 1 U' u8 c# T' b2 t7 j
e.\winnt\system32: 1 q: D6 Z! q: @* Q
选择除inetsrv和centsrv以外的所有目录,
: a+ O& D) Q$ _! p# W. p 去除“允许将来自父系的可继承性权限传播给对象”选框,复制。
( x7 T7 o) o9 e6 I f.\winnt:
" }# }1 ~5 F$ x% _ 选择除了downloaded program files、help、iis temporary compressed files、
+ b5 i! n5 f; t- V' {+ Q2 u1 x. a0 p offline web pages、system32、tasks、temp、web以外的所有目录 * n0 l, O8 a0 e1 q
去除“允许将来自父系的可继承性权限传播给对象”选框,复制。 ( R8 D k+ c. O) g2 @( V
g.\winnt: - J" m! P% m- |
everyone:读取及运行
9 q' u( l Z3 T/ r1 i 列出文件目录
( u. k0 M* r/ J 读取
i$ C8 n) e, P" d: x+ I (允许将来自父系的可继承性权限传播给对象) - o# B5 |/ X1 m. T) W
h.\winnt\temp:(允许访问数据库并显示在asp页面上) / o* F2 H) e, ]' `) f* {; r
everyone:修改 3 B7 f& p& Q; K
(允许将来自父系的可继承性权限传播给对象)
7 p' I5 f% r1 a: L% m: R, P' [10.如何隐藏iis版本 7 P! l5 G# A3 a' L7 m
一个黑客可以可以轻易的telnet到你的web端口,发送get命令来获取很多信息
, ?; D1 u1 z4 z& O0 m$ [ iis存放IIS BANNER的所对应的dll文件如下:
* g4 p# v( I7 E WEB:C:\WINNT\SYSTEM32\INETSRV\W3SVC.DLL
/ e9 ~5 A; w) N5 N0 i- A FTP:C:\WINNT\SYSTEM32\INETSRV\FTPSVC2.DLL
; D$ V9 y1 D& T4 B. Z$ k5 q SMTP:C:\WINNT\SYSTEM32\INETSRV\SMTPSVC.DLL & U* {% O9 N+ M6 K+ G1 e. T! h
你可以用16进制编辑器去修改那些dll文件的关键字,比如iis的Microsoft-IIS/5.0
: R6 w1 Q9 `, {( u 具体过程如下:
* d; M1 S7 e* h4 E- R1 S' o 1.停掉iis iisreset /stop
$ Q0 L7 Y+ i2 R) E7 ^0 H* [ 2.删除%SYSTEMROOT%\system32\dllcache目录下的同名文件
6 X [6 n2 h2 D+ I8 {* s 3.修改 |