我與公司的安全主管工程師有某種衝突。他說遠程桌面協議(RDP)不夠安全,我們應該改用 TeamViewer。我們不僅使用RDP來訪問公司網絡內部的本地資源,而且還用於訪問云託管中的資源(運行Windows 2012+)。
在兩種情況下,使用RDP的安全性如何?
我與公司的安全主管工程師有某種衝突。他說遠程桌面協議(RDP)不夠安全,我們應該改用 TeamViewer。我們不僅使用RDP來訪問公司網絡內部的本地資源,而且還用於訪問云託管中的資源(運行Windows 2012+)。
在兩種情況下,使用RDP的安全性如何?
我相信Teamviewer是隧道VNC連接的代理服務。因此,關於該服務的第一個安全考慮是它是MITM設計的 。有人建議該服務幾個月前已被破壞。
(請注意,儘管VNC使用加密,但默認情況下並未封裝整個交換-而是設置SSL / ssh / VPN隧道很簡單。
下一個考慮因素是,這意味著在系統上安裝第三方軟件-但是,如果您正在運行Microsoft平台,則說明您已經在運行軟件來自多個供應商的補丁程序管理軟件可能未涵蓋的內容;使軟件保持最新狀態是保護系統的最有效方法之一。
只要您的RDP連接使用SSL,它的安全性至少應與Teamviewer和IMHO一樣高。這樣。
編輯:根據評論,TeamViewer企業版中似乎存在配置選項的組合,這可能會減少我的擔心。由於我從未使用過它們,因此無法評估它們以及它們的運行情況。根據評論,這可能是一個有問題的解決方案。
我是服務器管理員(Windows和Linux),出於以下原因,我將阻止在服務器上安裝TeamViewer的任何嘗試:
對我來說,危險信號太多了。
我們的服務器位於隔離的子網中,防火牆/交換機僅在其中允許預配置的端口,並且允許用戶使用用戶名/密碼通過VPN連接到該子網。我們採用深度防禦方法:只有某些組有權使用其用戶連接到VPN。在VPN內,他們可以使用RDP或SSH。如果RDP中應該存在安全漏洞,則攻擊者首先需要訪問VPN或LAN。這意味著他們將成為我們的IT員工(公司必須在某種程度上信任他們),獲得VPN或物理訪問權限或對其中一台服務器進行黑客攻擊。物理訪問意味著闖入數據中心。如果發生這種情況,則有更大的擔憂。郵寄IT人員的情況也是如此。如果它們破壞了其中一台服務器,則由於鎖定了帳戶,他們還需要一個特權提升漏洞來進行攻擊。對於VPN訪問,他將需要VPN中的漏洞或獲得具有VPN特權的人的帳戶。
僅在存在RDP漏洞的情況下,所有這一切。極有可能只有被歸類為高級持續性威脅( APT)的攻擊者,即使用複雜技術在持續攻擊中將您的特定係統作為目標的某人,會受到 0天的攻擊對於RDP,這樣的攻擊者更有可能使用其他軟件中更簡單的方法/漏洞。
除了其他出色的答案之外,TeamViewer還提供了較低的物理安全性,因為它要求屏幕解鎖才能進行遠程會話。
也就是說,任何經過鍵盤和顯示器的人遠程管理的會話可以觀察到該會話,並且可以在遠程用戶不注意的情況下接管該會話。
請注意,在安裝顯示器後,它似乎有可能使屏幕空白驅動程序,但是必須在每個連接上都這樣做,從而留下一個機會窗口。
此外,您現在信任TeamViewer屏幕空白的安全性,而不是Windows鎖定屏幕的安全性-確保您對此感到滿意。
首先,我對TeamViewer一無所知,所以我不會嘗試對此發表評論。
歷史RDP服務器使用“ RDP安全性”,這確實是一個損壞的協議,容易受到MITM的攻擊。不要那樣做即使是2003r2也可以為RDP進行TLS,因此沒有現代理由應強制使用RDP安全性。
現代服務器將支持TLS,因此RDP的安全性與TLS的安全性直接相關。通過註冊表調整,您可以強制執行自己喜歡的TLS子集-強制為1.2,限制為某些密碼套件,也許還有其他限制。
此外,這裡還有RDP特定角度,因為服務器可以限制僅連接到支持“網絡級身份驗證”的連接。 NLA仍然使用TLS,這只是協議更改,以便在交換過程中更早地執行身份驗證。我相信這是為了防止拒絕服務攻擊,即未經身份驗證的用戶反复嘗試連接而沒有身份驗證。
如果使用NLA解密和跟踪RDP TLS會話,則會看到以下內容:
假設您使用的是現代版本的RDP並正確配置了它(例如,啟用NLA,整理適當的證書),直接將其暴露給Internet的主要風險往往是暴露用戶名/密碼身份驗證的問題系統連接到Internet,即允許攻擊者嘗試強行使用Active Directory帳戶(假設這是一個AD環境,而不是一組獨立服務器)。
這是“非常好,因為您要么最終面臨設置了帳戶鎖定的DoS風險,要么沒有設置帳戶鎖定的未授權訪問風險(某人總是會選擇一個弱密碼,或者使用在其他地方遭到破壞的密碼),所以如果您要暴露RDP直接,我建議對允許通過此機制訪問的用戶進行兩因素身份驗證。
對於TeamViewer來說,沒有直接訪問的風險,但是您對他們作為組織和組織的信任其他答案已指出他們有安全隱患
我將進一步解釋 Daniel Bungert的對所涉及協議及其為何協同工作的解釋。為RDP編寫了MitM代理後,我對所涉及的大多數協議的內部運作非常熟悉。 (比我想做的還要多...)
您可以將其配置為僅在TLS上運行。它本身就提供了很好的安全性,每條消息都使用TLS加密包裝。您可以管理可以設置允許的TLS加密協議的組策略。您可以使用它僅指定具有您認為合適的密鑰長度或算法的密鑰。這些是常規的Windows設置,而不是rdp特定的。您唯一關心的是用戶接受錯誤的證書,在這種情況下,可能會發生MitM攻擊。
但是,您可以進一步將其配置為僅使用NLA身份驗證進行操作。具體來說,這將與NTLM一起使用CredSSP。這可以防止MitM,因為TLS層中使用的證書(以及其他用途)用於加密密碼。然後,您將不能再轉發加密的密碼,因為目標rdp服務將不會對使用其自身證書以外的證書生成的哈希進行身份驗證。我的mitm起作用的原因是因為我們知道用於連接到代理的密碼,因此我們可以提取信息並為目標rdp服務生成新的哈希。惡意的rdp代理將沒有這個優勢。
因此,同時配置了TLS和NLA的rdp對於可能接受錯誤證書的用戶來說是安全的。這可以反駁 Overmind的對mitm攻擊的擔憂。
我將使用某種VPN,從用戶的遠程計算機到工作中的防火牆,然後在該加密的鏈接上運行RDP。
將端口保持打開狀態的問題是,最終它是找到,您將嘗試進行暴力登錄。
您可能會發現2使用智能手機應用程序,硬件令牌或預先打印的一次性密碼進行身份驗證。
請記住,安全性與便捷性相反。
這始於評論。
重要的是指出“誰在過錯問題上”。如果您使用第三方服務而他們未能提供,則是他們無法提供。如果您在家中使用某些東西而它失敗了,那麼這就是房子的問題。這種區別具有很大的分量。這可能對實際的安全性沒有任何意義,但有時可能會被忽略。
例如,如果您需要獲得合同的證明,而該證明說明了以下內容:
您必須使用安全的遠程管理方法,即未加密的遠程管理方法是不允許的。允許與第三方簽訂合同以提供服務。加密必須是foo強度和bar要求。滿足這些要求的常見服務是LogMeIn和TeamViewer。不滿足這些要求的常見服務是GoToMyPC和普通VNC。
然後可以決定使用Team Viewer。
然後,這對企業就有了風險。可以說,Teamviewer的風險較小,因為您真誠地使用服務是安全的。同時,RDP可能更具風險,因為現在您可以將團隊的知識與隨機的人的理解相提並論。
最後,儘管這與真正的安全性沒有任何真正的聯繫,但重要的是要記住,公司不做安全性會導致(通常)他們賺錢。他們這樣做是為了減輕風險,因為他們必須繼續賺錢。使用第三方服務可能會消除公司的部分風險。
如前所述,您應該盡可能使用RDP +加密。但是,在提供的答案中,我沒有提到針對攻擊(粗暴或其他方式)的基本安全措施。
任何開放給公眾使用的軟件/端口是將被掃描/發現。期。是否使用RDP。是否加密。如果不需要公共訪問,為什麼要允許它呢?
基於IP塊創建和管理“允許”列表可能很耗時,而且很麻煩(如果有許多主機在訪問),但是不應該這樣。被忽略了。是1個IP還是數百個單獨的網絡IP。
您提到了一個基於“雲”的服務器。因此,例如,在AWS / ec2上,應該使用EC2安全組來允許某些IP或Admin網絡,而拒絕其餘的。大多數提供程序都採用類似的方法。
要點是(以及提供的答案之外):RDP是我的選擇,但沒有完美的選擇。如果您不阻止不需要的網絡,它將變得更加不完美。
在RDP上,您可以執行MiTM攻擊,然後從RDP服務器到RDP客戶端再返回的所有流量都將通過我們的MiTM系統。這就是為什麼它不安全的原因。
對於Teamviewer,您必須信任第三者,這不是許多人選擇的選擇。 -case的情況下,您應該設置自己的基於證書的VPN。