MySQL业务变更流程与安全管理思想

MySQL数据库安全权限控制管理思想
1.制度与流程控制
1.1项目开发制度流程
办公室开发环境–>办公室测试环境–>IDC测试环境–>IDC正式环境,通过这种较完善的项目开发制度及流程控制,尽可能的防止潜在问题隐患发生。
1.2 数据库更新流程
开发人员提交需求–>开发主管审核–>部门领导审核–>DBA(运维)审核–>DBA(运维)执行项目开发制度及流程控制的数据库更新步骤(每个步骤都要测试 ),最后在IDC正式环境执行。
1.3.DBA参与项目数据库设计
在项目开发环节上,DBA或资深运维人员最好参与数据库设计与审核工作,这也可以从源头上减少降低不良的数据库设计及不良SQL语句的发生,还可以做所有的语句的审核工作,包括select,但这个需要评估工作量是否允许,一般的互联网公司实施全审核比较困难。
1.4各种操作申请流程
1)开发等人员权限申请流程
2)数据库更新执行流程
3)烂SQL语句计入KPI考核
1.5 定期对内部人员培训
定期给开发及相关人员培训,目的还是从源头上降低不良数据库设计及不良SQL语句的发生,并通过培训让大家知晓大家数据库的重要性,让大家提升开发时照顾数据库性能的意识。
1)数据库设计规范及制度
2)SQL语句执行优化,性能优化技巧等
3)数据库架构设计等内容
2账户权限控制
2.1 内部开发等人员权限分配
1)权限申请流程要设置规范、合理、让需求不明确者知难而退
2)办公开发和测试环境可以分开权限,idc测试和正式环境要严格控制数据库写权限,并且读权限和对外业务服务分离。
3)开发人员正式环境数据库权限分配规则:给单独的不对外服务的从库只读权限,不能分配线上正式主库写权限。
4)特殊人员,需要权限时,我们问清楚他做什么,发邮件回复,注明用户名、密码、权限范围,多提醒操作注意事项,如果有可能由DBA人员代替其操作。
5)特权账号,由DBA控制,禁止在任何客户端上执行特权账户操作
2.2 web账户权限分配制度
1)写库账号默认权限为select,insert,update,delete。不要给建表改表(create,alter)等的权限,更不能all权限。
2)读库账户默认权限select(配合mysql read-only参数用)。确保从库对所有非super权限是只读的。
3)最好专库专账户,不要一个账户管理多个库。碎库特别多的小公司根据情况特殊处理。
4)如果是lamp,lnmp一体在一台服务器上的环境,db权限主机要设置为localhost,避免用root用户作为web连接用。
5)web和数据库分离的服务器的授权可以根据web范围数量多少按ip或网段来授权
6)安全性和管理方便,总是相互矛盾的,需要达到一个较好的平衡状态,如何平衡就要根据具体公司和业务来衡量了。
3.数据库客户端访问控制
1.更改默认的mysql client端口,如phpmyadmin管理端口为9999,其他客户端也是一样。
2.数据库web client端统一部署在1-2台不对外访问的web上,限制ip及9999端口只能从办公室内网访问。
3.不做公网域名解析,用host实现访问(限制如何ip直接访问)或者用内部ip访问。
4.phpmyadmin站点目录独立于所有其他站点根目录外,只能由指定的域名或ip地址访问。
5.限制使用web连接的账户管理数据库,根据开发人员用户角色指定账户访问。
6.按开发及相关人员根据职位角色分配合适的管理账户,
7.设置指定账户访问权限层次,web层使用apache/nginx账户验证,数据库使用mysql用户登录验证。
8. 统一所有数据库账户登录入口地址。禁止所有开发人员私自上传phpadmin等数据库管理的程序。
9.开通VPN,跳板机,只能通过局域网内部IP管理数据库
4.系统层控制
1.限制或禁止开发人员ssh root管理,通过sudo细化权限,使用日志审计
2.对phpadmin端config等配置文件进行读写权限控制。
3.取消非指定服务器的所有phpadmin WEB连接端
4.禁止非管理人员有数据库web client端的服务器的权限

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值