为了管理公司公共应用账号,差点手搓一个浏览器

本文涉及的产品
数据安全中心,免费版
简介: 任何一个公司都存在或多或少的公共账号,或者叫做共享账号,定义就是一个系统,有限个账号,多个人使用。原因多种多样,比如常见的一些自媒体号(知乎号、抖音号、百家号等等)用于企业日常的宣传经营,这些平台企业只能注册一个账号,而这一个账号老板要使用、多个运营人员也要使用。又比如招聘网站(BOSS 直聘、拉钩、猎聘等等)的管理员账号,往往也是使用公司特有的电话号码或者公共邮箱注册,然后给多个人共享使用。

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

任何一个公司都存在或多或少的公共账号,或者叫做共享账号,定义就是一个系统,有限个账号,多个人使用。原因多种多样,比如常见的一些自媒体号(知乎号、抖音号、百家号等等)用于企业日常的宣传经营,这些平台企业只能注册一个账号,而这一个账号老板要使用、多个运营人员也要使用。又比如招聘网站(BOSS 直聘、拉钩、猎聘等等)的管理员账号,往往也是使用公司特有的电话号码或者公共邮箱注册,然后给多个人共享使用。

image.png

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

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

  1. 员工 A 离职后会发生什么

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

  1. 员工 A 转岗

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

  1. 知乎密码发生了不明原因的泄露

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


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

image.png

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

上面讲的管理员的问题,是大多数企业都在经历的痛苦挣扎,大家看到的是管理的复杂度或者说叫做运营成本,但如果搬出“数据安全”的利剑,那么这一切都不应该存在。因为只要有一个员工有意或无意地泄露了密码,而公司其它人都无所知的情况下,管理员的所有操作都变得徒劳而没有意义。这,就是老板给我的的看似不可能完成的任务。


老板:你,去解决公司账号共用的问题,不要让大家都知道密码,另外公司要降本增效,这件事没有太多预算,你自己看着办!

:...好的老板(你是老板你说什么就是什么罗)

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

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

试用下来,这些密码管理工具确实比现在公司内部人工管理有很大优势

  1. 都有企业版本,可以方便管理员去共享账号给员工,不用在拉群或者私聊给每个员工发账号了。
  2. 有一定账号使用情况的管理和视图。
  3. 可以设置很复杂的密码,不用担心简单密码被破解。
  4. 员工不需要记忆账号密码,选择登录就行。

image (2).png

(员工选择一个账号就可以实现自动密码填充登录)

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


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

其实上面密码管理软件的思路是没有问题的,只是他们无法解决隐藏密码的问题,我只要沿着这个思路解决这个问题就好了。那我倒不如找个开源的密码管理软件,简单修改做到不让密码可见不就好了!


经过一番对比,我选择了难度相对适合的项目 bitwarden https://github.com/bitwarden。我准备读读里面的源码,把界面上能显示密码的地方给禁用掉,当然也包括其它能把密码拷贝出来的功能。


就在我一腔热血读源码的时候,突然一个念头闪过,如遭雷劈!即使我实现了密码管理软件的密码不可见,在系统登录页面,通过浏览器的开发者模式修改密码框属性不是也能拿到密码吗!

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

其实上面自建密码管理软件的思路是没有问题的,只是无法解决浏览器的密码屏蔽问题,我只要沿着这个思路解决这个问题就好了。那我倒不如找个开源浏览器,简单修改做到不让密码可见不就好了!比如禁用开发者模式,想想都激动,我真是个天才。

