收藏
回答

话题 全部话题

信息时代,该如何确保数据安全?


软件的发展、信息的传递离不开各种各样的数据。

从本地存储到购买云服务,再到自建大型数据库、数据中心,不同规模的数据存储方式保障着各类信息服务持续稳定运行。

此时,数据安全尤为重要。如何避免“rm -rf /*”的梦靥成真?如何避免“删库跑路”的玩笑成为现实?是技术与管理层面共同面对的问题与挑战。

那么,在你参与的小程序等软件开发或管理工作中,是如何确保数据安全的?不同量级的软件需要分别采取什么样的策略来确保数据安全呢?


参与本话题优秀回答者将获得微信正版周边礼品一份,快来参加吧!

*图片仅供参考,实际奖品选择与发放将视官方周边更新与存货情况进行适当调整

*获奖情况将在「社区每周」公告中进行公示,受近期疫情影响,公示与发货时间可能有所延长

写回答关注话题邀请回答

20 个回答

  • 子不语
    子不语
    精选2020-03-04

    同一数据,多种不同方案备份,多个人管理。但是,万一串通好或者其他什么,也没辙。

    机器方面的话,该多处灾备就多处灾备吧。本地、局域网、备份服、U盘、硬盘等。

    人员的话,多个人管理不同的备份数据吧。

    还是那句话,做人留一线,日后好相见。防君子不防小人,也防不了小人。

    --↓↓👍如果觉得有帮助的话请点个【赞】吧(我的小尾巴又肥来啦!)

    2020-03-04
    赞同 20
    回复 10
    • 游戏人生
      游戏人生
      2020-03-06
      狡猾的小尾巴
      2020-03-06
      2
      回复
    查看更多(9)
  • Admin ²º²⁴
    Admin ²º²⁴
    精选2020-03-05

    单就「删库跑路」这种事件的角度说数据安全的问题吧,个人觉得还是「人」的问题,这个方面跟技术上扯不上太大的关系了。如果能拥有「删库跑路」权限的运维人员,基本上公司的相关安全技术对他来讲都可以「绕过」了。也一般是工作比较长时间,公司比较信任的员工。

    所以,这个问题我认为应该从员工管理角度入手了,运维人员其实是程序猿的「难兄难弟」,压力一样大,多照顾运维人员和程序猿的相关需求,精神和物质上的,公司发力提升相关待遇,维持一个相对舒适的内部环境比技术上解决这种问题靠谱点。当然这绝对不是说技术上的安全措施是没用的,恰恰相反,技术上的安全是一门永远的不停更迭的学问。时时关注技术安全并实时更新自己的代码安全,部署环境的安全是一定境界后的猿必备的技能。但是技术到达一定境界后一定碰到瓶颈,技术安全上亦是如是!技术上真正能防止删库跑路的某种角度上讲应该是没有的,只能是「亡羊补牢」式补救措施,这里要说的就是备份、备份、备份!光备份的技术,就我了解的就够说上几个小时了。文字更是无法描述,这里略去..

    以上仅就公司内部员工「删库跑路」这个角度看待题主提出的话题。

    在这里呼吁各类猿一下(同时也是共勉),技术以人为本,你技术再高都不要整一些没用的负面的东西。那样技术只能带来伤害。

    2020-03-05
    赞同 12
    回复 1
    • Admin ²º²⁴
      Admin ²º²⁴
      2020-03-07
      补充一点,攻和防是个永恒的话题。但是归根到底是一人为本。
      技术上你永远无法保证拥有最高权限的那个人不利用已有的权限去「删库跑路」,所以技术上永远无法从根本解决这个问题。
      2020-03-07
      1
      回复
  • 游戏人生
    游戏人生
    精选2020-03-06

    1、权限管理制度

    个人觉得这个是最重要的,制度建立优于“人性”管理,避免有些人“视死如归"或者”心灰意冷“的骚操作。

    核心还有一点:拥有sudo rm -rf /* 权限的账号,不能远程VPN去执行,必须是在内网办公环境禁止跳板机,代理

    2、双向授权和高危权限账号登录验证

    双向授权是第一步,第二步是登录高权限账号再次验证,比如root级别的,需要有两个人及以上授权,才可以操作,至少保证。。。不是一个人独自使用管理员账号,降低莫名其妙的“精神失常”操作(手动狗头)

    3、备份分离,主从权限分离

    备份,日志的权限一定不能掌握在一个人手里。

    4、员工思想教育

    删库跑路是犯法的,后果很严重。如果你做了,你虽然能得到一个免房租的小屋子和免费的午餐,但代价你懂的~

    2020-03-06
    赞同 6
    回复 2
    • 阿巴阿巴
      阿巴阿巴
      2020-03-07
      2020-03-07
      2
      回复
    查看更多(1)
  • 老张
    老张
    精选2020-03-05

    1、从技术上看

    技术反而是最不重要的一环,道高一尺 魔高一丈。

    再好的技术,甚至连外贼都防不住,更永远没可能防得住这种家贼的;

    比如,区块链安全技术?据说永远无法删除,靠谱吗?使用的代价是多少?

    比如,阿里安全技术很牛吧,吴瀚清要删库走人,你一点办法也没有。


    2、从制度上看

    与技术无关,就是制度上保证,比如严格授权;

    总能找到一款你最适合的制度。

    人的问题,永远还是要从人出发,而能管住人的,永远只有制度,而不是技术;


    3、从法律上看

    加强法律扫盲。

    比如某盟这位同学,很大程度上就是一个法盲,但凡对法律有一点敬畏,也不可能以身犯法;


    4、从道德上看

    先小人,后君子,把每个员工都看成是不靠谱的,在商言商,在法言法,在工言工。

    各种保密协议,各种规范措施,光明正大的对员工实施,不要觉得不好意思,这个时候,义气最不安全;


    5、从态度上看

    这种事,某盟的领导不重视是主要原因,

    不要以为这种小概率事件不会发生在自己身上,万一呢?这不,十亿没了。

    只要认真起来,总是能防止的。

    唯心来讲,态度最重要。


    6、对比小程序云开发来看

    小程序的云开发是安全系数非常低的机制,云开发数据库只有一道开发者权限的门槛,然后就可以为所欲为,删库走人不要太容易。

    从这点讲,云开发还有很长的路要走啊。

    2020-03-05
    赞同 4
    回复 3
    • Stephen
      Stephen
      2020-03-05
      未来发明了体积小、速度快、价格便宜并且无限存储的介质的话倒可以,就目前来看是不靠谱的,数据量太大了
      2020-03-05
      1
      回复
    查看更多(2)
  • Cooper
    Cooper
    精选2020-03-13

    从开发的角度看,代码版本管理是必须的,多人协作开发同一个项目,经常会遇到代码冲突的问题。


    我的做法是,借助腾讯云Coding DevOps,搭建一套完整的平台,可以实现代码管理、持续集成、自动部署等操作。


    以一个企业官网为例,通过腾讯云账号可以创建子用户,子用户可以加入到Coding团队中,设置子用户的开发权限,这样就子用户就只能看到当前正在开发的项目,其他的项目和控制台资源信息,都是看不到的。


    coding跟gitlab类似,本地生成ssh key,填写到项目后台设置里,ssh -T测试通过就可以推拉了。


    只是多人协作的时候,一定要先把master分支pull下来,然后再merge合并到dev分支。


    所有的push都应该在dev分支操作,线上master一定要锁死,非管理员不可以直接推送。


    每次提交pr需要管理员审核通过后,才可以更新master为最新版。


    上面这些操作跟gitlab类似,但Coding DevOps有个好处,就是你可以设置静态网站自动部署。一旦检测到master变化,就会自动执行部署脚本,数秒钟即可通过测试域名看到最新的网页内容。


    有了git代码管理这样的操作,无论是线上还是本地,如果出现代码丢失或者覆盖的情况,随时可以回退到之前的版本,也就是代码git帮你做好了备份。


    数据也是同理,需要定期做备份,可人为也可以自动备份。


    数据一定不能只放在一个地方,需要有多个存储桶做容灾备份,这方面腾讯云做的也很好,可以试试。


    权限一定要控制好,什么人做什么操作,都要有记录。据我了解,BAT等大厂开发日常,都是内网连接一个跳板机,然后用跳板机连接目标主机进行开发操作。


    当项目和团队达到一定规模后,这些权限控制都必不可少。不过对于小团队来说,coding devops完全够用了,而且是免费的,很香!


    像这样的安全事件,每年都会有,不管是b站的后台源码泄露,还是这次微盟删库跑路,本质上都是对安全问题的疏忽。安全就好比防盗系统,没有被偷就不会在意,一旦发生盗窃事件,损失往往十分惨重。


    虽然口号一直喊得是安全第一,但为了公司更多的是关系业务赚不赚钱,安全往往被忽略,大多数中小微企业甚至都没有安全工程师这样的岗位,让人唏嘘不已。


    作为一名开发者,时刻要有安全意识,前者之鉴后事之师,在开发写代码的时候,多想想这样写会不会有引发安全问题。


    有了这样的意识和习惯,万一哪天出事了,也不至于面对被删库而束手无策。

    2020-03-13
    赞同
    回复
  • 王浩Hanks🇨🇳
    王浩Hanks🇨🇳
    2020-03-04

    从技术角度来讲

      小公司,该买云买云,该买备份服务就买备份服务。服务器漏洞,该补就补。

      大公司,我不知道,看其他人回答吧。

    前几天某盟被删库跑路(其实他没有跑),其实就是人为主动删除导致的。

    从人的角度讲


                 做人留一线,他日好相见


    2020-03-04
    赞同 9
    回复 2
    • 阿巴阿巴
      阿巴阿巴
      2020-03-07
      2020-03-07
      2
      回复
    查看更多(1)
  • 阿巴阿巴
    阿巴阿巴
    2020-03-07

    1、不要得罪DBA比一切都强。至少钱给到位,不给人委屈,人性化对待7x24小时在岗的DBA。

    历史上几次删除跑路,删库删备份都是因为程序员本身太委屈到对人生无望,才知法犯法。

    2、多处云备份。不给备份处所有权限给dba。这就要求创始人里有人懂一点点技术。

    低概率事情一旦发生就毁灭性的,属于低频高危风险,要提前做好防御措施。

    3、专业的第三方的数据安全公司接入。

    4、还是强调第一条,不要让DBA承受不可接受的委屈。


    2020-03-07
    赞同 2
    回复 1
    • 夏宇r
      夏宇r
      2020-03-11
      得把DBA供这
      2020-03-11
      回复
  • Hassan
    Hassan
    2020-03-13

    搞这样的话题有什么讨论意义了,在开发论坛讨论运维问题??你们怎么不去开一个心理咨询栏目来给程序员疗伤了~~ 整点有用的行不行?比如搞一个需求排行榜,把大家想要的实现的功能需求做成投票选择,选择出来的结果,官方给一个统一的说法,能做还是不能做,整天搞那种一对一的需求聊天,有什么效率。早点把我们的需求问题解决才是王道,否则开发整天被逼的想杀人,删个库又算啥~ 就好比讨论如何防止恐怖分子炸楼,就算再讲的头头是道,关键是你的让我们先把楼盖起来了,楼都没盖成了,哪里有心思去考虑恐怖分子炸楼~

    2020-03-13
    赞同 1
    回复
  • 拾忆
    拾忆
    2020-03-04

    数据方面以前公司的主要做法就是主从库,读写分离,因为自己是前端所以对数据维护倒是没怎么研究。一般云服务商都会提供数据的备份功能吧,所以如果不是大规模的公司,托管数据还是比自己维护数据安全一些,如果是大公司的话一般也都会有自己的运维团队和多重备份手段。

    但是再严密的防护总是会有漏洞的,就是没漏洞也防不了内部因素,比如最近比较火的删库事件。

    2020-03-04
    赞同 1
    回复
  • 谋谋谋
    谋谋谋
    2020-06-19

    复制他一百份儿。放到一百个地方即可

    2020-06-19
    赞同
    回复

正在加载...

登录 后发表内容