新闻中心 | 用户管理 | 代理管理 | 独立面板 | 付款方式 | 返回主站
严禁色情、反动、仿牌、私服、病毒、SPAM网站,违者一律删除,不予备份。
服务器客户请登录http://www.idcpay.com/client/
产品管理
域名管理
主机管理
邮箱管理
数据库管理
 
用户管理
用户资料
财务管理
客服答疑
发票申请
在线支付
安全退出
重新登录
 
在线自助开通
开通虚拟主机
开通数据库
 

首页产品介绍
 

    阿江:Windows 服务器安全设置攻略
 

本文作者:阿江

前言

$ r, K9 [/ r; f; {/ ?7 ]8 A2 }+ u/ H( H0 K7 U8 t( m
其实,在服务器的安全设置方面,我虽然有一些经验,但是还谈不上有研究,所以我写这篇文章的时候心里很不踏实,总害怕说错了会误了别人的事。# L5 X; A* h6 D

6 A6 j6 N1 K* o# w2 f( g% m本文更侧重于防止ASP漏洞攻击,所以服务器防黑等方面的讲解可能略嫌少了点。
1 G2 A; W3 x, }) o0 M9 b( k) }( n6 ]) z
1 v( s4 H" A: w9 C2 \8 N5 V% b基本的服务器安全设置! ~+ G3 S- N/ E, f
/ _4 [$ o* S2 [: x" S
安装补丁; C2 f( M! H' A# K9 Q
安装好操作系统之后,最好能在托管之前就完成补丁的安装,配置好网络后,如果是2000则确定安装上了SP4,如果是2003,则最好安装上SP1,然后点击开始→Windows Update,安装所有的关键更新。
# N$ i% n& D, @; I6 X/ F, _% i& n% Y- O& _
安装杀毒软件7 q! h! j1 c$ H+ g
虽然杀毒软件有时候不能解决问题,但是杀毒软件避免了很多问题。我一直在用诺顿2004,据说2005可以杀木马,不过我没试过。还有人用瑞星,瑞星是确定可以杀木马的。更多的人说卡巴司机好,不过我没用过。
* ~$ H9 |. Q" f: R2 k" f/ V) v3 c5 i
不要指望杀毒软件杀掉所有的木马,因为ASP木马的特征是可以通过一定手段来避开杀毒软件的查杀。
! q# Y3 [4 w+ g- v
6 J8 W1 a! _* h; |设置端口保护和防火墙、删除默认共享
" g+ d2 {5 E- o! |' M8 |都是服务器防黑的措施,即使你的服务器上没有IIS,这些安全措施都最好做上。这是阿江的盲区,大概知道屏蔽端口用本地安全策略,不过这方面的东西网上攻略很多,大家可以擞出来看看,晚些时候我或者会复制一些到我的网站上。
% i3 e0 r0 m" U, p. B$ g ( N3 l0 V- B' n/ q& u, b$ P0 x
权限设置
% h# f' p: P8 }. r阿江感觉这是防止ASP漏洞攻击的关键所在,优秀的权限设置可以将危害减少在一个IIS站点甚至一个虚拟目录里。我这里讲一下原理和设置思路,聪明的朋友应该看完这个就能解决问题了。0 Z/ ]9 n2 G, s) k

, w1 `4 Z i4 q1 w- i; N0 I权限设置的原理8 p0 f" T+ k$ h4 Y
    % P( E6 v% ?. V2 O
  • WINDOWS用户,在WINNT系统中大多数时候把权限按用户(組)来划分。在【开始→程序→管理工具→计算机管理→本地用户和组】管理系统用户和用户组。
    , I, k' X: M! U1 n0 y
  • NTFS权限设置,请记住分区的时候把所有的硬盘都分为NTFS分区,然后我们可以确定每个分区对每个用户开放的权限。【文件(夹)上右键→属性→安全】在这里管理NTFS文件(夹)权限。
    ! q5 w7 y& g0 d: V8 Z
  • IIS匿名用户,每个IIS站点或者虚拟目录,都可以设置一个匿名访问用户(现在暂且把它叫“IIS匿名用户”),当用户访问你的网站的.ASP文件的时候,这个.ASP文件所具有的权限,就是这个“IIS匿名用户”所具有的权限。
    - E0 [, n; T# E; T+ z

' a* C: ~! v% ~7 a Z6 F权限设置的思路
7 m3 N- @ ]0 b+ y" a4 f
    # ]5 e6 q6 d+ q
  • 要为每个独立的要保护的个体(比如一个网站或者一个虚拟目录)创建一个系统用户,让这个站点在系统中具有惟一的可以设置权限的身份。 0 i6 J8 y" |0 E% v
  • 在IIS的【站点属性或者虚拟目录属性→目录安全性→匿名访问和验证控制→编辑→匿名访问→编辑】填写刚刚创建的那个用户名。
    % I9 c2 e+ F2 ]! l
  • 设置所有的分区禁止这个用户访问,而刚才这个站点的主目录对应的那个文件夹设置允许这个用户访问(要去掉继承父权限,并且要加上超管组和SYSTEM组)。
! I, J/ B5 o- T: J
这样设置了之后,这个站点里的ASP程序就只有当前这个文件夹的权限了,从探针上看,所有的硬盘都是红叉叉。
6 w+ [/ z' A5 I+ Z* \* e$ R4 M3 J9 r* U8 i, y K" `& N9 n1 |
我的设置方法
% k" T# Q0 L% k! q& f% o$ n& R: z5 K2 Y7 ]' Z; q
我是先创建一个用户组,以后所有的站点的用户都建在这个組里,然后设置这个组在各个分区没病权限。然后再设置各个IIS用户在各在的文件夹里的权限。
) V6 \- F7 c& T+ A/ Y9 `/ G- x" ?5 s. ~5 Y$ N
因为比较多,所以我很不想写,其实知道了上面的原理,大多数人都应该懂了,除非不知道怎么添加系统用户和組,不知道怎么设置文件夹权限,不知道IIS站点 属性在那里。真的有那样的人,你也不要着急,要沉住气慢慢来,具体的方法其实自己也能摸索出来的,我就是这样。当然,如果我有空,我会写我的具体设置方 法,很傲能还会配上图片。7 o( `; T' A: V- l% @3 y

( O# V7 S* ] t4 r4 S6 H; r9 X' g5 e改名或卸载不安全组件
+ j3 X; ^" N+ P f! i9 F
+ C* d) I. ~6 m不安全组件不惊人
5 i2 }- W5 [. Z我的在阿江探针1.9里加入了不安全组件检测功能(其实这是参考7i24的代码写的,只是把界面改的友好了一点,检测方法和他是基本一样的),这个功能让很多站长吃惊不小,因为他发现他的服务器支持很多不安全组件。
7 X" H3 T$ \1 ^: }9 k) Z/ S6 j) ^1 i3 y* x& a# y1 F* X! ?* g
其实,只要做好了上面的权限设置,那么FSO、XML、strem都不再是不安全组件了,因为他们都没有跨出自己的文件夹或者站点的权限。那个欢乐时光更不用怕,有杀毒软件在还怕什么时光啊。# ]+ U' y, k$ m3 W
8 R9 K2 u$ ]$ B& G/ u+ Z0 U
最危险的组件是WSH和Shell,因为它可以运行你硬盘里的EXE等程序,比如它可以运行提升程序来提升SERV-U权限甚至用SERVU来运行更高权限的系统程序。0 e: ?6 k5 x# P: z9 {

: K1 m! S$ A8 s# \/ W% i卸载最不安全的组件/ `8 J' v* h& G4 R3 \
最简单的办法是直接卸载后删除相应的程序文件。将下面的代码保存为一个.BAT文件,- G+ g) h+ X; C. z1 Z' @

