学会十个“如何”打造安全IIS服务器
1、如何让asp脚本以system权限运行: _& b6 B+ n* C* q1 g2 T
修改你asp脚本所对应的虚拟目录,把"应用程序保护"修改为"低".... + m9 v- u- w5 B- o; |3 x
2、如何防止asp木马 ) t4 D: C( ?' F+ B% D* r) D
基于FileSystemObject组件的asp木马
( W" ~/ h4 a h3 n; ycacls %systemroot%/system32/scrrun.dll /e /d guests //禁止guests使用
7 O0 F! i1 O7 A( c, R& Kregsvr32 scrrun.dll /u /s //删除
) w+ M/ ^, f7 n; u) ]& e/ n4 B, ]基于shell.application组件的asp木马' U( i$ I1 w3 o/ j# K
cacls %systemroot%/system32/shell32.dll /e /d guests //禁止guests使用 ) F# T& i5 d' N
regsvr32 shell32.dll /u /s //删除 * y/ R& B% w, m! ]. R% P- Q- b
3、如何加密asp文件 9 t. M" A* g" o6 l# O
从微软免费下载到sce10chs.exe 直接运行即可完成安装过程。 ( K: J3 h7 F) a
安装完毕后,将生成screnc.exe文件,这是一个运行在DOS PROMAPT的命令工具。( H1 ~7 a5 o2 x( h% b
运行screnc - l vbscript source.asp destination.asp# ]- X1 l h. c
生成包含密文ASP脚本的新文件destination.asp8 |8 t( G1 b5 _0 Y
用记事本打开看凡是""之内的,不管是否注解,都变成不可阅读的密文了/ u# U9 |; r L
但无法加密中文。
6 o( m+ ]3 r- h4、如何从IISLockdown中提取urlscan
. z5 g0 t, N" ], ]+ L. X: Ciislockd.exe /q /c /t:c:/urlscan. h% B2 T J% A' U& W1 m
5、如何防止Content-Location标头暴露了web服务器的内部IP地址
! X/ ]/ G/ R) E% u: w: q' ?4 a执行
; @: R$ G' t' S3 u8 ?cscript c:/inetpub/adminscripts/adsutil.vbs set w3svc/UseHostName True
. t+ h/ H* d: w' C5 n2 Z最后需要重新启动iis
# J5 a: ^+ d0 \$ ]8 o/ J9 B6、如何解决HTTP500内部错误% W$ x- S1 e. w( E, a
iis http500内部错误大部分原因/ |0 \) n& F* F
主要是由于iwam账号的密码不同步造成的。2 Y X+ q' ? ]
我们只要同步iwam_myserver账号在com+应用程序中的密码即可解决问题。" l7 I' ]- \: l7 h- A4 f
执行 ) B; _0 w+ t% M- F$ O
cscript c:/inetpub/adminscripts/synciwam.vbs -v5 |. ~' ?0 p M* ^ B" O
7、如何增强iis防御SYN Flood的能力% {$ }/ ]1 M! h1 [* z f2 l
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters]
; G5 L& o. t- o$ [启动syn攻击保护。缺省项值为0,表示不开启攻击保护,项值为1和2表示启动syn攻击保护,设成2之后 安全级别更高,对何种状况下认为是攻击,则需要根据下面的TcpMaxHalfOpen和TcpMaxHalfOpenRetried值 设定的条件来触发启动了。这里需要注意的是,NT4.0必须设为1,设为2后在某种特殊数据包下会导致系统重启。
! a N: I! {" }. X% |"SynAttackProtect"=dword:00000002 同时允许打开的半连接数量。所谓半连接,表示未完整建立的TCP会话,用netstat命令可以看到呈SYN_RCVD状态的就是。这里使用微软建议值,服务器设为100,高级服务器设为500。建议可以设稍微小一点。
* _# U8 W" X1 m& |9 ^4 r, h"TcpMaxHalfOpen"=dword:00000064 判断是否存在攻击的触发点。这里使用微软建议值,服务器为80,高级服务器为400。 "TcpMaxHalfOpenRetried"=dword:00000050
* t6 ~# V* M$ ` _) P设置等待SYN-ACK时间。缺省项值为3,缺省这一过程消耗时间45秒。项值为2,消耗时间为21秒。 " G o( @: O, M# x3 s2 l9 u8 L
项值为1,消耗时间为9秒。最低可以设为0,表示不等待,消耗时间为3秒。这个值可以根据遭受攻击规模修改。 P. F; F2 G/ n, @2 h
微软站点安全推荐为2。5 E8 i/ u& P+ S" `* m
"TcpMaxConnectResponseRetransmissions"=dword:00000001 $ A/ Z4 U4 e- c( r
设置TCP重传单个数据段的次数。缺省项值为5,缺省这一过程消耗时间240秒。微软站点安全推荐为3。 ; ~& Q ~3 R( D5 g8 M
"TcpMaxDataRetransmissions"=dword:00000003. I2 _& p! j. T( D& J
设置syn攻击保护的临界点。当可用的backlog变为0时,此参数用于控制syn攻击保护的开启,微软站点安全推荐为5。
0 t/ } s6 u1 ^: u' u/ X"TCPMaxPortsExhausted"=dword:00000005
1 L$ A2 ~( h* G$ ~0 L; ?7 H禁止IP源路由。缺省项值为1,表示不转发源路由包,项值设为0,表示全部转发,设置为2,表示丢弃所有接受的源路由包,微软站点安全推荐为2。 / x- d7 l. w8 n* c
"DisableIPSourceRouting"=dword:0000002/ F' A/ d$ w3 y7 C$ p
限制处于TIME_WAIT状态的最长时间。缺省为240秒,最低为30秒,最高为300秒。建议设为30秒。
- R) O. c/ D4 z% l4 c& L"TcpTimedWaitDelay"=dword:0000001e/ P) \6 J/ E' F1 H. ]' U. ]" @
- x' N5 x: b) }9 z
8、如何避免*mdb文件被下载1 x7 a* g; l, V
安装ms发布的urlscan工具,可以从根本上解决这个问题。
, h( p! ~) n' H同时它也是一个强大的安全工具,你可以从ms的网站上获取更为详细的信息。
% I* m, z; w5 J. k9、如何让iis的最小ntfs权限运行 }# T1 z+ i R, B
依次做下面的工作: 3 Y t$ {# W/ o: E
a、选取整个硬盘:
* f- _* x' m1 X3 c% D. msystem:完全控制! c, |! ~ N$ A; |, T
administrator:完全控制
; Z1 w( _$ K" @- ]- f(允许将来自父系的可继承性权限传播给对象) b、/program files/common files: ) T& r! Y8 E6 Z4 f; D! k
everyone:读取及运行列出文件目录读取
; z: E' G! ]9 ~5 }$ s2 S- S(允许将来自父系的可继承性权限传播给对象)
8 `0 L4 b7 u- t3 A$ \! P& yc、/inetpub/wwwroot: + c4 a6 v. V& q$ O+ Y0 U3 F# R
iusr_machine:读取及运行列出文件目录读取
) v$ {5 a% e( x# B! ^(允许将来自父系的可继承性权限传播给对象)
Z- ~2 H) }, r2 j" y9 Ae、/winnt/system32:; a2 C0 ?/ R: y* h1 X" Q2 r6 F
选择除inetsrv和centsrv以外的所有目录,去除“允许将来自父系的可继承性权限传播给对象”选框,复制。
1 P L6 t, v. {0 I7 P' K/ }f、/winnt:
4 K, O# a! U7 q2 A选择除了downloaded program files、help、iis temporary compressed files、offline web pages、system32、tasks、temp、web以外的所有目录去除“允许将来自父系的可继承性权限传播给对象”选框,复制。. q5 s e7 m8 ~2 Z% |/ E% @ r
g、/winnt:/ s0 B, K7 b5 ?) {' C; r
1 @1 T9 m' Y; T7 ?' M
everyone:读取及运行列出文件目录读取
: _9 \$ V: N- I8 `(允许将来自父系的可继承性权限传播给对象) + a7 u( |" t0 P7 u5 ?: P5 C8 J
h、/winnt/temp:(允许访问数据库并显示在asp页面上)
+ m' x1 L' z9 U9 I! N( reveryone:修改 + \' }3 H7 A# d8 q. X
(允许将来自父系的可继承性权限传播给对象): Z9 `' j/ O: O8 T! m4 F$ q9 Z l
10、如何隐藏iis版本 ! G: c4 r, D# w
一个黑客可以可以轻易的telnet到你的web端口,发送get命令来获取很多信息
" w- i. D+ q( B$ m0 D. f! \iis存放IIS BANNER的所对应的dll文件如下:9 A% g1 o/ |9 c3 ]1 @
WEB:C:/WINNT/SYSTEM32/INETSRV/W3SVC.DLL
% d4 f3 `0 B( y9 k6 \3 nFTP:C:/WINNT/SYSTEM32/INETSRV/FTPSVC2.DLL' L: V% y8 o" q$ M% P7 ^4 p P3 u
SMTP:C:/WINNT/SYSTEM32/INETSRV/SMTPSVC.DLL 1 {6 U f, ^1 I. {6 k! O
你可以用16进制编辑器去修改那些dll文件的关键字,比如iis的Microsoft-IIS/5.0 7 f. g5 r! N1 g* i# M0 f7 K' S5 c* s
具体过程如下:
; M6 T$ l: i) {) S+ K+ P& E- S1、停掉iis iisreset /stop # k+ u$ o; {- ]. O2 P" `4 v
2、删除%SYSTEMROOT%/system32/dllcache目录下的同名文件
: R% R6 Q$ O6 l; j3、修改
搜索更多相关主题的帖子:
安全 IIS 服务器