一位高手整理的IIS FAQ
7 ^: e9 v5 W0 I7 q- D4 G下面是一位高手整理的问题精华,大家好好看看吧,收获肯定很大的! 1 R3 c2 J! u7 y0 ?6 O6 |
1.如何让asp脚本以system权限运行
9 d0 [7 w+ ^0 \4 s( i( d 修改你asp脚本所对应的虚拟目录,把"应用程序保护"修改为"低".... " g9 E# @0 o! S$ Y: }, M* E
2.如何防止asp木马
! W4 u) b v l9 E) i 基于FileSystemObject组件的asp木马 cacls %systemroot%\system32\scrrun.dll /e /d guests //禁止guests使用
% ?" ]; S" b M2 _ regsvr32 scrrun.dll /u /s //删除
$ u9 @; p( @6 S& Y, y. x 基于shell.application组件的asp木马
# e) ^) q7 L5 j. J4 V# T$ @ cacls %systemroot%\system32\shell32.dll /e /d guests //禁止guests使用 1 y& ?0 X3 P/ ]8 `7 W1 n1 d
regsvr32 shell32.dll /u /s //删除 " t; C/ }: y( J# x" q; t- k2 C: w3 f
3.如何加密asp文件
- w0 `! y' S! I. h s: T 从微软免费下载到sce10chs.exe 直接运行即可完成安装过程。
1 x% }" f Q; o' P3 t9 i 安装完毕后,将生成screnc.exe文件,这是一个运行在DOS PROMAPT的命令工具。 1 I$ k2 V: l6 ~; g2 z: Q
运行screnc - l vbscript source.asp destination.asp , }1 V5 H7 `6 p' I; e) b2 G0 {2 S. L# C
生成包含密文ASP脚本的新文件destination.asp
$ z2 X% _0 h( Y# m. T 用记事本打开看凡是""之内的,不管是否注解,都变成不可阅读的密文了
& z( n$ w% E2 k( F 但无法加密中文。
) Q0 n8 ?+ [/ ]" W+ o4.如何从IISLockdown中提取urlscan ( j7 X; i/ z% m5 D1 Y* B7 X. N
iislockd.exe /q /c /t:c:\urlscan
. u$ m; H! b2 @, f& z5.如何防止Content-Location标头暴露了web服务器的内部IP地址 + ^; q# n" I6 _) r0 v& m) \& E0 P9 D
执行 3 E# K, o+ v' ?! R3 S
cscript c:\inetpub\adminscripts\adsutil.vbs set w3svc/UseHostName True , T* D4 X, g- _: D! l* X
最后需要重新启动iis ; \9 z8 a6 ^1 s% K2 N
6.如何解决HTTP500内部错误
6 R [8 Q& V2 O- f+ } u W4 c iis http500内部错误大部分原因 4 [) H9 y! _1 j9 T. x5 W
主要是由于iwam账号的密码不同步造成的。
5 L# P' n4 K8 M; u) B/ U+ u 我们只要同步iwam_myserver账号在com+应用程序中的密码即可解决问题。
4 ?; g6 R) i/ P- D# c. [5 H; x 执行 4 E2 n; u6 |# h
cscript c:\inetpub\adminscripts\synciwam.vbs -v * \9 [1 O: ` V5 _- W
7.如何增强iis防御SYN Flood的能力
/ m) y: d5 E2 }1 @4 j Windows Registry Editor Version 5.00 - m+ A8 b- u4 R8 Z0 V2 l: @7 ], S7 T
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
: v( g& G$ D' f, X 启动syn攻击保护。缺省项值为0,表示不开启攻击保护,项值为1和2表示启动syn攻击保护,设成2之后
5 r9 J$ O2 z9 A) e9 ^1 K9 K: ] 安全级别更高,对何种状况下认为是攻击,则需要根据下面的TcpMaxHalfOpen和TcpMaxHalfOpenRetried值 设定的条件来触发启动了。这里需要注意的是,NT4.0必须设为1,设为2后在某种特殊数据包下会导致系统重启。 l1 C8 i9 u7 B6 I, {5 U
"SynAttackProtect"=dword:00000002 同时允许打开的半连接数量。所谓半连接,表示未完整建立的TCP会话,用netstat命令可以看到呈SYN_RCVD状态的就是。这里使用微软建议值,服务器设为100,高级服务器设为500。建议可以设稍微小一点。
0 f, S5 R6 m! ^$ ~2 z, R "TcpMaxHalfOpen"=dword:00000064
+ }$ ^( j) W* y4 w" H* J9 x. ] 判断是否存在攻击的触发点。这里使用微软建议值,服务器为80,高级服务器为400。
# W# M2 M6 z7 i4 }* C "TcpMaxHalfOpenRetried"=dword:00000050 , M" c% |7 `) F/ h" _' a
设置等待SYN-ACK时间。缺省项值为3,缺省这一过程消耗时间45秒。项值为2,消耗时间为21秒。
+ K+ f0 T( h6 D/ u6 g 项值为1,消耗时间为9秒。最低可以设为0,表示不等待,消耗时间为3秒。这个值可以根据遭受攻击规模修改。
( T0 m6 }3 D$ F: X 微软站点安全推荐为2。
$ N; ^* Q& p6 ^0 ` "TcpMaxConnectResponseRetransmissions"=dword:00000001 , j8 V4 I* l. {/ s
设置TCP重传单个数据段的次数。缺省项值为5,缺省这一过程消耗时间240秒。微软站点安全推荐为3。
& |! K3 G1 R3 K% B3 H& w2 B "TcpMaxDataRetransmissions"=dword:00000003
/ I: @2 g, ?3 i 设置syn攻击保护的临界点。当可用的backlog变为0时,此参数用于控制syn攻击保护的开启,微软站点安全推荐为5。
9 L* K* U& g/ M, S! b/ t8 @: ?/ r6 m "TCPMaxPortsExhausted"=dword:00000005 ' r5 S9 g- f6 c: A+ r
禁止IP源路由。缺省项值为1,表示不转发源路由包,项值设为0,表示全部转发,设置为2,表示丢弃所有接受的源路由包,微软站点安全推荐为2。
: d- b: U8 V/ n9 Q2 r7 r6 \& Y "DisableIPSourceRouting"=dword:0000002 * m' G) ^5 q2 I! X: \
限制处于TIME_WAIT状态的最长时间。缺省为240秒,最低为30秒,最高为300秒。建议设为30秒。 / i& g- T( z9 u& D
"TcpTimedWaitDelay"=dword:0000001e
, G4 a0 {( o- m. d' k c8.如何避免*mdb文件被下载 6 p3 r2 D* v; W* [* Y4 r- F M
安装ms发布的urlscan工具,可以从根本上解决这个问题。
8 F6 F8 r" Z& O* x* [! B7 V 同时它也是一个强大的安全工具,你可以从ms的网站上获取更为详细的信息。
. t* _8 t$ ]) }# ?5 B( |! L9.如何让iis的最小ntfs权限运行 : a) [4 @4 i- y u- q
依次做下面的工作: % _* B9 ^# y# g, T% M6 r
a.选取整个硬盘:
8 q8 u' C& [8 C* a, L5 q system:完全控制
H$ d @" i9 j" K3 U* p administrator:完全控制
7 V, p a& S$ r- o$ |( P& G (允许将来自父系的可继承性权限传播给对象)
$ k5 x+ Q# q: C. z9 z( w b.\program files\common files:
, }( R! U2 V2 ^" X everyone:读取及运行
! q2 o6 X, k; g$ S8 ~" E. k4 F 列出文件目录
: r8 i& Y" T% x6 B 读取
; T# G5 ]1 p" T2 ]6 W (允许将来自父系的可继承性权限传播给对象) ) H) ? U3 G* l' r. P$ b
c.\inetpub\wwwroot: ' M; k" r: \6 L3 H9 o; p2 z
iusr_machine:读取及运行
6 A' y7 {, m. z/ l 列出文件目录 ; L% Y8 n# z+ U2 v
读取 ! `5 f6 R1 ~$ z O6 P& v0 c! J
(允许将来自父系的可继承性权限传播给对象) ! T2 Y0 L3 ~% ]* @! |* h
e.\winnt\system32:
+ G0 G/ j% i" w& ^ J0 t, v! n$ m 选择除inetsrv和centsrv以外的所有目录, ! [% d b( u* Y W2 Q6 l; F
去除“允许将来自父系的可继承性权限传播给对象”选框,复制。 # `4 `- V4 i' E D8 n( Z
f.\winnt:
) d3 v4 p5 c6 E( ?0 n$ I 选择除了downloaded program files、help、iis temporary compressed files、 ; \0 l; p I p: e6 i3 A* L2 A: {
offline web pages、system32、tasks、temp、web以外的所有目录
- }0 ]' {2 A' I4 }& Z8 P2 y; y2 w 去除“允许将来自父系的可继承性权限传播给对象”选框,复制。
6 p+ J# D$ \3 Y0 k: S: a& M7 M g.\winnt: ' m( P+ I+ i0 G
everyone:读取及运行
' ?' x7 j6 x# R4 P 列出文件目录
4 d" k# [' @2 l- g 读取
& ~) F- w( x+ D! B (允许将来自父系的可继承性权限传播给对象) . }; ]3 M+ H* V1 `% y$ Y& B9 g" S
h.\winnt\temp:(允许访问数据库并显示在asp页面上)
6 j- b4 K0 w7 H everyone:修改 * c9 { s; ^" d3 O# x+ v7 P
(允许将来自父系的可继承性权限传播给对象) / b8 x) \8 `" g, m- X5 a& j2 ~
10.如何隐藏iis版本 - q. m3 u, u7 N1 V
一个黑客可以可以轻易的telnet到你的web端口,发送get命令来获取很多信息 & i5 m8 W& |: @+ k8 {& l* N' s
iis存放IIS BANNER的所对应的dll文件如下: 7 A* m, t( M7 q5 [ c
WEB:C:\WINNT\SYSTEM32\INETSRV\W3SVC.DLL A: z3 H, Z4 y
FTP:C:\WINNT\SYSTEM32\INETSRV\FTPSVC2.DLL " ]- g& F8 w( q$ S. L
SMTP:C:\WINNT\SYSTEM32\INETSRV\SMTPSVC.DLL
8 \6 t: J. `7 D- R 你可以用16进制编辑器去修改那些dll文件的关键字,比如iis的Microsoft-IIS/5.0
* f' _1 _8 Q+ N4 p 具体过程如下:
% D5 _# p! K+ Y6 r, m9 { 1.停掉iis iisreset /stop ( `3 ]/ n$ P/ ?
2.删除%SYSTEMROOT%\system32\dllcache目录下的同名文件
3 W9 w7 x7 s- l' C# c 3.修改 |