于是,我下载了 chromium 的源码(https://chromium.googlesource.com/chromium/src.git/),准备大干一场。当我看到 20G 的 chromium 源码的目录,且搭建编译环境的配置异常复杂的时候,于是,我放弃了。。。

image (4).png

(chromium 源码地址)

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

其实上面自建浏览器的思路是没有问题的,只是我放弃了,我只要沿着这个思路解决能禁用浏览器开发者模式的问题就好了。嗯嗯。

于是,我开始搜索第三方办公安全浏览器,竟然都能满足这个安全管控的要求。比如 360 的安全浏览器 https://browser.360.cn/、奇安信的安全浏览器 https://qianxin.com/product/detail/pid/420,还有个数影的办公安全浏览器 https://www.dsphere.com.cn/office-browser(意外发现,也是救赎之路)。这些安全浏览器都能禁用开发者模式,甚至还包括远程调试模式等我不曾想到过的漏洞。

从官方介绍上来看,似乎都能满足需求,遗憾的是只有数影星球这一家是支持直接注册试用的,于是我马不停蹄要去验证一下。这就让我发现惊喜了!

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


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

image (5).png

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

7.2 应用账号管理

我原本的目标是找个可以禁用开发者模式的浏览器,然后配合自己改造过的开源账号管理软件,实现公司公共账号的安全管理。但是让我意想不到的是,数影办公浏览器已经自带了企业级别的账号分配管理能力(不是浏览器那种简单记住密码功能),这让我也省了自己实现账密管理软件的麻烦,实在是意外之喜。

image (6).png

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

原来密码管理这事实在没那么简单,还有很多我之前都没有想到过的情况,比如下面这种系统本身就提供了显示密码的功能,又让密码暴露无遗了。这也算是惊喜发现之二了,数影这个工具实在是考虑得挺周全,它本身就已经兼容了这种场景,用数影打开系统就会发现,这样的小眼睛功能已经被自动去除了,这个必须点赞。

image (7).png

7.4 手机验证码动态登陆

账号密码登陆是我们习以为常的,但是现在的确越来越多的应用开始只支持手机动态验证码登录,这种情况下前面所说的所有方案都起不了作用了。我抱着试一试的心态联系了官方客服才发现,这又是另一个高级功能,现在商业化产品套路也确实挺深的,都是一点一点功能给你。没有去申请开通,从官方答复的方案来讲确实是行之有效,其实就是公司内部配一个专属的手机,在手机里内置短信转发的APP,把短信转发到浏览器对应的员工通知里就行了,技术实现是不难的,我们目前还没有这种场景,也就没有亲自去验证了。

7.5 动态二维码

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


想起最初打算自己改造个密码管理软件和浏览器,实在是想得过于简单了。

目录
相关文章
|
3月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
261 14
|
10天前
|
Web App开发 编解码 vr&ar
使用Web浏览器访问UE应用的最佳实践
在3D/XR应用开发中,尤其是基于UE(虚幻引擎)开发的高精度场景,传统终端因硬件局限难以流畅运行高帧率、复杂效果的三维应用。实时云渲染技术,将渲染任务转移至云端服务器,降低终端硬件要求,确保用户获得流畅体验。具备弹性扩展、优化传输协议、跨平台支持和安全性等优势,适用于多种终端和场景,特别集成像素流送技术,帮助UE开发者实现低代码上云操作,简化部署流程,保留UE引擎的强大开发能力,确保画面精美且终端轻量化。
使用Web浏览器访问UE应用的最佳实践
|
2月前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
165 1
|
5月前
|
机器学习/深度学习 存储 前端开发
实战揭秘:如何借助TensorFlow.js的强大力量,轻松将高效能的机器学习模型无缝集成到Web浏览器中,从而打造智能化的前端应用并优化用户体验
【8月更文挑战第31天】将机器学习模型集成到Web应用中,可让用户在浏览器内体验智能化功能。TensorFlow.js作为在客户端浏览器中运行的库,提供了强大支持。本文通过问答形式详细介绍如何使用TensorFlow.js将机器学习模型带入Web浏览器,并通过具体示例代码展示最佳实践。首先,需在HTML文件中引入TensorFlow.js库;接着,可通过加载预训练模型如MobileNet实现图像分类;然后,编写代码处理图像识别并显示结果;此外,还介绍了如何训练自定义模型及优化模型性能的方法,包括模型量化、剪枝和压缩等。
96 1
|
5月前
|
API UED 开发者
如何在Uno Platform中轻松实现流畅动画效果——从基础到优化,全方位打造用户友好的动态交互体验!
【8月更文挑战第31天】在开发跨平台应用时,确保用户界面流畅且具吸引力至关重要。Uno Platform 作为多端统一的开发框架,不仅支持跨系统应用开发,还能通过优化实现流畅动画,增强用户体验。本文探讨了Uno Platform中实现流畅动画的多个方面,包括动画基础、性能优化、实践技巧及问题排查,帮助开发者掌握具体优化策略,提升应用质量与用户满意度。通过合理利用故事板、减少布局复杂性、使用硬件加速等技术,结合异步方法与预设缓存技巧,开发者能够创建美观且流畅的动画效果。
100 0
|
8月前
|
存储 人工智能 应用服务中间件
Web应用是一种通过互联网浏览器和网络技术在互联网上执行任务的计算机程序
【5月更文挑战第30天】Web应用是一种通过互联网浏览器和网络技术在互联网上执行任务的计算机程序
123 2
|
8月前
|
Web App开发 前端开发 JavaScript
构建跨浏览器兼容的前端应用:技术实践与挑战
【5月更文挑战第16天】构建跨浏览器兼容的前端应用是应对浏览器差异和多样性的挑战。使用现代框架(如React、Vue)能自动转换代码,编写可移植的Web标准代码,结合浏览器兼容性测试工具和Polyfill解决旧浏览器支持问题。关注浏览器更新,应对性能、API差异和样式问题,采用渐进增强、条件判断和CSS Reset策略确保应用在各种浏览器上运行良好。
|
7月前
|
数据采集 运维 安全
指纹浏览器与虚拟机的区别及在跨境电商中的应用
指纹浏览器与虚拟机在跨境电商中扮演不同角色。指纹浏览器通过独特设备指纹防止账号关联,适合多账号安全管理;虚拟机提供隔离环境,用于测试和开发,但需更多资源和技术管理。商家应根据需求平衡安全、效率与成本。
|
前端开发 JavaScript Java
Web应用中浏览器与服务端的编码和解码
Web应用中浏览器与服务端的编码和解码
162 0
|
数据采集 开发框架 JavaScript
基于.NET Core内置浏览器窗体应用程序界面框架
基于.NET Core内置浏览器窗体应用程序界面框架
118 0

热门文章

最新文章