4 M! H+ z" o: q$ k, O* I
  1. regsvr32/u C:\WINNT\System32\wshom.ocx
  2. del C:\WINNT\System32\wshom.ocx
  3. regsvr32/u C:\WINNT\system32\shell32.dll
  4. del C:\WINNT\system32\shell32.dll
复制代码

Z7 d; ?- q( R6 g+ F/ x+ B* I3 E
9 ]0 Z' U+ I1 N% M& O, m8 e+ ]然后运行一下,WScript.Shell, Shell.application, WScript.Network就会被卸载了。可能会提示无法删除文件,不用管它,重启一下服务器,你会发现这三个都提示“×安全”了。
9 t- B3 h1 s# r. q! h2 Z
0 s2 ?! m* @) [4 x7 }, E- ]+ b改名不安全组件1 g* L0 n0 B0 b1 Q) b& r. a$ @
需要注意的是组件的名称和Clsid都要改,并且要改彻底了。下面以Shell.application为例来介绍方法。1 ^4 ~ F7 c8 c' w2 m9 U% t3 E: T

- H1 u0 Q }' d. S, w- B- F+ M( A打开注 册表编辑器【开始→运行→regedit回车】,然后【编辑→查找→填写Shell.application→查找下一个】,用这个方法能找到两个注册表 项:“{13709620-C279-11CE-A49E-444553540000}”和“Shell.application”。为了确保万无一失, 把这两个注册表项导出来,保存为 .reg 文件。& S$ O; y# G$ L1 F1 q

