MySQL安全策略(MySQL安全防范措施)

介绍

MySQL在越来越多的企业中得到应用,在关键业务中对数据安全的要求也越来越高。如何保证MySQL的数据安全

对于MySQL应用程序级别来说,数据安全显然不够。它需要在多个层次上进行保护,包括网络、系统、逻辑应用层、数据库层等。

下面是我们可以借鉴的一些安全策略。

1,网络和系统级

在这个层面上,我们可以做很多事情。我们可以将这些安全要求作为新系统安装的标准要求,并将其纳入自动化安装计划中。

将服务器运行MySQL到内部网络,不启用公共网络;

如果公众网被迫启用,sshd端口改为10000以上。

设置防火墙策略,只允许受信任的服务器连接sshd和MySQL端口;

修改iDRAC / IMM密码和设置GRUB密码。

密码安全策略设置,例如,pass_min_len的要求是不少于8位。事实上,最好是直接使用复杂的密码做MD5,然后使其成为正式的密码,并且32位的长度足够高。

操作日志记录在系统日志发送到远程日志服务器,它是坚决不仅存储在本地;

除了所需的帐号外,另一个被设置为没有访问权限;

试着单独的服务器上运行MySQL,不要把它与Web服务器和应用程序服务器。如果你要把它放在一起,你还必须建立一个权限分离,和Web服务器的所有者,应用服务器进程是不允许有访问MySQL datadir直接。

禁用Web服务器层的自动索引结构;

如果可能的话,使用HTTPS代替HTTP;

关键应用程序仍在更新,以避免旧版本易受攻击的风险。

建立应用服务如Nginx和PHP的安全政策,禁止危险的功能,等等。

我们可以考虑一些安全保护,扫描仪和其他产品提供的运营商。

我们必须坚决杜绝行动的双向和关键配置文件上传到公共网络,如把公司的项目代码在GitHub上作为一个个人项目,包含内部网络账户的密码信息。

2,逻辑应用层

在这个层面上,许多人依赖运营商和开发者的安全意识。许多低的安全漏洞,可以避免,可以设置在这个层面上,如XSS,CSRF攻击,SQL注入等漏洞下面提到的。

尽量不要在公共网络上使用开源CMS、博客、论坛等系统,除非您已经做过代码安全审计,或者事先做好了安全策略,这种系统通常是黑客的主要研究对象,很容易实现。

在Web服务器层、多个安全模块,如Nginx的WAF模块,可以用。

在应用服务器层,我们可以做代码安全审计和安全扫描防止XSS攻击,CSRF攻击、SQL注入、文件上传攻击,绕过cookie检测等安全漏洞。

地方的账号密码是参与应用,如JDBC连接字符串配置,尽量保存明文密码加密方式,然后使用内部解密工具解密和重用他们。或者你可以让一个应用程序连接的代理层和中间账户,然后连接MySQL的代理避免应用层直接连接到MySQL;

应用层启用关键日志记录,如事务日志,以方便后续帐户。

3、mysql数据库层

如果所有的第一层都不够安全,在这一层几乎是危险的,但我们仍然可以做一些事情。

启用安全更新选项,避免在没有修改条件的情况下避免所有表数据;

对binlog保存周期加长,方便后续审计和审查。

应用程序帐户只提供取消删除权限的选择、更新和插入权限。需要删除权限的逻辑被更改为更新,以避免物理删除。

当需要实际删除时,DBA被备份,然后被物理删除。

你可以使用Percona的SQL审计插件,据说有麦克菲插件。

触发器也可以用来做一些辅助功能,比如防止黑客恶意篡改数据。

4、后记

数据安全可以做很多事情,本文只是一个简单而快速的解决方案的清单,每个企业都应该有自己的安全策略规范。每个参与者都应该敬畏并尽力遵守这些必要的规范,这样信息安全就不会变成空谈。

真正的数据安全是由全民安全意识的支持,如果没有这种意识的机制,系统,工具不reliable.to