本帖最后由 网络工程师-老杨 于 2022-4-27 16:17 编辑
大家好,我是老杨,这篇文章来聊点新话题,聊聊关于业务数据安全那些事。
前不久,老杨在跟某大厂的老朋友聊天时,聊到了近期他公司的出现的一次小事故。
事故的起因不复杂,就是最近来了一个新同事,刚刚参加工作不久,所以部门目前只是先让他参与内网系统运维工作。
在一次对内网数据库进行维护的过程中,他不小心将数据库里某一个库里有用的库当做无用的库给删除了,导致内网中的一个服务出现了无法使用的情况。
从问题的性质上来说,这是算是一次比较大的操作事故,好在数据最终恢复了,最终,他也只是在部门内部做了批评。
但是,如果数据无法恢复,这位小萌新可能就要背锅了。
还好是操作的内网的系统,如果这次出现事故的是线上的业务系统,那影响范围跟程度将是企业级的。
曾经就有某盟因为数据出现丢失情况,导致股价瞬间蒸发不少。因此,各个企业,尤其是IT互联网企业,尤其重视自身数据的安全,在安全方面投入重金建设。
作为运维,你必须知道这一点,并且从这一点看出,你自己需要提升的部分。
本篇文章会从业务数据面临的风险+应对方法两个角度来提升你的认知。
今日文章阅读福利:《深入浅出mysql 》
添加老杨微信,备注关键词“数据库”,即可获取高清PDF,数据库经典阅读书目,别错过。 老杨微信:spotoa
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml5568/wps7.jpg
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml5568/wps8.jpg
大厂中的业务数据会面临哪些安全风险?
如果业务数据没有被保护好,数据会面临哪些安全风险?
01 数据丢失:数据存放在存储介质上(如硬盘),总会出现硬件故障,如坏道,导致数据丢失。亦或者是存储数据的IDC机房出现问题,比如起火等等,也会导致最终数据丢失损毁。
02 数据被盗:数据是核心,是命脉。自然其价值很高,就成为别人的盗窃的对象。在现实企业中,频繁出现数据被盗情况。比如前几年的某订票企业脱库事件。
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml5568/wps9.jpg
03 误删操作:马有失蹄,人有失手时候。不小心误删数据。比如某sass服务提供商数据被删事件。
04 报复操作:心存芥蒂,报复公司,删库跑路。这个就不好确定是不是真的发生了,大家可以上网百度下,毕竟即便出现,企业也不会承认。
作为IT运维,如何保障安全?
在这么多年的IT发展过程中,数据安全的措施日渐增多完善。在核心的数据库层面,数据库软件就提供了非常多的工具,措施,机制来保障数据安全。
在数据库日常工作中,我们可以做到的是:
01 定时定期备份数据
定期定时备份数据库能够确保数据在意想不到的情况下出现问题的时候,我们能够通过备份的数据进行恢复,减少数据丢失造成的损失。
在企业中,数据通常是存放在数据库中,比如mysql数据库。
通常来说数据库都有专门的数据库备份软件可以使用,比如mysqldump
备份数据库的命令相对简单,可以直接对整个数据库进行备份操作。
Mysql数据备份语句:mysqldump -uroot -p 库名 >db1.sql
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml5568/wps10.jpg
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml5568/wps11.jpg
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml5568/wps12.jpg Mysqldump还可以对数据库进行表级别的备份
mysqldump -uroot -p 库名 表名 >db1.sql
02 定期备份检查恢复
数据备份后,并不是就丢在那不管不顾,你还需要定期对备份数据进行校验测试,确保备份的数据能够完成数据恢复的操作。
这个操作,也能避免在紧急时刻需要进行恢复操作时出现问题。
同时,演练备份恢复操作也能加强操作人员的熟悉度,提高恢复效率。
为了演示恢复,老杨先把刚备份过的数据从数据库删除掉file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml5568/wps13.jpg
①删除数据库
Drop test;
②恢复数据库
(如果从库需要执行下该步骤
reset slave all
如果有开启gitd执行下该步骤
reset master)
导入备份数据:
Source db1.sql
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml5568/wps14.jpg file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml5568/wps15.jpg
上面的数据库恢复操作,在数据库恢复流程里属于“全备恢复”。
在日常工作中,数据库备份的时候分为全量备份,增量备份(binlog日志);在恢复中又分为全量恢复,跟部分恢复。你需要根据具体的需求与场景来进行对应的备份与恢复操作。
举个例子:
如果是数据库出现数据丢失的部分为全量备份之前的数据,则需要进行全量恢复加增量部分恢复。
如果是数据库出现数据丢失的部分为全量备份之后,增量备份期间,则这时候可以只进行增量备份恢复。
03 权限管控
权限管控是确保数据安全的重要防范手段。能够避免数据出现安全问题,才是我们工作的重心,前面的备份与恢复都是补救措施。
如果防范措施得当,就可以避免使用补救措施。
权限管控的目标,就是要平衡数据库使用需求与数据安全,在确保在安全的前提下,给与适当的访问权限。
查看目前某个账户的权限
show grants for 'backup1'@'192.168.182.128' ;
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml5568/wps16.jpg
限制数据库操作权限(只允许进行主从复制)
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml5568/wps17.jpg file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml5568/wps18.jpg
连主从复制都限制不允许
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml5568/wps19.jpg
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml5568/wps20.jpg
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml5568/wps21.jpg 04 其他补充手段
除了数据库软件方面来保证企业数据安全外,你还可以通过其他的辅助软件来确保整个数据安全流程。
老杨曾经比较经常用的,就是通过crontab定时来确保每次备份操作都定期执行。
通过zabbix监控系统软件来监控数据库自身运行的安全,监控数据库备份操作是否完成,是否有异常情况等。
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml5568/wps22.jpg
文章的内容就讲到这里。但是数据安全远远不是一篇文章就能搞定的,毕竟它是一个庞大的架构架构,包含许多方面考量。
比如数据库类的数据,需要你对数据库比较精通,从基础的数据库知识到高级的数据库各类原理,你都需要理解内化。
又比如,如何验证你的备份数据是否被改动过?这时候,就需要入侵检测系统来帮你进行校验。
因此,要确保你的公司业务数据的安全,需要系统的学习相关的知识,包括数据库,包括安全,包括Linux系统知识等等。
当你的知识面越广,你能够确保数据越安全。以下是从保障数据安全的角度,老杨提供给运维们的一个学习思路。
而这些内容,其实在红帽认证里都会系统学习,从rhcsa到rhca,循序渐进,你的运维之路会更加顺畅。
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml5568/wps23.jpg
想要系统学习红帽认证的运维小友,也欢迎添加老杨微信,开始系统学习第一步。
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml5568/wps24.jpg
|