1 `- ?# z+ M$ F7 r+ J$ F: y% c, `$ V9 \' s比如我们想做这样的更改9 q1 C% ~3 }8 V0 e
3 z: o" S* o/ M$ @
9 M: L; s. e5 @, s13709620-C279-11CE-A49E-444553540000 改名为 13709620-C279-11CE-A49E-444553540001
( `" {6 `+ U" F1 U2 n( GShell.application 改名为 Shell.application_ajiang
* F! q( f6 d. R2 v4 D- P+ e( A6 a9 @( y

% I: f$ Z+ o e2 p z [- ~+ T
; a! }% p) c: q- }那么,就把刚才导出的.reg文件里的内容按上面的对应关系替换掉,然后把修改好的.reg文件导入到注册表中(双击即可),导入了改名后的注册表项之后,别忘记了删除原有的那两个项目。这里需要注意一点,Clsid中只能是十个数字和ABCDEF六个字母。
" R$ z) T7 K7 F
) E" `& s8 ~/ O* L' ?下面是我修改后的代码(两个文件我合到一起了):; _, C$ P6 V( u

3 m, p7 [2 s: O. p5 ^, X3 v
  1. Windows Registry Editor Version 5.00

  2. [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}]
  3. @="Shell Automation Service"

  4. [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\InProcServer32]
  5. @="C:\\WINNT\\system32\\shell32.dll"
  6. "ThreadingModel"="Apartment"

  7. [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\ProgID]
  8. @="Shell.Application_ajiang.1"

  9. [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\TypeLib]
  10. @="{50a7e9b0-70ef-11d1-b75a-00a0c90564fe}"

  11. [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\Version]
  12. @="1.1"

  13. [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\VersionIndependentProgID]
  14. @="Shell.Application_ajiang"

  15. [HKEY_CLASSES_ROOT\Shell.Application_ajiang]
  16. @="Shell Automation Service"

  17. [HKEY_CLASSES_ROOT\Shell.Application_ajiang\CLSID]
  18. @="{13709620-C279-11CE-A49E-444553540001}"

  19. [HKEY_CLASSES_ROOT\Shell.Application_ajiang\CurVer]
  20. @="Shell.Application_ajiang.1"
复制代码
, u9 Q3 w: g6 ]/ l

