现在,说安全性是最重要的也毫不为过。不安全的系统就是彻彻底底失败的系统。虽然我们无法做到100%的安全, 但是必须保持对安全的重视。
尽可能地让Mysql处于一个有保护的局域网之中
实在有需要从公网连接的话,再通过跳板机做端口转发
处在局域网之内的mysql,由于有局域网出入口设备的保护,相对于暴露在广域网中要安全不少。主要威胁对象基本控制为可以接入局域网的内部潜在威胁者 和 极少数可以突破局域网出入口安全设备的入侵者。
一个恶意入侵者登录上主机的话,可以通过各种方式登录自身安全设置不完善的数据库。也可以通过盗取或删除数据文件的方式发起破坏。
通过基本的用户管理模块,负责用户登录连接相关的基本权限控制,登入密码。
通过访问授权控制模块,校验用户是否拥有所请求数据的访问权限
启用 safe-update 选项,避免没有 WHERE 条件的全表数据被修改;
在应用中尽量不直接DELETE删除数据,而是设置一个标志位就好了。需要真正删除时,交由DBA先备份后再物理删除,避免误操作删除全部数据。
sql注入问题
在web server层,可以用一些安全模块,比如nginx的WAF模块;