|
一位高手整理的IIS FAQ
# I+ \+ \6 c0 }4 K. t7 \1 I0 f2 _下面是一位高手整理的问题精华,大家好好看看吧,收获肯定很大的!
- J, q1 X z6 O, E5 a1.如何让asp脚本以system权限运行 + d |! ?+ {: P" m" a
修改你asp脚本所对应的虚拟目录,把"应用程序保护"修改为"低".... + q( U* l0 b! U0 f% E
2.如何防止asp木马 ( [( @6 H' d) x0 R
基于FileSystemObject组件的asp木马 cacls %systemroot%\system32\scrrun.dll /e /d guests //禁止guests使用
8 n/ |0 q! i) c1 P3 u regsvr32 scrrun.dll /u /s //删除 " k5 _8 w o+ q ?( w+ o
基于shell.application组件的asp木马
6 v+ E; `( X; P2 `0 \- ` cacls %systemroot%\system32\shell32.dll /e /d guests //禁止guests使用
6 ]" h6 T5 C1 h9 I8 J) ^ regsvr32 shell32.dll /u /s //删除
9 U$ B$ z3 c' Y3.如何加密asp文件 6 g/ O. h) }' [7 x g# j
从微软免费下载到sce10chs.exe 直接运行即可完成安装过程。
3 k# T: e0 h# u7 H; p) \7 Q 安装完毕后,将生成screnc.exe文件,这是一个运行在DOS PROMAPT的命令工具。 5 S" p+ d9 B! N8 X* ~
运行screnc - l vbscript source.asp destination.asp
( \6 Z2 D; ? W: A 生成包含密文ASP脚本的新文件destination.asp
) y f* G! T* k$ } 用记事本打开看凡是""之内的,不管是否注解,都变成不可阅读的密文了
8 z i3 K$ a' H2 t 但无法加密中文。
- P [2 {- `/ B& `4.如何从IISLockdown中提取urlscan % _" j2 c3 ?& V9 G. K
iislockd.exe /q /c /t:c:\urlscan
" d# G' Q' \2 ?2 n2 l4 K" }% Q5.如何防止Content-Location标头暴露了web服务器的内部IP地址 7 n2 ^) c2 g1 T5 Y7 s& W
执行
2 a; O3 r: C' o# o, E7 {& Z8 a5 g cscript c:\inetpub\adminscripts\adsutil.vbs set w3svc/UseHostName True ; }9 Y; Y% l5 g! s+ X% p9 o
最后需要重新启动iis $ i9 F' ?8 I* c6 g5 y2 K
6.如何解决HTTP500内部错误
, w- t6 ^: T/ c6 p4 N) c( z iis http500内部错误大部分原因
- F# \. H3 `& |: z% C z 主要是由于iwam账号的密码不同步造成的。 - M( ]% t1 j0 b3 q+ ^0 i( I
我们只要同步iwam_myserver账号在com+应用程序中的密码即可解决问题。
: h9 x3 _; v: R 执行 ! P* p. D, V7 e
cscript c:\inetpub\adminscripts\synciwam.vbs -v
1 L2 O0 _9 y0 r7 {4 k J J# w- S1 ~7.如何增强iis防御SYN Flood的能力 / p! P- }# c& W" ~% x
Windows Registry Editor Version 5.00
7 n. A% v( ?( Q" R) |6 _' s3 ~ [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] " l! j6 I. @6 t7 t% r! W+ [& V
启动syn攻击保护。缺省项值为0,表示不开启攻击保护,项值为1和2表示启动syn攻击保护,设成2之后
* q) N* V. V6 E/ }/ d# i; R5 U, G1 @ 安全级别更高,对何种状况下认为是攻击,则需要根据下面的TcpMaxHalfOpen和TcpMaxHalfOpenRetried值 设定的条件来触发启动了。这里需要注意的是,NT4.0必须设为1,设为2后在某种特殊数据包下会导致系统重启。
( n! S& W/ k5 v. x. L: C "SynAttackProtect"=dword:00000002 同时允许打开的半连接数量。所谓半连接,表示未完整建立的TCP会话,用netstat命令可以看到呈SYN_RCVD状态的就是。这里使用微软建议值,服务器设为100,高级服务器设为500。建议可以设稍微小一点。 * ^" D3 g7 @( z$ S' _3 V
"TcpMaxHalfOpen"=dword:00000064
! { s) ^8 S/ r0 x 判断是否存在攻击的触发点。这里使用微软建议值,服务器为80,高级服务器为400。 / t: ~$ o4 y0 I( A9 S
"TcpMaxHalfOpenRetried"=dword:00000050
0 m; l2 b- _7 h* }: D+ V 设置等待SYN-ACK时间。缺省项值为3,缺省这一过程消耗时间45秒。项值为2,消耗时间为21秒。
7 p0 @7 y( e6 Y7 w3 ~" I 项值为1,消耗时间为9秒。最低可以设为0,表示不等待,消耗时间为3秒。这个值可以根据遭受攻击规模修改。
+ D- r$ z/ p6 ~6 e8 b! x8 @: T6 o 微软站点安全推荐为2。 ; `- Q& F2 w% a) k U B3 R
"TcpMaxConnectResponseRetransmissions"=dword:00000001 ! e: ]8 l6 q: |" z, [. s
设置TCP重传单个数据段的次数。缺省项值为5,缺省这一过程消耗时间240秒。微软站点安全推荐为3。 5 O4 ^# g2 T1 w# U( I; ]
"TcpMaxDataRetransmissions"=dword:00000003
/ }" f- a; b/ v) z 设置syn攻击保护的临界点。当可用的backlog变为0时,此参数用于控制syn攻击保护的开启,微软站点安全推荐为5。
# y9 R/ f) p* V! | "TCPMaxPortsExhausted"=dword:00000005 * k8 F3 V6 r+ l i) j$ a! u' s! | z
禁止IP源路由。缺省项值为1,表示不转发源路由包,项值设为0,表示全部转发,设置为2,表示丢弃所有接受的源路由包,微软站点安全推荐为2。 # s" N1 I6 c- O F, O# g
"DisableIPSourceRouting"=dword:0000002
5 _! v8 o: i# K/ Y7 t7 k/ v 限制处于TIME_WAIT状态的最长时间。缺省为240秒,最低为30秒,最高为300秒。建议设为30秒。
7 j: L! n" f- [% z4 B: E# |9 M "TcpTimedWaitDelay"=dword:0000001e % a5 y p" q; i( o3 v5 s7 r
8.如何避免*mdb文件被下载 + P) U5 [" l, z
安装ms发布的urlscan工具,可以从根本上解决这个问题。
+ n5 b3 J, h5 x1 K8 J( A' m3 u( q6 K 同时它也是一个强大的安全工具,你可以从ms的网站上获取更为详细的信息。
* O8 ~- o. Q5 i9.如何让iis的最小ntfs权限运行
7 F& q+ [- G- P d# z. g 依次做下面的工作: ?$ ~+ N/ `; P
a.选取整个硬盘: 2 W2 q+ d1 o* v9 S
system:完全控制 * O, r1 Z9 Q0 J. ]: _
administrator:完全控制 : W# r$ e9 \8 z. p; F4 ^1 d
(允许将来自父系的可继承性权限传播给对象)
+ o ^$ k. _$ e5 o8 q* s% I2 }6 @ b.\program files\common files: ) \9 R; b4 T C' L) L w7 \+ g
everyone:读取及运行 : |6 w5 x* `, k( I' ~
列出文件目录 1 N) q3 S& R7 y) x. ~8 g! v
读取 : f6 h( b& k% I- w
(允许将来自父系的可继承性权限传播给对象) , M! W3 u7 p8 g+ d: `0 H5 K
c.\inetpub\wwwroot: 9 h, f0 ^. _5 g: {3 G
iusr_machine:读取及运行
% o# v( q& g" ^5 R4 |6 Z- B9 [ 列出文件目录 $ x s6 V% M0 Z* D8 ^/ _+ l! x
读取
5 t# O* E. h8 r6 H6 a (允许将来自父系的可继承性权限传播给对象) 4 Q5 M: D& Z1 b! {; q0 W+ G; p
e.\winnt\system32:
; x6 {" T, m% n6 d. n 选择除inetsrv和centsrv以外的所有目录,
% \( j! Q8 @4 Q( l/ d# ~" K! a' n! ? 去除“允许将来自父系的可继承性权限传播给对象”选框,复制。
! f) [7 r. B% p5 I* v/ z f.\winnt: * Z( x$ B) s" K7 G9 [; L
选择除了downloaded program files、help、iis temporary compressed files、 7 J/ V# |4 S- F5 c' ~
offline web pages、system32、tasks、temp、web以外的所有目录
9 h+ U8 ~4 `2 Q8 t 去除“允许将来自父系的可继承性权限传播给对象”选框,复制。 $ l" o5 B4 a1 f$ O( z& h& R( k, |
g.\winnt: & g$ G9 E8 U& E
everyone:读取及运行 w1 v! c7 A( q( Q
列出文件目录 8 _1 v! r% R4 p; H/ H8 W& P
读取
) X, ^1 K% R# _0 l! e- _, R (允许将来自父系的可继承性权限传播给对象) " w9 F+ ]: a1 \% s0 i
h.\winnt\temp:(允许访问数据库并显示在asp页面上) $ [0 L. _# [" z
everyone:修改 - H9 X) N$ f/ S0 k
(允许将来自父系的可继承性权限传播给对象) ( T% e6 j) n& G) ~6 R
10.如何隐藏iis版本 & G9 N' ]% a% {$ J, N
一个黑客可以可以轻易的telnet到你的web端口,发送get命令来获取很多信息 # i- L1 t" R$ C$ C6 D' R& f; ]% g- W
iis存放IIS BANNER的所对应的dll文件如下:
8 D7 H; z4 R y; i% x& I WEB:C:\WINNT\SYSTEM32\INETSRV\W3SVC.DLL
8 z% s8 E- x+ V7 t D FTP:C:\WINNT\SYSTEM32\INETSRV\FTPSVC2.DLL
7 Z4 I. L6 j$ ~$ _& r SMTP:C:\WINNT\SYSTEM32\INETSRV\SMTPSVC.DLL 1 U# B* ~) y5 U# T* f. p8 e
你可以用16进制编辑器去修改那些dll文件的关键字,比如iis的Microsoft-IIS/5.0 ! c5 Z6 I! r, I3 z
具体过程如下:
( m; k7 | d$ d! N B& [* q/ e 1.停掉iis iisreset /stop
" _9 c& W, x% R* N 2.删除%SYSTEMROOT%\system32\dllcache目录下的同名文件 2 R+ I7 V M+ N) I0 E- O6 {1 {
3.修改 |