学会十个“如何”打造安全IIS服务器
1、如何让asp脚本以system权限运行
* z5 ?/ G/ K* z( L* C修改你asp脚本所对应的虚拟目录,把"应用程序保护"修改为"低"....
* d, c& k8 l+ t. Q, j5 c' _; ]& `2、如何防止asp木马 2 I1 j& s: F8 S% p, v& e
基于FileSystemObject组件的asp木马
' I/ {* ^ m5 k9 q4 ^: Icacls %systemroot%/system32/scrrun.dll /e /d guests //禁止guests使用* c' t0 `) X! T* _: K. c
regsvr32 scrrun.dll /u /s //删除
( j' Z. c3 T' R! b基于shell.application组件的asp木马
3 j. O9 k2 U+ D6 |$ {5 _cacls %systemroot%/system32/shell32.dll /e /d guests //禁止guests使用
) T: E/ P: p0 \7 l( P ?" ^; T# u5 o/ tregsvr32 shell32.dll /u /s //删除 1 i* { a: m" D# }) ]# [
3、如何加密asp文件 % @- ]& n# ^, S& H' W7 O" s
从微软免费下载到sce10chs.exe 直接运行即可完成安装过程。 ( `9 R8 l2 h, h1 ^1 D
安装完毕后,将生成screnc.exe文件,这是一个运行在DOS PROMAPT的命令工具。
. `7 T% L+ _! t$ X" P5 _运行screnc - l vbscript source.asp destination.asp; l. Y, {" w' B2 }$ G2 Y C. q( @. c
生成包含密文ASP脚本的新文件destination.asp' _ `( @: E# {/ z. r% E' Q0 g
用记事本打开看凡是""之内的,不管是否注解,都变成不可阅读的密文了: c6 ~* f* G8 u: \0 P {5 r: V" ~
但无法加密中文。
2 Z( \- C) J, L' X6 C/ \% v2 L4、如何从IISLockdown中提取urlscan
S# P* o! {& c! Oiislockd.exe /q /c /t:c:/urlscan& u9 F2 [$ l: X9 [/ b% R9 s
5、如何防止Content-Location标头暴露了web服务器的内部IP地址
$ b' T% e, u- _# ?4 F执行 ) X' Z" ^$ o! [. _1 P
cscript c:/inetpub/adminscripts/adsutil.vbs set w3svc/UseHostName True 4 H4 b4 b) X @1 v- Y
最后需要重新启动iis
6 ~3 P; i. v* ~6、如何解决HTTP500内部错误
1 W' {2 l% z5 viis http500内部错误大部分原因0 n( `# k3 ?3 f/ o
主要是由于iwam账号的密码不同步造成的。
. K3 ]; u, f6 |我们只要同步iwam_myserver账号在com+应用程序中的密码即可解决问题。
. W( J5 y* O1 V) L- C执行 6 B% y: z8 c, H" g: c+ |4 l$ z3 M" N
cscript c:/inetpub/adminscripts/synciwam.vbs -v
6 J3 r& k: f/ H. @7、如何增强iis防御SYN Flood的能力
- P" {$ O" P2 S1 s2 OWindows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters] + Y9 e1 G. A3 x3 c7 ^
启动syn攻击保护。缺省项值为0,表示不开启攻击保护,项值为1和2表示启动syn攻击保护,设成2之后 安全级别更高,对何种状况下认为是攻击,则需要根据下面的TcpMaxHalfOpen和TcpMaxHalfOpenRetried值 设定的条件来触发启动了。这里需要注意的是,NT4.0必须设为1,设为2后在某种特殊数据包下会导致系统重启。) z6 R" t/ a/ |( B+ t
"SynAttackProtect"=dword:00000002 同时允许打开的半连接数量。所谓半连接,表示未完整建立的TCP会话,用netstat命令可以看到呈SYN_RCVD状态的就是。这里使用微软建议值,服务器设为100,高级服务器设为500。建议可以设稍微小一点。
. E' @8 Q! [% w, W- L9 d"TcpMaxHalfOpen"=dword:00000064 判断是否存在攻击的触发点。这里使用微软建议值,服务器为80,高级服务器为400。 "TcpMaxHalfOpenRetried"=dword:00000050
: i: I D& ~) z3 t& E设置等待SYN-ACK时间。缺省项值为3,缺省这一过程消耗时间45秒。项值为2,消耗时间为21秒。
& p0 S8 k( R; Z2 C0 H% b项值为1,消耗时间为9秒。最低可以设为0,表示不等待,消耗时间为3秒。这个值可以根据遭受攻击规模修改。% u( s' a; k, h& c0 H! M) z9 _
微软站点安全推荐为2。- F% q3 R& Y. R+ n4 h/ N+ d& _$ i: a+ I
"TcpMaxConnectResponseRetransmissions"=dword:00000001
+ ~( I/ t9 ?0 u' M+ \/ ]) x! N" @) P6 V设置TCP重传单个数据段的次数。缺省项值为5,缺省这一过程消耗时间240秒。微软站点安全推荐为3。
6 F, {$ Z9 c; x! u _"TcpMaxDataRetransmissions"=dword:000000032 ], d: x1 O% F& b0 z+ \. `& B2 F
设置syn攻击保护的临界点。当可用的backlog变为0时,此参数用于控制syn攻击保护的开启,微软站点安全推荐为5。
' `$ X; t4 M T% T: s+ F"TCPMaxPortsExhausted"=dword:00000005 3 c: L1 n4 Z" M1 h
禁止IP源路由。缺省项值为1,表示不转发源路由包,项值设为0,表示全部转发,设置为2,表示丢弃所有接受的源路由包,微软站点安全推荐为2。 8 j6 ~+ u! F+ a- O! d3 j. d
"DisableIPSourceRouting"=dword:0000002
# {7 U' r$ r2 t5 F( Y" ^限制处于TIME_WAIT状态的最长时间。缺省为240秒,最低为30秒,最高为300秒。建议设为30秒。* w4 ~& G: T) v5 @/ C/ R
"TcpTimedWaitDelay"=dword:0000001e
1 }# Y8 v! h$ l8 i3 C
1 X' |) E# G3 D6 ^ T: R w* N8、如何避免*mdb文件被下载4 a7 Y& S) ]* o0 ]% B, u! a/ V1 E- R
安装ms发布的urlscan工具,可以从根本上解决这个问题。$ X3 b. e) K) l) h9 Z: E
同时它也是一个强大的安全工具,你可以从ms的网站上获取更为详细的信息。 $ w+ A2 B/ `8 W c7 B
9、如何让iis的最小ntfs权限运行 - V) K8 [) c6 U) U2 |3 `. G
依次做下面的工作: " \$ k: w* j3 y& j3 @$ c" N
a、选取整个硬盘:
7 k0 v& Y, T, f7 A+ Gsystem:完全控制
& C! [! }' F" D; \$ Vadministrator:完全控制% ?* Y% N$ w4 M; [1 ?8 d' W
(允许将来自父系的可继承性权限传播给对象) b、/program files/common files:
% s9 g; \, h+ f4 i! s* j2 F( geveryone:读取及运行列出文件目录读取 8 C- x7 }. D4 F" t. _7 O
(允许将来自父系的可继承性权限传播给对象) - }4 ?0 z, K5 B0 {1 `: {
c、/inetpub/wwwroot: 2 D% {- y; i: A5 S
iusr_machine:读取及运行列出文件目录读取
{9 c% N# |) g' |. U @; `3 s; \4 k& {8 b(允许将来自父系的可继承性权限传播给对象)
. L: R# f5 x3 @0 r+ L( A; Ce、/winnt/system32:
# v8 n/ s2 L4 l) U选择除inetsrv和centsrv以外的所有目录,去除“允许将来自父系的可继承性权限传播给对象”选框,复制。 + D. s/ _0 P4 V- F* x3 B
f、/winnt: # ^* _4 D6 F2 e1 d8 J
选择除了downloaded program files、help、iis temporary compressed files、offline web pages、system32、tasks、temp、web以外的所有目录去除“允许将来自父系的可继承性权限传播给对象”选框,复制。# j. ?% V* b0 J& R& J; l5 J* ^
g、/winnt:: h, s4 v5 Q4 s! A+ ?. ]7 F
8 ^' i; [7 G- U/ z
everyone:读取及运行列出文件目录读取% y# ~+ T, _, q1 F1 ^$ U! p) e+ \* x n
(允许将来自父系的可继承性权限传播给对象)
! h# g3 A6 |6 h8 i' k6 G) W2 \h、/winnt/temp:(允许访问数据库并显示在asp页面上)
- M1 S) p' j4 V8 h& `everyone:修改
/ A( N/ x0 I% g! p9 l( P9 k+ O% A- n(允许将来自父系的可继承性权限传播给对象)
7 i" {3 H1 ^' |; u/ B. V/ @. m' k10、如何隐藏iis版本 8 U6 ~! v) S$ [' z* t$ b
一个黑客可以可以轻易的telnet到你的web端口,发送get命令来获取很多信息
! B! `$ p5 q* G$ h* uiis存放IIS BANNER的所对应的dll文件如下:
2 z3 l$ T% ^7 x. H5 `/ e3 `WEB:C:/WINNT/SYSTEM32/INETSRV/W3SVC.DLL
. y* u2 p9 g. i# gFTP:C:/WINNT/SYSTEM32/INETSRV/FTPSVC2.DLL# x' {1 V/ r% U* r" r4 h
SMTP:C:/WINNT/SYSTEM32/INETSRV/SMTPSVC.DLL 5 l+ s# F7 K* J2 l
你可以用16进制编辑器去修改那些dll文件的关键字,比如iis的Microsoft-IIS/5.0 # |' D5 K& N- c. h* f8 s0 X& h" _
具体过程如下:
+ I7 c$ U7 d$ |+ T+ i! }! k n1、停掉iis iisreset /stop
2 _ w: j( G- [; M2、删除%SYSTEMROOT%/system32/dllcache目录下的同名文件
! _2 U5 R( t8 U) u6 y3、修改
搜索更多相关主题的帖子:
安全 IIS 服务器