MySQL安全的小姿势

  • 2019 年 10 月 5 日
  • 笔记

博文参考了老男孩老师的一些建议。

个人整理的MySQL安全方面,如下几点:

1、iptables不允许外部的访问3306端口,必须拨×××后才允许访问

    # iptables-A INPUT -s 公司的IP -p tcp -m state –state NEW -m tcp –dport3306 -j ACCEPT

2、grant授权时候不要放太大的权限,也不要给with grant option

3、每天备份数据,本地、rsync异地备份

    数据量大,可以使用xtrabackup,小的话直接mysqldump即可。

    可以将备份rsync同步到多个节点,存放多个副本做冗余。

4、设置管理员密码,禁止空密码登录

5、执行mysql_secure_installation

6、禁用.mysql_history文件

    # 默认情况下,对MySQL操作历史都记录在这里,防止泄露

    # echo'export MYSQL_HISTFILE=/dev/null' >> /etc/profile

    #source /etc/profile

7、及时打补丁

    关注MySQL,Percona、MariaDB的博客,及时了解行业安全动向。

8、启用操作审计日志

    可以使用MariDB提供的插件实现(插件下载地址https://mariadb.com/products/connectors-plugins)

    本人写的相关博文(MariaDB演示的)http://lee90.blog.51cto.com/10414478/1790582

9、配置别名,禁止不加限制条件的update和delete

    echo'alias mysql="mysql -U"' >> /etc/profile

    source/etc/profile