写点什么

谷歌、Twitter 先后开始远程办公,工程师发文吐槽:VPN 都是垃圾

  • 2020-03-03
  • 本文字数:3899 字

    阅读完需:约 13 分钟

谷歌、Twitter先后开始远程办公,工程师发文吐槽:VPN都是垃圾

前段时间,由于国内疫情严重,不少科技公司开启了远程办公,工程师吐槽 VPN 服务器因负载过高频频崩溃。如今,国外疫情严重,谷歌、Twitter 等大厂也开始进入远程办公。不料,国外工程师更加暴躁,直接评价:所有 VPN 都是垃圾。

因疫情全球蔓延,国外科技大厂开启远程办公

由于新冠病毒开始在全球肆虐,欧洲和亚洲各地区企业和组织开始效仿中国,采取远程办公的方式防止新冠病毒的传播。一些高风险地区,每天有数百万人在家办公,线上压力比以往任何时候都要大。而且有迹象表明,随着新冠病毒感染人群的攀升,未来几天或几周内大部分受波及地区都会采取在家远程办公的方式工作。


由于有员工报告出现流感症状,谷歌已要求其都柏林欧洲总部约 8000 名员工在家中工作。谷歌发言人称,将继续采取预防措施,以保护员工的健康和安全。Twitter 也在周一表示,由于担心新冠病毒疫情的蔓延,公司“强烈鼓励”所有近 5000 名全球员工在家办公。Twitter 此前表示,公司将暂停一切非重要的公司商旅活动,优化内部会议、全体员工大会以及其他重要任务安排,以确保远程办公人员参与进来。


一些公司已经拥有了内部 Slack 和 Zoom 系统,员工可以选择使用哪种办公方式办公。但是一组与新冠病毒相关的最新数据表明,拥有这类远程办公系统的公司少之甚少,绝大多数公司都是第一次使用远程办公系统。


这些远程办公软件的实际使用率是怎样的?Google 给了我们一些提示:



在搜索引擎反映出来的数据可以看出,Zoom、 Slack 和 Microsoft Teams 的关键词搜索数量在以惊人的速度增长。


  • Zoom 的搜索量在韩国增加了 525%,在日本增加了 150%,在意大利增加了 104%;

  • Slack 的搜索量在韩国增长了 17%,在日本保持平稳,在意大利增长了 19%;

  • Microsoft Teams 搜索量在韩国增长了 186%,在日本下降了 17%,在意大利增长了 108%;


疫情期间,远程办公软正经历着(或即将经历)销售、试用和新用户增长的繁荣期。尽管额外的流量基本上是免费的,营销效率却是飞速增长,但是有些软件服务团队却因用户体量如此巨大而不堪重负。由于疫情期间用户激增,许多市面上流行的远程办公工具存在着宕机、延迟或技术 bug 的问题,有员工也因此吐槽:远程工具实在是太难用了!

工程师激烈吐槽:企业 VPN 糟透了

当企业纷纷开启远程办公模式,为了访问企业内网,不少公司给员工提供了企业 VPN。然而,根据一些员工在社交网络上的反馈,企业 VPN 不太好用:一方面是因为突然之间要承受巨大的访问量,导致经常有员工被卡掉线;另一方面则是企业 VPN 的安全性有待提升。


技术专家 Matthew Sullivan 在自己的博客上专门写了一篇文章来吐槽企业 VPN 的安全性问题,当然更重要的是,他提出了一些可行的选择和搭建方案。


首先,他的观点是:


尽量别用 VPN。


为什么?因为:


所有的 VPN 都是垃圾。


他认为,VPN 也需要精心配置,否则黑客就能够找到可乘之机。更重要的是,这种精心配置只存在于理论层面,现实用户几乎不会在这方面下什么心思!


在 99.95%的情况下,VPN 的设置都采取以下方式:


  1. 桥接一台网络设备——例如笔记本电脑甚至是另一台服务器

  2. 接入更庞大的服务器网络——例如云端或者内部环境

  3. 跨越互联网——利用额外的加密层进行保护



在 Matthew 看来,这显然不是什么好主意。如果笔记本电脑存在恶意软件,而且通过 VPN 接入了生产网络,该怎么办?恶意软件会因此获得对生产基础设施的本地网络访问权限,后果显然相当严重。


