NoteDeep
现在,说安全性是最重要的也毫不为过。不安全的系统就是彻彻底底失败的系统。虽然我们无法做到100%的安全, 但是必须保持对安全的重视。

mysql安全管理




第一层防线:网络

  • 尽可能地让Mysql处于一个有保护的局域网之中
  • 实在有需要从公网连接的话,再通过跳板机做端口转发
处在局域网之内的mysql,由于有局域网出入口设备的保护,相对于暴露在广域网中要安全不少。主要威胁对象基本控制为可以接入局域网的内部潜在威胁者 和 极少数可以突破局域网出入口安全设备的入侵者。
所以,这是非常必要的。

第二层防线:主机

  • 系统账号都改成基于ssh key认证,不允许远程密码登入,且ssh key的算法、长度有要求以确保相对安全。
  • 禁止root账号远程登录主机
  • 正确设置MySQL及其他数据库服务相关目录权限,不要全是755,一般750就够了
一个恶意入侵者登录上主机的话,可以通过各种方式登录自身安全设置不完善的数据库。也可以通过盗取或删除数据文件的方式发起破坏。

第三道防线:数据库

  • 要严格限制数据库账号权限级别。业务帐号,权限最小化,坚决不允许DROP、TRUNCATE权限
  • 设置MySQL账号的密码安全策略,包括长度、复杂性。
通过基本的用户管理模块,负责用户登录连接相关的基本权限控制,登入密码。
通过访问授权控制模块,校验用户是否拥有所请求数据的访问权限

应用层面:

  • 启用 safe-update 选项,避免没有 WHERE 条件的全表数据被修改;
  • 在应用中尽量不直接DELETE删除数据,而是设置一个标志位就好了。需要真正删除时,交由DBA先备份后再物理删除,避免误操作删除全部数据。
  • sql注入问题
  • 在web server层,可以用一些安全模块,比如nginx的WAF模块;     

评论列表

    mysql安全管理