MySQL的安全加固方法
本文转载自微信公众号「MySQL技术」,作者MySQL技术。转载本文请联系MySQL技术公众号。
前言
数据库作为数据存储的载体,在程序开发中承担着至关重要的作用。近些年,随着各种安全事故的发生,数据安全性逐渐得到重视。等保评测或各类系统安全评测中也都有增加数据库安全相关要求,本篇文章将以 MySQL 为例,分享几点数据库安全加固方法。
1.数据安全重要性
数据安全性是指保护数据免受未经许可而故意或偶然的传送、泄露、破坏、修改,是标志程序和数据等信息的安全程度的重要指标。即保护数据不被破坏或泄露,不准非法修改,防止不合法的访问。
从理论上看,数据安全是信息系统建设的基石,数据是信息系统保护的首要目标。数据失去保护,信息系统也就失去了应有的意义。数据因为其价值的巨大和变现的便捷性,已成为黑客直接攻击的首要目标。近期,也发生过很多数据库系统中勒索病毒或被挖矿的案例。
数据安全有三个特性,分别是保密性、完整性、可用性:
- 保密性:指对数据进行加密,只有授权者方可使用,并保证数据在流通环节不被窃取。包括网络传输保密和数据存储保密。
- 完整性:指数据未经授权不得进行修改,确保数据在存储和传输过程中不被篡改、破坏、盗用、丢失。
- 可用性:指经授权的合法用户必须得到系统和网络提供的正常服务。不可因为保护数据泄露而拒合法使用者于千里之外。
国家对于数据安全也很重视,2021 年 6 月 10 日,第十三届全国人民代表大会常务委员会第二十九次会议通过《中华人民共和国数据安全法》,自 2021 年 9 月 1 日起施行。自此之后,数据安全问题也做到了有法可依。
2.安全加固方法
那么我们应该怎么来做数据库安全加固呢?从数据安全的三个特性出发,或许可以找到新的思路,即要保证数据的保密性、完整性、可用性。一切对这三个特性有利的方法都可作为安全加固的方法。
笔者认为,安全是多个环节层层防护、共同配合的结果。数据安全加固并不只是数据库单一层面的问题,还需考虑操作系统、底层存储、程序端等多个层面。下面笔者将从这几个层面来分享几点数据库安全加固的方法,当然,笔者并不是安全相关专业人事,几点建议仅供参考。
操作系统层面(主机层):
- 做好系统用户身份鉴别,不使用弱密码并定期更换。
- 启用登录失败处理功能,限制 ip 重复登录。
- 做好访问控制,制定安全策略,控制用户对资源的访问。
- 配置防火墙策略,做好安全审计并保留审计日志记录。
存储层:
- 有存储冗余策略。
- 选择合适的磁盘阵列技术。
- 定期检查存储,避免磁盘坏道。
数据库层:
- 以独立的系统用户运行 mysql 服务。
- 及时发现新的安全风险,打补丁或升级版本。
- 配置数据库账号密码策略,不使用弱密码。
- 数据库账号权限尽可能小,做好权限分离。
- 禁止数据库外网访问,限制数据库账号 ip 登录。
- 竭力完善数据库高可用架构,最好能做到多活。
- 有完整的周期性备份策略,备份文件可在异地保留一份。
- 增加数据库审计,对数据库流量或日志审计,设定告警通知机制。
程序层:
- 敏感数据进行加密存储和传输。
- 做好代码安全检测,防止恶意传参及 SQL 注入。
- 应用系统不使用常见的管理员账号及密码。
总结:
人类已进入大数据时代,数据的重要性无需赘言,特别是金融、政府、医疗等系统。本篇文章从几个层面出发,分享了几点数据库安全加固建议,希望大家能够对数据安全性有些基本的认识,数据安全要重视起来了。
相关文章
- 大数据数据库增量日志采集之Canal
- Sa-Token实现分布式登录鉴权(Redis集成 前后端分离)
- LegoLoam(2)特征提取
- 重磅发布 | 百创智造发布跨物种PBMC数据组
- ChIP-seq 分析:Mapped 数据可视化(4)
- R语言梯度提升机 GBM、支持向量机SVM、正则判别分析RDA模型训练、参数调优化和性能比较可视化分析声纳数据|附代码数据
- 生物信息学常见数据格式
- MySQL排序与分页详解
- Postgresql源码(99)xlog数据注册
- Navicat Premium Essentials for mac(数据库管理软件)
- 如何使用六西格玛识别欺诈行为?
- 如何高效地创建母版FMEA数据库?
- 网络安全的最佳解决方案—SSL证书
- 2023年1月份【商品房价格变动情况】统计数据(没房程序员建议好好看看,获取了70个城市数据进行统计)
- 【详解】单片机定时器初值的多种计算方式
- Nat. Commun.| 基于多模态深度学习方法的单细胞多组学数据聚类
- 助力工业物联网,工业大数据之脚本开发【五】
- Nat. Commun.| 基于Rosetta、AlphaFold和质谱共价标记进行蛋白质复合物预测
- 助力工业物联网,工业大数据之分层总体设计【六】
- 每天一道大厂SQL题【Day01】