此外,黑客也可以通过 VPN 设备或者软件漏洞入侵 VPN 本体,从而回避安全检查并直接接入目标网络,这种情况可不是没出现过,之前影响巨大的 Heartbleed 漏洞就可以被用于劫持 VPN 访问。


关于 VPN 安全漏洞的消息层出不穷,全球范围内的攻击者都在迅速利用这些漏洞访问目标网络。更要命的是,这些系统直接面向互联网公开,而且没有配备任何保护机制。再者,修复程序往往无法自动执行,而且要求运营者在专有操作系统上运行专有软件管理方案中的专有更新机制。


接下来的问题就是,在互联网上找到公司 VPN 设备的难度有多大?Matthew 说,在撰写本文之前,他并不是非常确定,所以就这个问题在 Shodan.io 上花了 30 分钟左右学习了一番。下面来看相关结论:


  • SAP Concur——入侵活动与开支管理服务,有大量个人身份信息与付款信息

  • Progressive Insurance——个人身份信息与个人健康信息,也包括一部分付款信息

  • Chevron Phillips Chemical——这是一家知名化工企业,其他的应该不用多谈了


简单一翻,就找到了这么多大公司直接暴露在互联网上的 VPN。问题确实很严重。那么,有没有可靠的解决办法?

如何保证 VPN 的安全性?

零信任

Matthew 给出的首个解决方法是“零信任”。


零信任的基本概念是对所有连接操作进行独立授权,也就是尽可能避免对网络之内的任何内容做出可信假设。


为了轻松实现对生产服务器的零信任登录,他给出了选择对应解决方案的三个理由:

1. 以 OpenSSH 核心完善而来

从底层来看,解决方案平台最好是一套拥有良好管理配置的 OpenSSH(即计算机上的 ssh 命令)部署方案。OpenSSH 经过严格测试,是一款相当安全的远程管理解决方案。自 2003 年以来,OpenSSH 从未因默认配置中的漏洞而遭遇未经授权的远程访问。


该网络入口点本身相当于一个基于 Amazon Linux 2 的单功能 EC2 实例,简单的结构意味着其攻击面非常有限。请注意:VPN 设备的一大问题,在于需要匹配专有软件/操作系统配置——这类配置正是阻碍自动修复程序的元凶。只要能够对网络入口点以及其他基础设施实现自动修复,就能在这场安全对抗当中占得先机。

2. 不存在网络桥接

之前提到过,大多数 VPN 在配置中都会将网络设备(例如笔记本电脑)桥接至互联网上规模更大的服务器网络当中。关于 VPN,Matthew 表示,他个人最接受不了的一点就是它劫持掉了用户的所有网络流量。虽然可以通过配置分出部分流量,但客户以及 NIST 800-53 SC-7(7)等安全控制条款往往要求采取这种全流量转发的方式。


可以看到,这里的安全控制思路已经远远落后于行业实际情况。在过去,VPN 可能是唯一的流量加密解决方案。审计人员往往认为,如果没有 VPN 的保护,用户可能会通过未经加密的通道发布保密信息。但在另一方面,这也意味着最终用户的普通 Slack 流量也会通过生产 VPC 进行传递。


好在还有更合理的办法。在 OASA(一种可行的解决方案)模式下,用户与服务器之间的连接拥有独立代理。例如,提交“我想加入 EC2 实例 i-028d62efa6f0b36b5”这条请求,会让系统首先跳至网络入口点,而后再次跳转至目标服务器。OASA 还会在单点登录供应商完成身份验证之后,再验证请求发出方是否在受信内部设备上预先注册并获得批准。最后,OASA 发布客户端凭证,在接下来的 10 分钟之内持续保护这些跃点。


这让接入后的活动空间变得非常有限。管理员可以登录至网络入口点,再根据需要将端口转至另一目标——但在建立任何连接时,操作者都需要明确请求,且系统在默认情况下会拒绝一切请求。最重要的是,因为这套体系跟 VPN 没关系,所以不需要通过生产 VPC 来路由一切有必要和没必要的网络流量。

3. 网络访问范围与随机 IP

这些网络入口点基于各个 VPC 进行部署(例如某个 VPC 用于生产、某个用于分段、某个用于开发等)。此外,主机保护解决方案会对每个应用程序进行严密监控,记录应用的所有活动并执行流量过滤。如此一来,即使攻击者成功侵入网络入口点位置,其实也没有什么后续空间可以利用。无论如何,这套安全模式都不会因为访问者已经进入 VPC 而允许其随意访问一切受保护资源。

