网管必读:系统设置搞定脚本安全

上一篇 / 下一篇  2008-12-03 07:53:15

 用户权限设置

z5H~)^g`0  外部客户端在访问本机网站时是以IUSR_SERVERNAME用户(以下简称为IUSR用户)的权限执行所有操作的,所以为了保证系统的安全,我们必须对该用户的权限作一些限制。IXPUB技术博客:e v y7q4~4p

gW/[ J6WjOvi0小知识:IXPUB技术博客1Y {3c8] zq/xB }
IUSR_ServerName是WEB访问者使用的系统默认账号,系统表示为Internet访问用户。当WEB服务器不需用户登录就能访问数据库时,它实际是使用IUSR_ServerName用户身份来访问数据库。IUSR_ServerName是在安装IIS时创建的用户。默认情况下,“启用Windows账户同步”是选中的。

uU;LL9HUlI0

5E.B\(z.sqj R0  首先,要删除Everyone对系统所有的卷的访问权限。由于Everyone是各用户(组)权限设置的父对象,所以在删除Everyone权限之前,要取消子对象对父对象权限的继承。IXPUB技术博客aK'[!] hRf7B
方法是在所设置目录的“属性”对话框的“安全”选项卡中点击“高级”按钮,取消“允许父对象将其权限传播到该对象及其子对象”的选定(如图1所示)。这时系统会提示选择是否将父对象的权限复制给子对象,笔者建议大家选择复制,这样的好处就是以后不必重新设置管理员用户的权限。IXPUB技术博客8N+rYVg-^K:f

tH3r9}&Gc0

zl Ut$X{#fb#z0

b%ok uF0IXPUB技术博客7G{ _ h|,E
图1

4O)vh2GLJn0IXPUB技术博客o0p OG&J+rp


EV1}!Yp U({#X:Z0  接着就是对IUSR用户作设置。在网站数据库(ACCESS)、上传文件的所在目录,我们须赋予其“列文件目录”、“读取”和“写入”权限(如图2所示);而在其它无需通过IIS进行写操作的目录,我们只须给予其“列文件目录”和“读取”权限即可(如图3所示)。IXPUB技术博客zo.hF4eK L$r

IXPUB技术博客:V&t&a2v~Hf


1r7s0?5pcQW0 
.I~/LZ mAZf0AZ0图2

6l)tk?f.abFRlj0IXPUB技术博客2ab$|#Oc srz ev0dr


Tdq:pd~}0 
}]2Bk e%rQ0图3

1Ys.}C\L"k.|T0

%A?K)wH*]X$lx/?0IXPUB技术博客4{7u'Yi9fy+D
到此,对用户权限的设置结束了。IXPUB技术博客:Jp'ITn L

IXPUB技术博客YS:w GkNSV3`

  脚本执行设置IXPUB技术博客(tg f.E`3^@3l%X

'n+~S'j `8l+|e_N5`0  这个就简单多了。网站目录大体分两类:一类保存着我们的脚本文件,另一类保存着非脚本文件,例如网站数据库、上传的图片等等。因此,具体的设置也就有两种,前一类允许执行脚本文件,后一类禁止执行其中的脚本文件。

Cta)o3ui0

5mZ/t#y%Z e:l0  设置方法:在IIS服务管理器中右键点击所需设置目录,在“目录”选项卡里,对“执行权限”进行设置,前一类设置成“纯脚本”,后一类设置成“无”即可,如图4所示。

8B!i]X0QI {r2tS0IXPUB技术博客[-{C s3e*Q%^|J


ndCTn'c@-j0图4

%Z4s2f S{8f z c0

j-G0qll9n.O5n0  数据库防下载设置(针对ACCESS数据库)IXPUB技术博客&G(A/_&~t%j-l

IXPUB技术博客DW|x'XJ

  上面的设置已禁止数据库文件中的ASP脚本的执行,大家也许会想:“那以前用ASP语句出错的方法防止数据库被下载不就不行了么?”别急,我们这次用筛选器来进行数据库的防下载保护。
jvB"^"zQXQ0具体设置方法如下:

R c bn }0IXPUB技术博客_Gw(Pq)l Tv3@

  在IIS服务管理器中,进入被设置网站的属性框,点击“主目录”、“配置”、“添加”(上面那个),扩展名自然就输入数据库文件的扩展名了,上面的可执行文件项就随便添一个EXE文件就行了,点“确定”就完成了设置(如图5所示)。读者可以试一下,将会出现这种结果:“无法找到该页”(如图6所示)。IXPUB技术博客(i,Q D0Fld7T:b

\/v)]Y W4Q'^-uM"{0IXPUB技术博客-DS)afN6Tp6nD g%K
 IXPUB技术博客d[5F+\CQ#Uq w y'm
图5IXPUB技术博客|v%A5^M H L

K4]1FhPh K w0IXPUB技术博客G8sU@1Rn ~ [
 IXPUB技术博客:a GgC;[+A7lH1H
图6

bLe1Ql;o{Z0IXPUB技术博客MN7x.U)G

  MSSQL数据库设置

DA$YS&{:m;Q6w7s0

1?Z`)p ^'[p0  由于MSSQL数据服务是以SYSTEM权限运行的,所以通过MSSQL的注入攻击往往能较容易的取得ADMIN权限,因此对它的设置也是脚本安全防护中的重中之重。IXPUB技术博客:EP:iBY#od

