freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

为了管理公司公共应用账号,差点手搓一个浏览器
2023-05-19 08:54:27
所属地 浙江省

一、任何一个公司都存在公共账号

任何一个公司都存在或多或少的公共账号,或者叫做共享账号,定义就是一个系统,有限个账号,多个人使用。对于开发者来讲,最常见的就是第三方开发者账号比如苹果开发者账号、钉钉、企微开放平台账号,云平台账号如阿里云、腾讯云、AWS、Azure等等,还有很多第三方数据平台账号如巨量引擎、友盟等等。平台企业只能注册一个账号,往往也是使用公司特有的电话号码或者公共邮箱注册,然后给多个人共享使用。

二、所谓的公共账号,就是账号密码都公开使用

账号共用,其实是个挺“可怕”的事情,举个极端的例子,你能想象把你的微信账号共享给别人一起使用吗。当然企业维度的账号共享问题,倒不是微信这种个人隐私的顾虑,主要是在管理成本和数据安全和其它风险角度的考虑。我们按上图的示意,假设几种可能发生的情况:

  1. 员工 A 离职后会发生什么:管理员连夜修改知乎的账号密码,然后给员工B和C发送新的账号密码。

  2. 员工 A 转岗:管理员连夜修改知乎的账号密码,然后给员工B和C发送新的账号密码。

  3. 第三方平台如苹果开发者账号发生了泄露:管理员连夜修改账号密码,然后给员工A、B和C发送新的账号密码。

我们能够看到,任何人员和系统账密的变动,管理员就要重复更改密码、公示密码。那我们假设系统数量和员工数量都不断上涨的时候,管理员会是个如何的心如死灰。

三、数据安全怎么会允许账号密码漫天飞!

上面讲的管理员的问题,是大多数企业都在经历的痛苦挣扎,大家看到的是管理的复杂度或者说叫做运营成本,但如果搬出“数据安全”的利剑,那么这一切都不应该存在。因为只要有一个员工有意或无意地泄露了密码,而公司其它人都无所知的情况下,管理员的所有操作都变得徒劳而没有意义。这,就是老板给我的的看似不可能完成的任务。 老板:你,去解决公司账号共用的问题,不要让大家都知道密码,另外公司要降本增效,这件事没有太多预算,你自己看着办! 我:...好的老板(你是老板你说什么就是什么罗)

四、思如泉涌之密码管理软件

接到任务,我第一个想到的就是密码管理软件,不就是账号密码管理嘛。那不是一大堆工具,行业内做得比较好而安全的我首先想到的是 1Password (https://1password.com/zh-cn/ )和 Lastpass(https://www.lastpass.com/),反正有免费版本注册了先试用看看,如果能满足需求,再想想看能不能搭建开源的版本,不花钱,老板肯定要表扬我的,想想都开心。 试用下来,这些密码管理工具确实比现在公司内部人工管理有很大优势:

  1. 都有企业版本,可以方便管理员去共享账号给员工,不用在拉群或者私聊给每个员工发账号了。

  2. 有一定账号使用情况的管理和视图。

  3. 可以设置很复杂的密码,不用担心简单密码被破解。

  4. 员工不需要记忆账号密码,选择登录就行。

有这么多优势,员工和管理员都受益,但是却有个致命的数据安全问题,那就是“每个人都知道密码”,可以通过账号管理软件内部,或者插件,或者浏览器开发者模式,轻易的就能拿到密码。老板要求的不能大家都知道密码的底线要求,最终只能弃用这种方案。

五、思如泉涌之自己实现密码管理软件

其实上面密码管理软件的思路是没有问题的,只是他们无法解决隐藏密码的问题,我只要沿着这个思路解决这个问题就好了。那我倒不如找个开源的密码管理软件,简单修改做到不让密码可见不就好了! 经过一番对比,我选择了难度相对适合的项目 bitwarden , https://github.com/bitwarden。我准备读读里面的源码,把界面上能显示密码的地方给禁用掉,当然也包括其它能把密码拷贝出来的功能。 就在我一腔热血读源码的时候,突然一个念头闪过,如遭雷劈!即使我实现了密码管理软件的密码不可见,在系统登录页面,通过浏览器的开发者模式修改密码框属性不是也能拿到密码吗!

六、思如泉涌之自己实现浏览器

其实上面自建密码管理软件的思路是没有问题的,只是无法解决浏览器的密码屏蔽问题,我只要沿着这个思路解决这个问题就好了。那我倒不如找个开源浏览器,简单修改做到不让密码可见不就好了!比如禁用开发者模式,想想都激动,我真是个天才。 于是,我下载了 chromium 的源码(https://chromium.googlesource.com/chromium/src.git/),准备大干一场。当我看到 20G 的 chromium 源码的目录,且搭建编译环境的配置异常复杂的时候,于是,我放弃了。。。

七、思如泉涌之找个第三方的办公安全浏览器

其实上面自建浏览器的思路是没有问题的,只是我放弃了,我只要沿着这个思路解决能禁用浏览器开发者模式的问题就好了。嗯嗯。 于是,我开始搜索第三方办公安全浏览器,竟然都能满足这个安全管控的要求。比如

  1. 360 的安全浏览器

  2. 奇安信的安全浏览器

  3. 数影办公安全浏览器

这些安全浏览器都能禁用开发者模式,甚至还包括远程调试模式。

7.1 通过浏览器再也看不到密码

通过浏览器可以拿到密码的方式也有多种,比如通过网页源代码、通过开发者模式修改密码框属性,这些都可以通过安全浏览器策略去禁用。不过这些高级安全功能默认不开放的,需要官网联系客服进行试用开通。

打开开发者模式,将密码框类型属性从password修改为text,就可以直接显示密码了。

7.2 应用账号管理

数影办公浏览器已经自带了企业级别的账号分配管理能力(不是浏览器那种简单记住密码功能),省了自己实现账密管理软件的麻烦。

7.3 网站自己也有显示密码的功能

密码管理这事实在没那么简单,还有很多场景需要考虑,比如下面这种系统本身就提供了显示密码的功能,又让密码暴露无遗了。数影这个工具考虑得挺周全,本身就已经兼容了这种场景,用数影打开系统就会发现,这样的小眼睛功能已经被自动去除了,这个必须为我们的研发团队点赞。

7.4 手机验证码动态登陆

账号密码登陆是我们习以为常的,但是现在的确越来越多的应用开始只支持手机动态验证码登录,这种情况下前面所说的所有方案都起不了作用了。我抱着试一试的心态联系了官方客服才发现,这是另一个高级功能,原理其实就是公司内部配一个专属的手机,在手机里内置短信转发的APP,把短信转发到浏览器对应的员工通知里就行了,技术实现是不难的。

7.5 动态二维码

和短信验证码类似,有些系统在 PC 端只支持其手机 APP 扫码登录,这样的应用比较少,我们也还没遇到,要解决这类问题,其原理和短信的转发一样,不过技术难度要大得多。

八、不装了,坦白了

以上其实只是站在所有企业的 IT 或者信息安全从业者视角,还原了他们经常会面临的一些工作上的难题。公共账号,只是频繁骚扰他们的问题之一,解决问题的心路历程如出一辙。

# 数据泄露 # web安全 # 数据安全 # 企业安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录