7 B, ?' Y. S l" M6 [0 d+ f你可以把这个保存为一个.reg文件运行试一下,但是可别就此了事,因为万一黑客也看了我的这篇文章,他会试验我改出来的这个名字的。
J/ [# A+ E$ ~7 q* l1 @, W
+ E3 `# t- h% u" e" ]/ s防止列出用户组和系统进程* C, V6 [- s& ^; p
我在阿江ASP探针1.9中结合7i24的方法利用getobject("WINNT")获得了系统用户和系统进程的列表,这个列表可能会被黑客利用,我们应当隐藏起来,方法是:
2 \7 S8 L# d& F5 U" R- Y* E" c! u! o. a8 m I8 k
【开始→程序→管理工具→服务】,找到Workstation,停止它,禁用它。
# W! x+ X. V! Y" e, C6 F
8 @6 x0 F) |7 a+ h# Y防止Serv-U权限提升5 l. c, H$ Y5 m4 [7 \2 f
+ C; ?; \3 f0 s: Q7 L- R* k2 z
其实,注销了Shell组件之后,侵入者运行提升工具的可能性就很小了,但是prel等别的脚本语言也有shell能力,为防万一,还是设置一下为好。
0 o* ]2 y- J2 l7 t- v, b; z# d
1 f" N/ l$ G% Z% e4 {0 `用Ultraedit打开ServUDaemon.exe查找Ascii:LocalAdministrator,和#l@$ak#.lk;0@P,修改成等长度的其它字符就可以了,ServUAdmin.exe也一样处理。& H& @* ~1 S" q$ b7 ?
* n; \7 D2 U- I- c4 n: J" C
另外注意设置Serv-U所在的文件夹的权限,不要让IIS匿名用户有读取的权限,否则人家下走你修改过的文件,照样可以分析出你的管理员名和密码。
4 o- j9 Y8 M# ^+ B! }
) [- {3 G2 J" Y8 h利用ASP漏洞攻击的常见方法及防范0 V# d" e& }/ p

9 C: S+ K3 N( Q t一般情况下,黑客总是瞄准论坛等程序, 因为这些程序都有上传功能,他们很容易的就可以上传ASP木马,即使设置了权限,木马也可以控制当前站点的所有文件了。另外,有了木马就然后用木马上传提 升工具来获得更高的权限,我们关闭shell组件的目的很大程度上就是为了防止攻击者运行提升工具。" U; l# \7 ~9 a
4 Y x9 A3 o4 k+ C9 B% g
如果论坛管理员关闭了上传功能,则黑客会想办法获得超管密码,比如,如果你用动网论坛并且数据库忘记了改名,人家就可以直接下载你的数据库了,然后距离找到论坛管理员密码就不远了。 e7 O4 P1 ]) n7 c* K1 \ t1 O/ ]
9 f! B8 k- [0 Z' N3 ]/ L) T
作为管理员,我们首先要检查我们的ASP程序,做好必要的设置,防止网站被黑客进入。另外就是防止攻击者使用一个被黑的网站来控制整个服务器,因为如果你 的服务器上还为朋友开了站点,你可能无法确定你的朋友会把他上传的论坛做好安全设置。这就用到了前面所说的那一大堆东西,做了那些权限设置和防提升之后, 黑客就算是进入了一个站点,也无法破坏这个网站以外的东西。! Z9 }5 K# O# Q( ?, g

! D1 k# J: D7 S: x& M) d! S后记
- H; ]# G7 y% P& _8 v2 G% v2 s也许 有安全高手或者破坏高手看了我的文章会嘲笑或者窃喜,但我想我的经验里毕竟还是存在很多正确的地方,有千千万万的比我知道的更少的人像我刚开始完全不懂的 时候那样在渴求着这样一篇文章,所以我必须写,我不管别人怎么说我,我也不怕后世会有千千万万的人对我唾骂,我一个人承担下来,我也没有娘子需要交代 的……9 o+ w& e2 o3 y5 V+ z8 g

/ ~) r* U K8 r' ]- c9 D1 ?因为这其实只是抛砖引玉的做法,从别人的笑声中,我和我的读者们都可以学到更多有用的东西。



 


Copyright©2008-2019 IDCPAY.COM, L.L.C. All rights reserved.