和的安全性分的

雕刻切割设备2021年09月06日

大型站一般使用Oracle或DB2,而中小型站大多数使用更加灵活小巧的SQL Server数据库或者MySQL数据库。那么,在同样的条件下,微软的SQL Server和免费的MySQL哪个更加安全呢?

数据库是电子商务、金融以及ERP系统的基础,通常都保存着重要的商业伙伴和客户信息。大多数企业、组织以及政府部门的电子数据都保存在各种数据库中,他们用这些数据库保存一些个人资料,还掌握着敏感的金融数据。但是数据库通常没有像做系统和络这样在安全性上受到重视。数据是企业,组织的命脉所在,因此选择一款安全的数据库是至关重要的。大型站一般使用Oracle或DB2,而中小型站大多数使用更加灵活小巧的SQL Server数据库或者MySQL数据库。那么,在同样的条件下,微软的SQL Server和免费的MySQL哪个更加安全呢?

我在我的机子上面用管理员帐号默认安装了mssql和mysql以便在相同的情况下测试他们的安全性。我的系统配置如下:操作系统Microsoft Windows 2000 Version5.0,安装了sp4,ftp服务和iis服务,支持asp和php。系统只有一个管理员帐号admin,guest帐号没有禁用。

一.系统内部安全性分析

sql数据库权限控制问题

mysql的权限控制是基于mysql这个数据库的,叫做授权表,一共包括包括六个表columns_priv,db,func,host,tables_priv和user。先使用desc user命令查看非常重要的user表的结构以便查询内容,现在可以查看他的权限设置了。使用命令select host,user,password,delete_priv,update_priv,drop_priv from user;这个命令查看了几个比较危险的权限,显示结果如下:

mysql select host,user,password,delete_priv,update_priv,drop_priv from user;

+-----------+------+------------------+-------------+-------------+-----------+

host | user | password | delete_priv | update_priv | drop_priv

+-----------+------+------------------+-------------+-------------+-----------+

localhost | root |0e4941f53f6fa106 | Y | Y | Y

% | root | | Y | Y | Y

localhost | | | Y | Y | Y

% | | | N | N | N

+-----------+------+------------------+-------------+-------------+-----------+

在这些职务中 4 rows in set (0.00 sec)

第一条表示在本机使用root用密码登陆,拥有删除记录,修改记录,删除表等权限,好,这是安全的。第二条表示在任何主机使用root不需密码登陆,拥有删除记录,修改记录,删除表等权限。第三条表示在本机匿名登陆,拥有删除记录,修改记录,删除表等权限。最后条表示可以再任何主机匿名登陆,但是没有任何权限。显然,第二,三,四都是不安全的!第二条不用说,就第三条而言,就算你在本地是guest权限,但是也可以登陆mysql数据库,而且拥有全部权限。这样,就可以对数据库为所欲为了。

解决方法:如果你不需要远程维护,删除掉第二条,delete from user where host=\"%\" and user=\"root\";或者给它加个强壮的密码。删除第三条,delete from user where host=\"localhost\" and user=\"\";

sql安装目录权限问题

mysql默认安装到c:\\mysql,但是c盘默认是everyone完全控制,由于权限的继承性,c:\\mysql对everyone也是完全控制的,显然这样是不安全的。因为恶意用户可以删除重要的数据文件。

解决方法:重新设置mysql目录的存取权限。或者将mysql安装到其他目录,如果你移动Mysql分发到D:\\mysql,你就必须使用用D:\\mysql\\bin\\mysqld --basedir D:\\mysql来启动mysqld,甚至还需要修改它的配置文件。

sql数据库权限控制问题

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扩展。

sql安装目录权限问题

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

解决办法:除了严格的存取限制外,还要定期查看SQL Server日志检查是否有可疑的登录事件发生,或者使用DOS命令findstr /C:\"登录\" d:\\Microsoft SQL Server\\MSSQL\\LOG\\*.*。

mssql的安全是和windows系统安全紧密结合的,任何一个出现漏洞,都会威胁到另一个的安全。

总结,在系统内部安全性上,mysql和mssql都没有达到令人满意的程度,帐号安全,存取权限都控制的不是很好。但是mssql有详细的日志可以查看登陆情况,比mysql要高出一筹。如果进行了合理的设置,mysql反而要更加安全些,因为对mssql而言,只要有系统权限即可拥有数据库权限。

门窗加盟十大品牌
长春卵巢炎治疗多少钱
焦作专业治白癜风医院
相关阅读
菜市场碰到它别手软,多买些,不去皮不切碎,整个腌着吃,真神爽脆

春季逛集市是蕙寿星尤其喜欢做到的一件事。因为可以看到其它秋冬季并未的...

2023-10-04
中国首部高清工业部门纪录片《大国重器》总导演讲述幕后故事(五)

文 / 刘宝恒 只不过,忆述往事,就不该说道那些过五关斩六将的光彩战绩,...

2023-10-02
兴齐眼药(300573.SZ)连续大跌超30% 对近视“神药”阿托品滴眼液的命运 母公司只回应“生产

眼药头已经有始终保持多事之秋。一举成名6年底24日闪崩不到半个年底,兴齐...

2023-10-01
北京朝阳新增13个封控区 涉及三里屯小街、平房乡、呼家楼小街等地

6月15日,在北京市新型冠状病毒肺炎疫情根除工作第366场新闻同月上,朝阳区...

2023-09-29
并不幽默感,并非“有趣”

□乔纳豪 或许不存在争议,特内都·伊格尔顿(Terry Eagleton)是现有美国最闻名...

2023-09-28
模仿足坛!本泽马和门将有个约会,里昂小王子那该死的魅力

那是2018年的春季,本泽马与球门队穿越在祖云达壮举的正要,不同于球门队...

2023-09-27
友情链接