文档章节

让攻击者轻松入侵数据库的七个不良习惯

孟飞阳
 孟飞阳
发布于 2016/07/10 22:23
字数 1390
阅读 36
收藏 5

不好的数据库安全习惯给攻击者和恶意内部人员大开了方便之门,数据泄漏事故的发生往往是因为企业一遍又一遍重复同样的错误,而这些不良行为通常是从数据库开始的。本文为大家分析了让攻击者和恶意内部人员轻松获取数据库访问权的七个不良习惯,希望大家引以为戒!

  1. 数据库未及时修复漏洞

  数据库管理员担心修复最新漏洞会影响功能,但是却不担心修复周期无限期拖延会让最业余的攻击者都能够窃取大量数据。

  “一些大漏洞会在每个补丁中进行修复,而利用代码也总是可以在网上找到,攻击者可以剪切粘贴来用于攻击,”Application Security公司的首席技术官Josh Shaul表示。

  2. 没有寻找流氓数据库

  对于你不知道的数据库,你无法确保其安全,Fortinet公司产品营销副总裁Patrick Bedwell表示,他经常发现客户不会保持他们数据库的库存,或者扫描流氓数据库,这是一个问题,因为确实存在流氓数据库。

  “常见的做法试安装小型footprint数据库,并在数据库中装满供开发和测试使用的生产数据,”Bedwell表示。

  攻击者很喜欢企业不追踪流氓数据库,因为这些数据库通常都是没打补丁的,大门敞开的,因为安全团队并没有注意它们。

  3. 给予过多特权

  当时间很紧急,资源有限时,企业很容易忽略用户的权限,可能只是将特权给予整个用户群,然后去忙别的事情了,Imperva公司高级安全策略师Noa Bar Yosef表示。但是只要一个用户滥用这些特权就可能造成巨大的问题。

  “考虑Diablo Valley社区学院的情况,三年以来,他们都让数据库管理员修改学生的成绩,”她表示,“当数据泄漏曝光后,他们发现在授予数据库管理员权限的100名用户中,只有11名用户真正需要这个权限。”

  给予过多权限的问题在于,用户不仅可以做他们不应该做的事情,而且他们不会受到制裁,因为那些行为并没有被预料,Application Security公司的研究部门经理Alex Rothacker表示。

  “给予过多权限的侧面影响在于,用户可以在他们没有授权的数据库或者操作系统进行操作,”他表示,“例如,在应付帐款部门具有特权的用户可以创造一个虚假的公司,向这个公司支付费用,然后删除所有关于该公司的记录以掩盖他们的踪迹。”

  4. 允许使用默认用户名/密码

  使用默认用户名和密码就像为数据库盗贼敞开大门一样。但是很多公司仍然这样做,因为很多应用程序输入数据库信息都是与默认帐户同步的,更改密码可能会破坏某些东西。

  5. 没有自我检查

  仔细检查你的用户在做什么,数据库是如何被使用的,数据库容易受到哪种类型的攻击等。

  然而大部分安全专家同意,大多数企业没有监测用户或者审计数据库行为,因为他们并不担心会受到行为。

  “这是一个不能停歇的战斗,安全专业人士需要依赖于审计和数据库管理员,同时又需要更好的性能。在为客户提供服务方面,性能通常排在第一位,”Imperva公司的Bar Yosef表示,“但是最后,或者说发生数据泄漏的时候,他们才会知道发现、恢复和问责制的重要性。”

  根据安全咨询公司Brainlink公司首席技术官Rajesh Goel表示,很多公司还会否定安全评估或者渗透测试人员将数据库放在攻击考虑范围内,即便这是恶意攻击者最先瞄准的目标。

  6. 允许任意互联网连接和输入

  当数据库连接到互联网时,任意客户端都可以不受限制地访问数据库,这样的话,不好的事情也将发生。

  “这意味着SQL注入攻击将造成毁灭性影响,将泄漏任意数据,”Arbor Networks公司安全研究高级经理Jose Nazario表示,“将权利和角色分开还有很长一段路要走,可以使用只读角色来用于web服务。”

  同样的,用户输入需要被监测以防止注入和拒绝服务攻击,并且不受新人的用户应该永远不能过直接查询表格或者数据库对象名称,例如表格、函数或者视图。

  7.没有加密

  根据403 Web Security公司首席执行官Alan Wlasuk表示,最简单最愚蠢的数据库安全错误就是没有加密他们的数据库。 

  “这样就能让攻击者最终进入你的数据库,攻击者很难进入加密的数据库,加密是免费、快速和易于使用的。”