企业端口敲门

实际应用场景中,几乎没人会使用端口敲门,但设置起来却非常有趣。简而言之,端口敲门是对各个封闭的网络端口建立命中序列,只有按正确顺序进行操作,才会打开“真实”端口供您的 IP 使用。听起来挺好,但在实际应用中缺乏可行性。


但端口敲门的基本原理给了 Matthew 启发,让他开始考虑如何对这个概念进行迭代,他将这种解决方法称为“企业端口敲门”。


Matthew 说,想创建一种机制,确保网络入口点与互联网防火墙始终保持隔离,直到有用户发起访问。这种机制必须易于使用、可靠性高,而且能够通过现有身份提供程序执行身份验证。


于是他草拟出这套机制的基础架构,然后把结果提交给工程技术团队。几周之后,方案就被投入生产环境。


这项服务非常简单,可通过 AWS API Gateway 访问 AWS Lambda 函数(无服务器架构),整个使用体验简单可靠。下面来看该机制的基本原理:


  1. 用户通过单点登录成功完成身份验证

  2. 应用遍历已经配置完成的 AWS 账户,找到带有特定标签的安全组(安全组,即 AWS 中的防火墙规则)

  3. 应用对安全组进行更新,批准访问者的 IP 地址。安全组规则拥有一个包含创建时间的标签。

  4. 清除 cron 定期运行,在可配置时间后删除之前的 IP 授权清单。


在这项服务的支持下,Matthew 团队建立起一套远程访问解决方案。这套方案与互联网完全隔离,砸到能够在开启防火墙端口之前通过的用户目录进行双因素身份验证。

简单易行的工具

虽然听起来有点复杂,但整个登录流程其实非常简单:


  1. 单点登录(如果尚未登录)

  2. 在 SSO 门户中点击企业端口敲门连接器

  3. 在终端内,使用 SSH 命令并将目的地声明为所需的 EC2 实例 ID。OASA 非常聪明,只需要指定要使用的网络入口点,其余流程都能自动完成!



对基础设施管理者来说,这套新方案给合规计划以及客户安全带来了巨大的提升。用户非常享受这种轻松易行的服务器访问体验,而且无需进行二次身份验证或者记住需要使用哪一个 VPN。

结 语

疫情的阴霾下,自由呼吸、平安出入的生活、工作环境显得弥足珍贵,但是现在,疫情的影响还在持续,全球科技企业受到的影响也在不断扩大,远程办公或许能解决一些问题,但毕竟不是良久之策。希望在全球医务、科研工作者的共同努力下,疫情能够得到及时控制。


2020-03-03 14:2314953

评论 8 条评论

发布
用户头像
公司如果统一要用VPN没有问题, 但是一定要在测试成功后, 做个人或者一般小牌子的VPN是没有办法承受公司级别的。 所以公司购买前需要特别注意VPN公司的背景和实力。还有他们更新的更新速度。推荐的两个公司级别是Nord Team和Surfshark. 我们现在国内分公司和德国总部都在使用。
2020-04-10 20:27
回复
用户头像
VPN提供的是安全接入方案,只是企业远程办公安全中的一环,并不能代替防火墙、IPS、旁路审计、堡垒主机等设施。
IPSec支持IP载荷直接传输的非桥接模式。该协议是经过大量安全研究者分析过的,其他协议不说实现本身协议安不安全就是个问题。而且协议问题的发现需要时间。
专家文中提到的企业外的电脑存在恶意软件的问题与是否使用VPN无关,黑客可以通过注入openssh、浏览器修改软件功能达到攻击目的。该问题目前主要还是靠企业内网的安全设施有限的被动解决。内网安全也是安全领域的一个研究热点。
VPN是计算密集型应用,不仅要进行流量加解密还有哈希防报文篡改,在线用户数过高算不过来必然导致丢包掉线,稍微复杂一点的网络设备都是这样。出现掉线首先应该考虑是不是超出了VPN设备的承载能力。
最后,涉密不联网,联网不涉密,因为安全漏洞总会有,防不胜防。
展开
2020-03-10 21:26
回复
用户头像
搞内网的公司都是垃圾
2020-03-07 18:44
回复
用户头像
企业端口敲门,有看明白的,交流一下,微q同号2338953
2020-03-04 22:29
回复
用户头像
Nebula 这样的 scalable & secure overlay network 用来替代 VPN 提供对基础架构的访问,更好。
2020-03-04 16:26
回复
用户头像
现有的 VPN 方案确实都垃圾 IPsec (基于 strongSwan 的算好的了),但 IPsec 本身的复杂度让配置变得麻烦,而且不同客户端的支持也有管理成本。OpenVPN 性能比较差。而商业的要特定的客户端...

