Categories
程式開發

谷歌、Twitter先後開始遠程辦公,工程師發文吐槽:VPN都是垃圾


前段時間,由於國內疫情嚴重,不少科技公司開啟了遠程辦公,工程師吐槽VPN服務器因負載過高頻頻崩潰。如今,國外疫情嚴重,谷歌、Twitter等大廠也開始進入遠程辦公。不料,國外工程師更加暴躁,直接評價:所有VPN都是垃圾。

因疫情全球蔓延,國外科技大廠開啟遠程辦公

由於新冠病毒開始在全球肆虐,歐洲和亞洲各地區企業和組織開始效仿中國,採取遠程辦公的方式防止新冠病毒的傳播。一些高風險地區,每天有數百萬人在家辦公,線上壓力比以往任何時候都要大。而且有跡象表明,隨著新冠病毒感染人群的攀升,未來幾天或幾週內大部分受波及地區都會採取在家遠程辦公的方式工作。

由於有員工報告出現流感症狀,谷歌已要求其都柏林歐洲總部約8000名員工在家中工作。谷歌發言人稱,將繼續採取預防措施,以保護員工的健康和安全。Twitter也在周一表示,由於擔心新冠病毒疫情的蔓延,公司“強烈鼓勵”所有近5000名全球員工在家辦公。Twitter此前表示,公司將暫停一切非重要的公司商旅活動,優化內部會議、全體員工大會以及其他重要任務安排,以確保遠程辦公人員參與進來。

一些公司已經擁有了內部Slack和Zoom系統,員工可以選擇使用哪種辦公方式辦公。但是一組與新冠病毒相關的最新數據表明,擁有這類遠程辦公系統的公司少之甚少,絕大多數公司都是第一次使用遠程辦公系統。

這些遠程辦公軟件的實際使用率是怎樣的? Google給了我們一些提示:

image

在搜索引擎反映出來的數據可以看出,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. 跨越互聯網——利用額外的加密層進行保護

image

在Matthew看來,這顯然不是什麼好主意。如果筆記本電腦存在惡意軟件,而且通過VPN接入了生產網絡,該怎麼辦?惡意軟件會因此獲得對生產基礎設施的本地網絡訪問權限,後果顯然相當嚴重。

此外,黑客也可以通過VPN設備或者軟件漏洞入侵VPN本體,從而迴避安全檢查並直接接入目標網絡,這種情況可不是沒出現過,之前影響巨大的Heartbleed漏洞就可以被用於劫持VPN訪問。

關於VPN安全漏洞的消息層出不窮,全球範圍內的攻擊者都在迅速利用這些漏洞訪問目標網絡。更要命的是,這些系統直接面向互聯網公開,而且沒有配備任何保護機制。再者,修復程序往往無法自動執行,而且要求運營者在專有操作系統上運行專有軟件管理方案中的專有更新機制。

接下來的問題就是,在互聯網上找到公司VPN設備的難度有多大? Matthew說,在撰寫本文之前,他並不是非常確定,所以就這個問題在Shodan.io上花了30分鐘左右學習了一番。下面來看相關結論:

  • Thomson Reuters——一家價值410億美元、擁有26000名員工的企業,其半數收入來自金融服務

  • 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非常聰明,只需要指定要使用的網絡入口點,其餘流程都能自動完成!

image

對基礎設施管理者來說,這套新方案給合規計劃以及客戶安全帶來了巨大的提升。用戶非常享受這種輕鬆易行的服務器訪問體驗,而且無需進行二次身份驗證或者記住需要使用哪一個VPN。

結 語

疫情的陰霾下,自由呼吸、平安出入的生活、工作環境顯得彌足珍貴,但是現在,疫情的影響還在持續,全球科技企業受到的影響也在不斷擴大,遠程辦公或許能解決一些問題,但畢竟不是良久之策。希望在全球醫務、科研工作者的共同努力下,疫情能夠得到及時控制。