9j{B3d({j$^5l0  首先自然是用户设置。大家都知道“SA”是一个拥有极高权限的用户,所以脚本系统在连接SQL数据库的时候一定不要使用“SA”,我们应该建立一个“database creator”级的新用户,只赋予其对网站数据库的DB_OWNER权限,用它来连接数据库可以很好的保证系统的安全。

Nf0ms5^0IXPUB技术博客W.} x-T8w

小知识:IXPUB技术博客 qF6b5I;_lN+LL
SQLServer的用户sa是个等同Adminstrators权限的角色,拿到了sa权限,几乎肯定可以拿到主机的 Administrator了。SQL Server的默认用户sa的权限非常巨大,有种观点是sa的权限要大于administrator的权限,也就是说没有限制的sa用户可以做Windows系统管理员所做的任何事。IXPUB技术博客K:c9Jk9To

IXPUB技术博客;x;gK4t(MQ y

  接着就是对SQL扩展存储过程进行配置了,大名鼎鼎的xp_cmdshell和xp_dirtree都是其中的成员,还有“臭要饭的!”大哥的GETWEBSHELL中用到的Sp_makewebtask等等。在所有扩展存储过程中,有一部分对文件、目录和注册表进行操作的几乎是没有任何一个管理员会用到,黑客们倒是用倍儿熟。当然,对这些百害无一利的扩展存储只有一个字可说,就是“删”。IXPUB技术博客:QK(c%rD1L)a

@/e;S3Goz \0q0P0  删除方法就是在SQL查询分析器中执行“exec master..sp_dropextendedproc ‘被删除的扩展存储名’”(无双引号)即可(如图7所示)。IXPUB技术博客g Od#W3E G_`+N7J

!? noK kIr%c$X0IXPUB技术博客7C-H(_Hw2Fjk9p
 
p+iU2z`}0图7IXPUB技术博客ZA&w(o$z*_4BH;se!{

IXPUB技术博客!O+X[KU(Q/L.|Y

IXPUB技术博客sA)x [6t/ZK
需要删除的存储过程列表如下:IXPUB技术博客!Iz.meg{ K
Sp_makewebtaskIXPUB技术博客@y |$Rax"Wz
xp_cmdshellIXPUB技术博客s.v7\%h"`S;hm
xp_dirtreeIXPUB技术博客g!Rn9X/X\!U
xp_fileexistIXPUB技术博客m h2l;olz {\3H V
xp_terminate_process
hf#~{GaMq0sp_OAMethodIXPUB技术博客%i P E2{lL
sp_OACreateIXPUB技术博客pVi@%k/xJ4E
还有以xp_reg开头的好多存储过程,限于篇幅笔者就不一一列出了。

2w5mx z!eD4{"b/xJ0IXPUB技术博客X'\|y hJ

小知识:
#Dd,o5do0存储过程就像是编程用的函数,内容是按需要编写的一系列SQL 语句和可选控制流语句,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。每个库都可以存放存储过程,但扩展存储过程只存在master数据库中,对用户来说,扩展存储过程与普通存储过程一样,执行方法也相同。但扩展存储过程能执行除了数据库之外的许多操作。

Z#^9L/g*}-m0IXPUB技术博客/m&?G@M:ch0{&s g

  虽然我们作了这么多设置,但也不要忘记了保持服务器安全的重中之重,那就是给你的系统打好补丁,系统漏洞可不是通过几个设置就能轻松堵上的。

T5o({u"a0
5

5

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar