我和公司的安全主管工程师有某种冲突。他说远程桌面协议(RDP)不够安全,我们应该改用TeamViewer。我们不仅使用RDP来访问公司网络内部的本地资源,而且还用于访问云托管中的资源(运行Windows 2012+)。

在两种情况下,使用RDP的安全性如何?

评论

如何使用(或建议使用)RDP?在所有生产服务器上打开面向Internet的端口3389并将其命名为“一天”对于安全性来说不是一个好主意。 Windows中有许多选项可以使RDP更加有效,因此,基于RDP的云托管远程管理方法的安全性的答案将是:“也许”

TeamViewer比RDP安全得多。使用正确配置的RDP设置,您可以拥有一个相当安全的系统,但是使用TW,如果您的系统执行错误,则会受到损害。
我绝对不会允许teamviewer作为远程访问解决方案。 VPN内的RDP

TW的问题之一,即RDP默认阻止的问题是:“谁移动了我的鼠标!?” ;)

抱歉,但是这样的人如何到达他们生活中一个名为“安全主管工程师”的位置?他们赢了抽奖吗?

#1 楼

我相信Teamviewer是隧道VNC连接的代理服务。因此,关于该服务的第一个安全考虑是它是由MITM设计的。有人建议该服务在几个月前就遭到了破坏。
(请注意,尽管VNC使用加密,但默认情况下并未封装整个交换-但是设置SSL / ssh / VPN隧道很简单)。
下一个考虑因素是,这意味着在系统上安装第三方软件-但是,如果您正在运行Microsoft平台,则您已经在运行多个供应商提供的软件,而补丁管理软件可能未涵盖这些软件。 ;使软件保持最新是保护系统的最有效方法之一。
只要您的RDP连接使用SSL,它的安全性至少应与Teamviewer和IMHO一样高。

评论


您如何知道RDP是否使用TLS? (我假设您的意思是TLS,而不是实际的SSL。)

– jpmc26
16年8月9日在16:38



是的,TLS。隧道连接默认使用端口443(旧式RDP使用内存中的3389)。配置服务器时还有一个选项。

–symcbean
16年8月9日在21:16

如果服务器配置了证书(Windows Server 2012和更高版本默认使用自签名证书,台式机Windows不会IIRC),则RDP将使用TLS连接,即使在端口3389上也是如此。

– D
16年8月11日在1:41

Windows桌面版本上的@TheD RDP也使用TLS,尽管带有自签名证书(除非已加入域)。

–迈克尔·汉普顿
16年8月11日在3:37



@JasonC它将TeamViewer简化为简单的RDP / VNC克隆,具有RDP的所有缺点,以及TeamViewer的第三方性质(值得信赖的另一方)。

–阿伦
16年8月15日在6:02



#2 楼

编辑:
根据评论,TeamViewer企业版中似乎存在配置选项的组合,这可能会减少我的担心。由于我从未使用过它们,因此无法评估它们以及它们的运行情况。根据评论,这可能是一个有问题的解决方案。

我是服务器管理员(Windows和Linux),出于以下原因,我将阻止在服务器上安装TeamViewer的任何尝试:


所有数据都通过受信任的(?)第三方服务器传输,并且位于Internet上:为什么我应该信任它们?您确定没有安全漏洞可让数据路径上的某人攻击系统吗?我相信他们的服务器不会受到威胁吗?
取决于互联网:网络/互联网问题更可能导致无法远程管理系统的功能
具有专有功能的第三方封闭源软件(未记录?)协议:我应该信任它们并且它们的协议是安全的吗?
我不了解TeamViewer的用户/权限管理,但这可能也是一个问题。据我所知,TeamViewer为您提供了当前登录用户的屏幕,这可能会给审核(哪个人采取了某些措施?)和用户权限(连接的人获得上一个已连接用户的权限)带来问题。我希望每个人都在服务器上拥有自己的用户,并且不要使用相同的用户(甚至甚至是管理员!)。

对我来说,危险信号太多了。

我们的服务器位于隔离的子网中,防火墙/交换机仅在其中允许预先配置的端口,并且允许用户使用其用户名/密码通过VPN连接到该子网。我们遵循深度防御的方法:只有某些组有权使用其用户连接到VPN。在VPN内,他们可以使用RDP或SSH。如果RDP中应该存在安全漏洞,则攻击者首先需要访问VPN或LAN。这意味着他们将成为我们的IT员工(公司必须在某种程度上信任他们),获得VPN或物理访问权限或入侵其中一台服务器。物理访问意味着闯入数据中心。如果发生这种情况,则有更大的担忧。邮寄IT人员的情况也是如此。如果它们破坏了其中一台服务器,则由于锁定了帐户,它们还需要一个特权提升漏洞来进行攻击。对于VPN访问,他将需要VPN中的漏洞或获得具有VPN特权的人的帐户。

所有这些仅在存在RDP漏洞的情况下。最有可能的是,只有被归类为高级持久威胁(APT)的攻击者,即使用复杂技术在持续攻击中针对您的特定系统的某人,对RDP的攻击时间为0天,并且这种攻击更有可能攻击者将能够使用其他软件中更简单的方法/漏洞。

评论


当您在本地模式下运行TeamViewer时,许多这些要点就会消失。在这种情况下,您将通过IP而不是某些ID号进行连接,并且您永远不会触摸它们的服务器(也可以通过没有互联网连接的LAN工作)。

–杰森C
16年8月15日在5:05

@JasonC我尚未看到此功能。我需要检查一下。这确实会改变其中的一些观点。但是有关可审计性的问题以及您获得的屏幕/用户就像是从上一个屏幕/用户留下来的事实仍然存在(根据公司的不同,可能还是可能不是问题)。

– H. Idden
16年8月15日在17:14

“本地模式”的用法并不明显。在服务器端,您可以进入Extras-> Options-> General并为“ Incoming LAN Connections”选择“ accept Exclusive”。奇怪的是,有时UI会出现问题,您也需要在客户端执行此操作,以输入IP地址而不是ID(添加到打破常规的电视怪癖列表中)。客户端在新版本中的行为可能更好。

–杰森C
16年8月15日在17:19



最后一点,电视具有企业软件来控制所有这些。所以这不是重点

–疯狂
16年8月15日在17:46



@疯狂感谢您提供的信息。在我上一次更完整地查看TeamViewer之后,添加了此功能。

– H. Idden
16年8月15日在18:10

#3 楼

除了其他出色的答案之外,TeamViewer还提供了较少的物理安全性,因为它要求屏幕解锁才能进行远程会话。受管理的会话可以观察到该会话,并且在远程用户不注意的情况下也可以接管会话。

注意,在安装显示驱动程序后,似乎有可能使屏幕变黑,但是必须这样做

此外,您现在信任TeamViewer屏幕空白的安全性,而不是Windows锁定屏幕的安全性-确保对此感到满意。

评论


在反对电视的所有优点中,这可能是最明显的一种,它跳出来并尖叫着“避开瘟疫”。我不知道该笑还是哭。

– underscore_d
16年8月13日在14:56



@underscore_d请记住,在某些情况下(例如远程支持),人们可能有目的地希望这样做:如果另一端的用户可以(或多或少)看到您在做什么,这会让他们更放心,这使得他们不太可能声称您在支持会议上做了有害的事情。

– gbr
18-10-5在14:12



#4 楼

首先,我对TeamViewer一无所知,因此我不会尝试对此发表评论。

历史上的RDP服务器使用“ RDP安全性”,这确实是一个损坏的协议,容易受到MITM的攻击。不要那样做即使是2003r2也可以为RDP执行TLS,因此没有现代理由应强制使用RDP安全性。

现代服务器将支持TLS,因此RDP的安全性与TLS的安全性直接相关。 。通过注册表调整,您可以强制执行自己喜欢的TLS子集-强制为1.2,限制为某些密码套件,也许还有其他选择。

此外,这里还有一个RDP特定角度,服务器可以将连接限制为仅支持“网络级身份验证”的连接。 NLA仍然使用TLS,这只是协议更改,以便在交换中更早地执行身份验证。
我相信这是为了防止拒绝服务攻击,即未经身份验证的用户反复尝试连接而没有身份验证。 >
如果使用NLA解密和跟踪RDP TLS会话,则会看到以下内容:


X.224 Exchange,未加密,在每个方向上有1个数据包确定客户端和服务器是否可以通话NLA
TLS握手
NLA(实际上是[MS-CSSP])交换以执行身份验证
按照[MS-RDPBCGR]进行常规RDP
协议交换


评论


还可能要指出,强制TLS 1.2可能破坏其他功能(即SQL Server)。这是一个很好的安全措施,但启用它时请多加注意。

–AStopher
16年8月9日在22:02

@cybermonkey破坏软件,不支持TLS 1.2是一件好事:P

– Navin
16年8月11日,0:47

#5 楼

假设您使用的是现代版本的RDP并正确配置了它(例如,启用NLA,整理适当的证书),直接将其暴露给Internet的主要风险往往是将用户名/密码身份验证系统暴露给RDP的问题。 Internet,即允许攻击者尝试强行使用Active Directory帐户(假设这是一个AD环境,而不是一组独立服务器)。

这不是很好因为您要么面临具有帐户锁定设置的DoS风险,要么没有帐户锁定设置而遭受未经授权的访问的风险(某人总是会选择一个弱密码,或者使用在其他地方遭到破坏的密码),所以如果您直接暴露RDP,建议对允许通过此机制访问的用户进行两因素身份验证。

对于TeamViewer来说,没有直接访问的风险,但是您对他们作为组织的信任其他答案指出他们有安全隐患s最近。

#6 楼

我将进一步解释Daniel Bungert对所涉及协议以及它们为什么一起工作的解释。为RDP编写了MitM代理后,我对所涉及的大多数协议的内部运作非常熟悉。 (超出了我的意愿...)

