• λ我爱Aspx >> C#.Net >> Mssql和Mysql的安全性分析_数据库安全
  • Mssql和Mysql的安全性分析_数据库安全

  • :aspxer  Դ:internet  :2007-4-28 23:46:18  ؼ:sql,数据库,数据
  • 第一条表示在本机使用root用密码登陆,拥有删除记录,修改记录,删除表等权限,

    好,这是安全的。第二条表示在任何主机使用root不需密码登陆,拥有删除记录,

    修改记录,删除表等权限。第三条表示在本机匿名登陆,拥有删除记录,修改记

    录,删除表等权限。最后条表示可以再任何主机匿名登陆,但是没有任何权限。

    显然,第二,三,四都是不安全的!第二条不用说,就第三条而言,就算你在本地

    是guest权限,但是也可以登陆mysql数据库,而且拥有全部权限。这样,就可以对数

    据库为所欲为了。

    解决方法:如果你不需要远程维护,删除掉第二条,delete from user where

    host="%" and user="root";或者给它加个强壮的密码。删除第三条,delete from

    user where host="localhost" and user="";

    2.mysql安装目录权限问题

    mysql默认安装到c:\mysql,但是c盘默认是everyone完全控制,由于权限的继承

    性,c:\mysql对everyone也是完全控制的,显然这样是不安全的。因为恶意用户可以

    删除重要的数据文件。

    解决方法:重新设置mysql目录的存取权限。或者将mysql安装到其他目录,如果

    你移动Mysql分发到D:\mysql,你就必须使用用

    D:\mysql\bin\mysqld --basedir D:\mysql来启动mysqld,甚至还需要修改它的配置

    文件。

    3.mssql数据库权限控制问题

    mssql数据库的权限控制是基于master库的syslogins表,拥有所有权限的帐号是

    sa,其他还有sysadmin,db_owner等不同权限帐号。但是,mssql数据库最高权限帐

    号sa的默认密码是空,这样如果安装的时候不注意,就会给数据带来毁灭性的灾难。

    恶意攻击者可以修改,删除所有数据,更加重要的是mssql帐号可以利用扩展执行系

    统命令。

    解决方法:定期检查所有登陆帐号,查看是否有不符合要求的密码。

    Use master

    Select name,Password from syslogins where password is null命令检查是否有空

    口令帐号存在。尽可能的删除存储扩展,防止本地用户利用存储扩展执行恶意命令。

    use master

    sp_dropextendedproc xp_cmdshell 命令删除xp_cmdshell扩展。

    4.mssql安装目录权限问题

    同mysql一样,mssql也是安装到everyone完全控制c盘,由于存取控制问题,最

    好安装到d盘等非系统盘进行严格的权限控制。而且,由于mssql数据库与系统结合非常紧密,系统管理员在没有数据库密码的情况下也可以通过选择windows验证来操作数据库。因此,普通用户有可能通过系统漏洞提升自己的权限,对数据库进行破坏。

    解决办法:除了严格的存取限制外,还要定期查看SQL Server日志检查是否有可

    Ҷƪл˵?
  • һƪ五种常见的ASP.NET安全缺陷_ASP.NET技巧
    һƪSQL概述及在网络安全中的应用_数据库安全