MySQL的安全指引

安全的一些常识,可以参考中文文档

以下是我对安全的一些认识

1、基本上数据库不对外开放是DBAs的共识,也就是位于内网,如果需要对外开放,暴露端口,那么你可能需要防火墙以限制风险,一个成熟规范的公司在这方面会有比较完善网络安全规则和流程;

2、数据库可以看做是架设在网络、操作系统之上的,更底层的基础设施越安全,MySQL也越安全。如果数据库所在的主机都被盗了,你在MySQL层次上做再多安全措施也没有用;

3、随着MySQL在商业社会的应用越来越广泛,对安全的要求也越来越高。我们个人的隐私,数据的保护意识也越来越强,这都需要MySQL从产品本身做一些改变,比如MySQL 5.6的默认的安全措施就强化了

由于MySQL 的初始化安装会存在一些空密码的账户,技术人员部署安装好MySQL基础环境的首要重要的事就是进行安全强化,删除空密码的帐号,但许多没有DBA的团队还真不知道这回事。

MySQL 5.6在命令行里带上密码或者在脚本里使用MySQL密码将会收到警告,对于部分人来说,这点可能是困扰,可以解决的一个方法是export下MYSQL_PWD变量。

对于RPM包初次安装,也会默认生成一个随机密码,而不会像以前的保留空密码帐号,导致安全隐患。

4、对于公司/团队而言,绝大部分中小公司,我想对于安全的重视程度都是不够的,特别是高速增长的中小公司,理由各种各样,资源 不足、缺少专业安全人员、业务要求更灵活,安全投入太大,但实际情况,对于绝大部分中小公司,对于安全的投入并不要求很大,并不需要像业内 阿里、腾讯、百度那样有专门的安全团队,内部/internet资源已经很多了,能充分利用好现有的资源、人力,就已经可以很好的保证业务的安全快速发展,关键是一点是,全员要有安全意识,这是贯彻到骨髓的一些基本素养,再普通的小事情都注意安全,再小的项目也要注重安全。对于员工的培训,一些安全知识的推广,专业的研发/测试/DBA的熟悉自己领域里的安全技能。

如果你还不确定,你应该衡量下安全投入的成本和丢失数据的风险,如果你是一个电商公司,那么就要很小心了。

5、安全其实是避免风险,消除未来的不确定性,如果不在小公司的阶段注重安全,那么在业务规模很大的时候,一次不确定性的安全事故,就可能导致你万劫不覆,这就和炒股类似的道理,当你在没有什么钱的时候炒股,输赢都是小事,等你有了很多钱,一次失败就可能让你倾家荡产。

    原文作者:Gary Chen
    原文地址: https://zhuanlan.zhihu.com/p/20213499
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