您可以将其配置为仅在TLS上运行。它本身就提供了很好的安全性,每条消息都使用TLS加密包装。您可以管理可以设置允许的TLS加密协议的组策略。您可以使用它仅指定具有您认为合适的密钥长度或算法的密钥。这些是常规的Windows设置,而不是rdp特定的。您唯一关心的是用户接受错误的证书,在这种情况下,可能会发生MitM攻击。

但是,您可以进一步将其配置为仅使用NLA身份验证进行操作。具体而言,这将与NTLM一起使用CredSSP。这可以防止MitM,因为TLS层中使用的证书(以及其他用途)用于加密密码。然后,您将不能再转发加密的密码,因为目标rdp服务将不会对使用其自身证书以外的证书生成的哈希进行身份验证。我的mitm起作用的原因是因为我们知道用于连接到代理的密码,因此我们可以提取信息并为目标rdp服务生成新的哈希。恶意的rdp代理将没有这个优势。

因此,在同时配置TLS和NLA的情况下,rdp对于可能接受错误证书的用户来说是安全的。这可以消除Overmind对mitm攻击的担忧。

#7 楼

我会使用某种VPN,从用户的远程计算机到工作中的防火墙,然后在该加密的链接上运行RDP。

打开端口的问题是最终找到了它,您将尝试进行暴力登录。要么这只会减慢您的环境速度,要么导致帐户被锁定,或者他们找到的用户名的密码很弱(总是有一个用户...。)

您可以浏览使用智能手机应用程序,硬件令牌或预先打印的一次性密码进行两次身份验证。

请记住,安全性与便捷性相反。

#8 楼

这是从注释开始的。

指出“谁在过错问题上”很重要。如果您使用第三方服务而他们未能提供,则是他们无法提供。如果您在家中使用某些东西而它失败了,那么这就是房子的问题。这种区别具有很大的分量。这可能对实际的安全性没有任何意义,但有时可能会被忽略。

例如,如果您需要获得合同的认证,而该认证说明了以下内容:


您必须使用安全的远程管理方法,不允许使用未加密的远程管理方法。允许与第三方签订合同以提供服务。加密必须是foo强度和bar要求。满足这些要求的常见服务是LogMeIn和TeamViewer。不满足这些要求的常用服务是GoToMyPC和普通VNC。


然后可以决定使用Team Viewer。

然后业务就有风险。可以说Teamviewer的风险较小,因为您真诚地使用服务是安全的。同时,RDP可能更具风险,因为现在您可以将团队的知识与随机的人的理解相提并论。

最后,尽管这与真实的安全性没有任何真正的联系,但重要的是要记住,公司不做安全性会导致他们赚钱(通常)。他们这样做是为了减轻风险,因为他们必须继续赚钱。使用第三方服务可能会消除公司的部分风险。

评论


我曾与我的CIO进行过多次确切的对话。尽管她承认我们团队提出的解决方案可能是更好的方案,但从执行人员的角度来看,将最坏情况转移给第三者的价值更大。

– Foo酒吧
16年8月14日在20:17

#9 楼

如前所述,您应该尽可能使用RDP +加密。但是,在提供的答案中,我还没有提到针对攻击(粗暴或其他攻击)的基本安全措施。

将对任何向公众开放的软件/端口进行扫描/查找。 。期。是否使用RDP。是否加密。如果不需要公共访问,为什么要允许它呢?

基于IP块创建和管理“允许”列表可能很耗时,而且很麻烦(如果有许多主机在访问),但是不应这样做被忽视。是1个IP还是数百个单独的网络IP。

您提到了一个基于“云”的服务器。因此,例如,在AWS / ec2上,应该使用EC2安全组来允许某些IP或Admin网络,而拒绝其余的。大多数提供程序都有类似的方法。

要点是(以及提供的答案之外):
RDP是我的选择,但没有完美的选择。如果您不阻止不需要的网络,它将变得更加不完美。

评论


另请参阅@Criggie答案:VPN->另一个非常好的选择。

– bshea
16年8月12日在14:34

#10 楼

在RDP上,您可以执行MiTM攻击,然后从RDP服务器到RDP客户端再返回的所有流量都将通过我们的MiTM系统。这就是为什么它不安全的原因。
对于Teamviewer,您必须信任第三者,这不是许多人选择的选择。

在最佳情况下,您应该设置自己的基于证书的VPN。

评论


RDP使用证书来认证服务器。如果您接受无效的证书,则只能对MiTM进行攻击!

–约瑟夫说恢复莫妮卡
16年8月9日在12:43

因此,听起来像证书固定或仅通过VPN使用RDP(这也是TeamViewer的规定方法,对吗?)是否安全?

– Nate Diamond
16年8月9日在15:44

@Josef关于无效证书的警告有多可怕?大多数用户会认出它来做些什么还是接受它吗?

– jpmc26
16年8月9日在16:39



如果您正确配置组策略并具有一个内部CA对签名证书进行签名,则没有消息要接受,它仅适用于有效证书,不适用于其他证书。这就是在公司中完成的方式。

–约瑟夫说恢复莫妮卡
16年8月9日在16:55