WireGuard 和基于 WireGuard 的方案不错,性能好,配置相对简单。但无法做到对付 GFW ... 当然墙外没有这个需求。

另外,最
2020-03-04 16:25
回复
用户头像
翻译的很烂。还是写的很烂?如果VPN会暴露出来,那么没有VPN,把内网设备直接暴露在公网,是不是更恐怖😱
2020-03-04 14:55
回复
用户头像
公司网络不好,不是vpn的事情,用第三方vpn服务,钱不到位,没啥用
2020-03-03 17:00
回复
没有更多了
发现更多内容

直播预告 | PolarDB-X 动手实践系列—— PolarDB-X on OSS 冷热数据分离存储

阿里云数据库开源

数据库 阿里云 开源 分布式 PolarDB-X

C/CPP中int和string的互相转换详解与多解例题分析

CtrlX

c c++ 后端 数据类型 8月月更

数据库中存媒体文件的字段用什么类型?一文带你了解二进制大对象BLOB

wljslmz

数据库 8月月更

风险组件已经升级到最新版本,仍然提示风险,如何快速解决——kaptcha 安全漏洞

墨菲安全

Kaptcha 漏洞修复 开源安全 漏洞检测 开源安全与治理

云途加油站 | 一文读懂 Dynatrace 与Amazon Lambda 的“双剑合璧心法”

亚马逊云科技 (Amazon Web Services)

数据库 Serverless Lambda

合成资产赛道风云突变,Linear Finance有望成为最具潜力的黑马

鳄鱼视界

数据点按时间间隔以及数据值分割数据块

waitmoon

算法 SLO

微博系统“微博评论”高性能高可用计算架构

张立奎

[CSS入门到进阶] 外国前端开发者说的 Intrinsic Ratios in css 是什么意思?

HullQin

CSS JavaScript html 前端 8月月更

自动化测试如何解决日志问题

老张

自动化测试 日志处理

每日一R「14」错误处理

Samson

学习笔记 8月月更 ​Rust

悲观锁和乐观锁的区别以及实现方式

浅羽技术

Java 面试 面试题 秋招 8月月更

头脑风暴:最长回文子序列

HelloWorld杰少

LeetCode 8月月更

仅用3年!青软集团跃升华为云教育类目伙伴TOP2

科技怪咖

开源一夏 |分布式事务--TCC解决方案

六月的雨在InfoQ

开源 分布式事务 TCC 最终一致性 8月月更

基于STM32设计的拼图小游戏

DS小龙哥

8月月更

老板问我要ROI,我让他先挑宽门or窄门

科技怪咖

【数据结构实践】从0到1带你利用Python实现自定义集合

迷彩

数据结构 集合运算 8月月更 自定义集合

Python 教程之输入输出(9)—— print() 中的 sep 参数

海拥(haiyong.site)

Python 8月月更

数衍科技与超市发达成合作,共同探索数字小票的新应用

科技怪咖

解决 Flutter 嵌套过深,是选择函数还是自定义类组件?

岛上码农

flutter ios 前端 安卓开发 8月月更

分布式雪花算法

源字节1号

前端开发 后端开发

看准六点,帮你选对客户体验管理(CEM)系统

科技怪咖

ARMS实践|日志在可观测场景下的应用

阿里巴巴中间件

阿里云 云原生 可观测

Flu tter开发小技巧

坚果

开源 8月月更

从事DevOps工作应该掌握哪些语言及工具

穿过生命散发芬芳

DevOps 8月月更

4.0 SDK Workshop 纪实:一起体验多人、多屏幕共享新功能

声网

人工智能 音视频

计算机接口技术复习题(1-6章)

乌龟哥哥

8月月更

皮皮APP夏日防溺水公益讲座 联动武汉长江救援队筑建生命安全线

联营汇聚

新元联手倍市得,以数字化手段实现人才公租房项目满意度持续监测

科技怪咖

购物中心的运营保障,数衍科技数据桥接服务系统升级

科技怪咖

谷歌、Twitter先后开始远程办公,工程师发文吐槽:VPN都是垃圾_安全_陈思_InfoQ精选文章