网络安全 数据库 MySQL 安全规范
浏览量: 次 发布日期:2023-09-06 18:11:11
网络安全 数据库 MySQL 安全规范
在生产中,安全是相当重要,毕竟你的核心数据都在里面,MySQL因为其开源的流行性,大量个人,企业,政府单位采用,但是,很多部署的时候采用都是默认的配置,这就导致了安全的相对欠缺,你需要针对你的安全有所加强。
总的来说,数据库一般划分为生产库,压测库,准生产库,测试库,开发库。下面部分主要说的是生产库,但其他库也适用。
这是数据库基础的安全设置脚本
a 设置root密码
b 移除匿名用户
c 禁止远程root登录
d 移除test数据库
以上是5.6版本,5.7有所加强但也仅此而以,看看你的环境是否存在上述问题,这个算是是最基本的安全吧。
常见创建用户的时候你需要指定你的ip访问地址范围或者固定ip,一般化而言,只有特定唯一的几个ip的才会访问,或者说你可以采用代理访问的方式,减少应用直接访问你的数据库,而且现在很多中间件也都有白名单机制,原则上是把非法请求防止在数据库以外的地方。
规范数据库管理软件,实现管理软件的标准、统一化,还有严禁杜绝开启外网访问,如果客户端在远程,就根本不应该直接访问数据库,而应该使用中间件堡垒机或其他替代方案。
为了防止连入数据库的应用程序存在后门,造成数据库安全隐患,检查所有连接数据库程序的安全性。通过使用堡垒机或者其他监控登录数据库,禁止对数据库的直接操作。
对已经连接的IP网段进行规范化、统一化的管理,定期进行权限复核操作,对系统所属IP、用户进行权限梳理工作。
对员工进行安全培训,增强员工的系统安全观念,做到细心操作,安全操作。
确保访问数据库的主机为已知用户或者主机,使用专门主机与数据库进行连接。
对重要业务表的所有行为,全部审计,审计同时所有包括即使是DBA的DDL操作行为最后是报表系统,利用审计的相关日志,出具系统化的审计报告。
权限这块无可厚非,在简历之初遵循最小权限原则,坚持最小权限原则,是数据库安全的重要步骤。
很多时候我们不知道具体的最小权限是什么,你说一个账号到底需要什么样权限才合适,才不会影响业务?这个不是很好界定。我们需要知道在设置权限时的信息,要授予的权限级别,库级别,表级别,列级别,或者其他超级权限,要授予的权限类型,增删改查等
从mysql.user表来看Select_priv/Insert_priv/Update_priv/Delete_priv/Create_priv/Drop_privReload_priv/Shutdown_priv/Process_priv/File_priv/Grant_priv/References_privIndex_priv/Alter_priv/Show_db_priv/Super_priv/Create_tmp_table_priv/Lock_tables_privExecute_priv/Repl_slave_priv/Repl_client_priv/Create_view_priv/Show_view_priv/Create_routine_priv/Alter_routine_priv/Create_user_priv/Event_priv/Trigger_priv/Create_tablespace_priv
用户名,IP地址,是否需要连接数控制,SSL,过期时间等,不要怕麻烦,可能前期设置的时候比较繁琐,但是,一个好的基础设置,才是安全的保障,做到需要什么给什么,而不是。
用户账户划分原则超级管理员账号系统应用账号(比如备份,监控,审计等)应用业务账号业务人员账号开发人员账号测试人员账号其他专用账号
主要是防止泄漏,非必要人员不需要知道账号的名称,同时需要制定相应的命名规则,还有就是合理使用自己的账号密码,保护好你的账号密码,对于绝无必要的用户,先禁用,后期删除,要做到无匿名账户和无废弃账户。
提高本地安全性,主要是防止mysql对本地文件的存取,会对系统构成威胁,还有Load DATA LOCAL INFILE,禁用该功能。
这个主要是防止误删除,非权限用户禁止访问目录,还有就是数据文件禁止访问,或者采用更改常用的目录路径,或者通过chroot,要保证该目录不能让未经授权的用户访问后把数据库打包拷贝走了,所以要限制对该目录的访问。
密码强度复杂性
尽量并且不要使用固定密码,实行每个用户单独密码,长度在16位以上 0-9a-zA-Z~!@#$%^&*()-+ 随机组合。
密码过期机制
根据公司的情况设定密码过期时间,定期更改,同时不可使用重复密码。
密码保存机制
为了方便管理,可能会采用一个密码表,要加强对于密码表的维护更新,最重要的是保证不泄漏。
常规的方式是安装补丁,不过这个往往比较麻烦,主要是版本升级,还有就是防护策略。
由于性能或者其他方面原因,很多生产环境并没有使用,不过从5.7+开始,已经好很多了,有需要的加强安全防范其实可以尝试下了。
https://dev.mysql.com/doc/refman/5.7/en/mysql-ssl-rsa-setup.html
一般化数据库前面都会有主备的墙,不过从成本上考虑,很多企业都是单个或者裸奔的,有自己的硬件防火墙最好,没有的话也可以使用系统自带的防火墙,然后在加上其他白名单和中间件白名单过滤辅助措施,也能防止一部分问题。
默认端口是3306,这个最好修改下,为了方便记忆,你可以根据的ip地址来加密动态调整,不过如果生产网络允许,也可以定期修改,最好不要影响研发进度。
删除操作系统记录的敏感数据,比如.mysql_history、.bash_history 等,及时清理,移除和禁用.mysql_history文件。
人是安全的主导,管理的对象要从两个角度来看,从信息角度来说就是MySQL本身的安全,要防止数据的丢失和免遭破坏;从技术的角度来说就是整个系统的安全,要防止系统的瘫痪和免遭破坏。
最后说句题外话,监控和审计,安全主要是防患于未然,没有谁希望一天到晚接到各种警报,最好根据公司的实际情况订个详细的规章制度,不要觉得这个麻烦,有些你可能并不觉得有用,但是呢?我希望是没有但是。
(内容来源:talkwithtrend )
「天億网络安全」 知识星球 全面介绍网络安全相关知识、安全建设方案、分享网络安全行业法律法规及相关政策,一个学习网络安全知识、技术、业务交流的全国性平台。
知识星球定价:99元/年,(服务时间为一年,自加入日期顺延一年)。
如何加入:扫描下方二维码,扫码付费即可加入。
加入群聊
为了【天億网络安全】微信群管理,想进群的朋友先加我好友,我拉你们进群,微信二维码如下:
—THE END—朋友都在看
▶️干货分享|高级APT攻防学习资料
▶️详解算分|等级保护测评过程中 人工算分公式及方法
▶️【思维导图】11张,关于网络安全的思维导图
▶️《GB/T 36627-2018 网络安全等级保护测试评估技术指南》将于2019年4月1日正式实施
▶️等保2.0通用要求VS等保1.0(三级)技术部分要求详细对比
天億网络安全
【欢迎收藏分享到朋友圈,让更多朋友了解网络安全,分享也是一种美德!】
↑↑↑长按图片识别二维码关註↑↑↑
. 达梦数据库comment报错,达梦数据库comment错误解析与应对策略
. 达梦数据库启动过程中会加载哪些文件,达梦数据库启动文件加载解析
. oracle数据库数据恢复,Oracle数据库数据恢复策略与实战指南
. sqlserver误删数据库怎么恢复,全面解析与实操步骤
. 达梦数据库dca证书含金量,国产数据库领域职业发展的敲门砖与能力认证
. 优化数据库的八种方法,高效优化数据库,轻松实现查询加速与性能提升
. sql2012还原备份的数据库,sql2012怎么还原数据库
. oracle数据库官网,深入探索Oracle数据库官网——您的数据库学习与资源宝库
. 最新数据库排行榜