数据库安全权限控制管理思想

web账户授权实战案例a.生产环境主库用户的账号授权:GRANT SELECT,INSERT,UPDATE,DELETE ON blog.*TO ‘blog’@10.0.0.%’ identified by ‘oldboy456’;b.生产环境从库用户的授权:GRANT SELECT ON blog.*TO ‘blog’@’10.0.0.%’identified by ‘oldboy456’;当然从库除了做SELECT 的授权外,还可以加read-only等只读参数。2.4产环境读写分离账户设置给开发人员的读写分离用户设置,除了IP必须要不同外,我们尽量为开发人员使用提供方便。因此,读写分离的地址,除了IP不同外,账号,密码,端口等看起来都是一样的,这才是人性化的设计,体现了运维或DBA人员的专业。主库(尽量提供写服务):blog oldboy456 ip:10.0.0.179 port 3306从库(今提供读服务): blog oldboy456 ip:10.0.0.180 port 3306提示: 两个账号的权限是不一样的提示:从数据库的设计上,对于读库,开发人员应该设计优先连接读库,如果读库没有,超时后,可以考虑主库,从程序设计上来保证提升用也要根据主库的繁忙程度来综合体验,具体情况都是根据业务项目需求来抉择3,数据库客户端访问控制1.更改默认mysql client 端口,如phpadmin 管理端口为9999,其他客户端也是一样的2:数据库web client端统一部署在1-2台不对外服务Server上,限制ip,及9999端口只能从内网访问。3.不做公网域名解析,用host实现访问或者内部IP4phpadmin站点目录独立所有其他站点根目录外,只能由指定的域名或ip地址访问。5.限制使用web连接的账号管理数据库,根据用户角色设置指定账号访问。6按开发及相关人员根据职位角色分配管理账号7:设置指定账号访问(apache/nginx验证+mysql用户两个登录限制)8.统一所有数据库账号登录入口地址。禁止所有开发私自上传phpadmin等数据库管理等9开通vpn,跳板机,内部IP管理数据库系统层控制1限制或禁止开发人员ssh root 管理,通过sudo细化权限,使用日志审计2对phpadmin端config等配置文件进行读写权限控制3:取消费指定服务器的所有phpadmin web 连接端4.禁止非管理人员管理有数据库web client端的服务器的权限。5读库分业务读写分离细则补充:对数据库的select 等大量测试,统计,备份等操作,要在不对外提供select的单独从库执行主从架构生产环境从服务器分业务拆分使用案例:M–>s1==对外部用户提供服务(浏览帖子,浏览博客,浏览文章)–>s2==>对外部用户提供服务(浏览帖子,,浏览博客,浏览文章)–>s3==>对外部用户提供服务(浏览帖子,浏览博客,浏览文章)–>s2==>对内部用户提供服务(后台访问,脚本任务,数据分析,开发人员浏览)–>s5==>数据库备份服务(开启从服务器binlog功能,可实现增量备份及恢复)

尽量不要讲同事朋友的八卦。

数据库安全权限控制管理思想

相关文章:

你感兴趣的文章:

标签云: