16 | 数据库安全:数据库中的数据是如何被黑客拖取的?
何为舟
该思维导图由 AI 生成,仅供参考
你好,我是何为舟。
说到数据库,你肯定会说:“数据库是我最熟悉的工具了。利用它,我能够设计复杂的表结构、写出炫酷的 SQL 语句、优化高并发场景下的读写性能。”当然,我们的日常工作离不开数据库的使用。而且,数据库中储存的大量机密信息,对于公司和用户都至关重要。
那关于数据库的安全你知道多少呢?你知道数据库是如何进行认证的吗?使用数据库交换数据的过程是安全的吗?假如黑客连入了数据库,又会发生什么呢?
今天,我就以两种比较常见的数据库 Redis 和 MySQL 为例,来和你一起探讨数据库的安全。
Redis 安全
我们首先来看 Redis。我们都知道,Redis 是一个高性能的 KV 结构的数据库。Redis 的设计初衷是在可信的环境中,提供高性能的数据库服务。因此,Redis 在设计上没有过多地考虑安全性,甚至可以说它刻意地牺牲了一定的安全性,来获取更高的性能。
那在安全性不高的情况下,黑客连入 Redis 能做什么呢?最直接的,黑客能够任意修改 Redis 中的数据。比如,通过一个简单 FLUSHALL 命令,黑客就能够清空整个 Redis 的数据了。
复杂一些的,黑客还可以发起权限提升,通过 Redis 在服务器上执行命令,从而控制整个服务器。但是,Redis 本身不提供执行命令的功能,那么黑客是如何让 Redis 执行命令的呢?我们一起来看一下具体的代码流程。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了数据库安全的重要性和相关防护措施,以Redis和MySQL为例进行了详细分析。首先,文章介绍了Redis的安全性挑战,指出了潜在的漏洞和黑客可能的攻击手段。针对Redis安全性问题,提出了设置复杂密码、进行授权、避免使用ROOT权限启动Redis等防护措施。接着,文章强调了MySQL的安全性挑战和相应的防护措施,包括密码设置、最小权限原则和审计的重要性。此外,还介绍了MySQL的SSL加密和硬盘加密功能,以及对认证、授权、审计和加密功能的正确配置。总的来说,通过具体案例和技术细节,本文深入浅出地介绍了数据库安全的重要性和相关防护措施,对读者快速了解数据库安全具有一定的参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《安全攻防技能 30 讲》,新⼈⾸单¥59
《安全攻防技能 30 讲》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(10)
- 最新
- 精选
- 小晏子试着分析下当前mongodb的安全性,这个很早之前出了很大的安全性问题,现在早已修复,那么现在它提供了哪些安全保障呢,看了一点资料分析一下。 认证: mongoDB提供了很多认证方法,有SCRAM-SHA-1,即Salted Challenge Authentication Mechanism,是基于文本的用户名密码方式,传输的时候通过TLS加密。MongoDB-CR,在v3.0之后移除了。另外还提供了外部认证协议,包括LDAP,Kerberos, 授权: mongoDB支持RBAC,可以使用授权保证用户只能访问他被允许访问的数据库和资源。 审计: 这个好像只有enterprise版本才提供强大的审计功能。 加密: mongoDB支持网络加密,并可以通过磁盘加密保护数据库和通信,它支持TLS/SSL加密网络通信。 现在看来,mongoDB目前安全性还是很好的,只要正确使用,安全性问题不是主要问题了。
作者回复: 其实大部分数据库的安全性都很好,只是很多人不会用或者不关注,而导致安全问题的出现。
2020-01-1710 - 夏陽想问下老师,目前数据中的手机号等敏感信息要做脱敏处理,如何在脱敏后还能查询到数据,目前库中有上亿条数据,这些数据脱敏后的索引重建会不会很崩溃,您有什么好的主流办法处理么
作者回复: 脱敏一般都是在输出的时候做规范。比如数据库存储了手机号,然后由安全部门统一封装一个接口,其他部门通过安全接口,获取脱敏后的手机号,不允许直接访问数据库看原始数据。
2020-03-2727 - 官主要是mysql和oracle,感觉后者在安全性上比mysql还要强一些。
作者回复: 毕竟是商业产品。
2020-03-23 - return老师 有没有 隔离 开发和数据库 连接密码的思路。 就是开发 上线 不需要知道生产的mysql密码。
作者回复: 想要完全不知道比较难,但还是可以做到的。首先开发不能直接接触任何线上环境。这一点做到之后,就可以通过配置中心来隔离线上信息了,也就是开发的时候在配置文件里面填写线下的地址,上线后统一使用线上的配置文件,就可以完成切换了。
2020-03-03 - lesliemysql的问题和解决方案在关系型数据库都有类似的操作,如:oracle、sql server、sybase,都能找到差不多的方式;今天的梳理其实漏了老师之前讲过的安全方式-存储过程同样可以提高安全性。 redis的问题在no sql数据库方面都有类似的问题。记得老师之前课程有提过redis登陆之后su -s /bin/redis-server nobody。 谢谢老师的分享:虽然今天的课程内容使用的方式做为一个老牌DBA蛮熟悉不过还是有补充;期待后续老师的分享;课程结束时应当常规的风险问题都能较好的防御。建议课程中加一些扩展阅读-满足跟深层次需求。谢谢。2020-01-176
- Michael老师讲的redis的这个安全的锅,我这两天就碰到了: 买了个阿里云,上面yum install安装了个redis,没有设置密码,过两天就收到了阿里云的安全告警信息, top了下,看到cpu飙升到了290%,进程kill不掉,最后发现,和老师讲的一样,/var/spool/cron下有个redis文件,跑定时任务,立马将redis停止,按照老师讲的方法折腾了一番。2022-09-16归属地:上海1
- Finch端口防火墙限制,这就基本过滤大部分攻击了2021-07-12
- Crypto营长那个入侵Redis修改Crontab植入远程连接后门厉害了2020-07-25
- COOK不要用root启动数据库,加上权限验证2020-03-29
- 追风筝的人只用过mysql和redis这2种数据库2020-03-16
收起评论