© 著作权归作者所有

共有 人打赏支持
孟飞阳
粉丝 205
博文 964
码字总数 543203
作品 5
朝阳
个人站长
编写安全 PHP 应用程序的七个习惯

编写安全 PHP 应用程序的七个习惯 在提及安全性问题时,需要注意,除了实际的平台和操作系统安全性问题之外,您还需要确保编写安全的应用程序。在编写 PHP 应用程序时,请应用下面的七个习惯...

thinkyoung
2015/04/13
0
0
web防火墙抵御攻击是如何实现的

WAF的核心技术在于对Web攻击防护的能力和对HTTP本质的理解。前者要求WAF能完整地解析HTTP,包括报文头部、参数及载荷;支持各种HTTP编码;提供严格的HTTP协议验证;提供HTML限制;支持各类字符集...

上树的熊
06/12
0
0
如何判断 Linux 服务器是否被入侵?

本指南中所谓的服务器被入侵或者说被黑了的意思,是指未经授权的人或程序为了自己的目的登录到服务器上去并使用其计算资源,通常会产生不好的影响。 免责声明:若你的服务器被类似 NSA 这样的...

作者: Elliot Cooper
2017/12/06
0
0
Ubuntu 论坛遭到入侵,用户数据泄露

Ubuntu官方论坛Ubuntu Forums遭到攻击者入侵,200多万用户数据如IP地址、用户名和电子邮件地址被窃取。负责Ubuntu开发的Canonical公司通过官方博客解释了这一事件:7月14日20:33UTC接到通知称...

oschina
2016/07/17
4K
12
新加坡新保集团(SingHealth)网络攻击事件的可疑线索分析

  近期,安全公司 Trustwave 旗下 SpiderLabs 实验室发现了可能与新加坡新保集团(SingHealth)网络攻击相关的一些信息线索,在前一篇文章中,他们以威胁情报视角分析了新保集团的整个网络...

FreeBuf
08/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

HBase 表修复在线方式和离线方式

一、在线修复 1.1 使用检查命令 $ ./bin/hbase hbck 该命令可完整修复 HBase 元数据信息;存在有错误信息会进行输出; 也可以通过如下命令查看详细信息: $ ./bin/hbase hbck -details 1.2 ...

Ryan-瑞恩
刚刚
0
0
redis 系列二 -- 常用命令

1.基础命令 info ping quit save dbsize select flushdb flushall 2.键命令 2.1 set 直接赋值 set a a 2.2 get 取值 get a 2.3 exists 是否存在 exists a 2.4 expire 设置剩余时间 秒 expire......

imbiao
32分钟前
1
0
php foreach

<?php// 数组的引用$a=array(1,2,3,4,5);foreach($a as $key=>&$value){$value=$value*2;}print_r($a);echo " $key -------------------$value\r\n";/** * ...

小张525
40分钟前
1
0
12-利用思维导图梳理JavaSE-多线程

12-利用思维导图梳理JavaSE-多线程 主要内容 1.线程概念 2.线程开发 3.线程的状态 4.线程的同步和死锁 5.Java5.0并发库类 QQ/知识星球/个人WeChat/公众号二维码 本文为原创文章,如果对你有一...

飞鱼说编程
今天
0
0
JAVA集合之ArrayList

一、前言 Java 集合类提供了一套设计良好的支持对一组对象进行操作的接口和类,JAVA常用的集合接口有4类,分别是: Collection:代表一组对象,每一个对象都是它的子元素 Set:不包含重复元素...

木木匠
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部