安全攻防技能 30 讲
何为舟
前微博安全研发负责人
34681 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 41 讲
开篇词 (1讲)
安全攻防技能 30 讲
15
15
1.0x
00:00/00:00
登录|注册

16 | 数据库安全:数据库中的数据是如何被黑客拖取的?

硬盘加密功能
SSL加密功能
审计功能
ROLE-BAC机制
授权机制
多用户认证体系
密码管理功能
写入服务器本地文件
读取服务器本地文件
避免使用ROOT权限启动Redis
间接实现授权功能
使用最小权限原则
增加密码
利用Redis保存文件功能执行命令
发起权限提升
任意修改数据
最小权限原则
加密
审计
授权
认证
最小权限原则
安全选项配置
黑客攻击方式
安全防护手段
黑客连入Redis后的操作
安全性设计初衷
其他数据库的安全事项
安全防护手段
数据库面临的威胁
MySQL安全
Redis安全
思考题
总结
数据库安全

该思维导图由 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
立即购买
登录 后留言

全部留言(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-17
    10
  • 夏陽
    想问下老师,目前数据中的手机号等敏感信息要做脱敏处理,如何在脱敏后还能查询到数据,目前库中有上亿条数据,这些数据脱敏后的索引重建会不会很崩溃,您有什么好的主流办法处理么

    作者回复: 脱敏一般都是在输出的时候做规范。比如数据库存储了手机号,然后由安全部门统一封装一个接口,其他部门通过安全接口,获取脱敏后的手机号,不允许直接访问数据库看原始数据。

    2020-03-27
    2
    7
  • 主要是mysql和oracle,感觉后者在安全性上比mysql还要强一些。

    作者回复: 毕竟是商业产品。

    2020-03-23
  • return
    老师 有没有 隔离 开发和数据库 连接密码的思路。 就是开发 上线 不需要知道生产的mysql密码。

    作者回复: 想要完全不知道比较难,但还是可以做到的。首先开发不能直接接触任何线上环境。这一点做到之后,就可以通过配置中心来隔离线上信息了,也就是开发的时候在配置文件里面填写线下的地址,上线后统一使用线上的配置文件,就可以完成切换了。

    2020-03-03
  • leslie
    mysql的问题和解决方案在关系型数据库都有类似的操作,如:oracle、sql server、sybase,都能找到差不多的方式;今天的梳理其实漏了老师之前讲过的安全方式-存储过程同样可以提高安全性。 redis的问题在no sql数据库方面都有类似的问题。记得老师之前课程有提过redis登陆之后su -s /bin/redis-server nobody。 谢谢老师的分享:虽然今天的课程内容使用的方式做为一个老牌DBA蛮熟悉不过还是有补充;期待后续老师的分享;课程结束时应当常规的风险问题都能较好的防御。建议课程中加一些扩展阅读-满足跟深层次需求。谢谢。
    2020-01-17
    6
  • 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
收起评论
显示
设置
留言
10
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部