我是一名程序员,我为一些客户端工作,这些客户端的网络阻塞了端口22上的传出连接。考虑到程序员经常需要将端口22用于ssh,这似乎适得其反。充其量,它迫使程序员向公司收取3G Internet费用。最糟糕的是,这意味着他们无法有效地完成工作。
鉴于这样做会带来的困难,有经验的系统管理员能否请您解释一下似乎输赢的预期收益?
我是一名程序员,我为一些客户端工作,这些客户端的网络阻塞了端口22上的传出连接。考虑到程序员经常需要将端口22用于ssh,这似乎适得其反。充其量,它迫使程序员向公司收取3G Internet费用。最糟糕的是,这意味着他们无法有效地完成工作。
鉴于这样做会带来的困难,有经验的系统管理员能否请您解释一下似乎输赢的预期收益?
Answers:
我看不到有人详细说明了SSH端口转发的特定风险。
如果您位于防火墙内部,并且可以通过SSH访问公共Internet上的计算机,则可以SSH到该公共系统,并在此过程中创建隧道,以便公共Internet上的人们可以完全通过SSH进入您网络内部的系统。绕过防火墙。
如果fred是您的台式机,并且barney是公司的重要服务器,并且wilma是公开的,则运行(在fred上):
ssh -R *:9000:barney:22 wilma
然后登录将使攻击者可以通过SSH进入wilma上的9000端口,并与barney的SSH守护程序进行对话。
您的防火墙永远不会将其视为传入连接,因为数据正在通过最初在传出方向上建立的连接进行传递。
这很烦人,但却是完全合法的网络安全策略。
iodine
如果HTTPS和SSH不可用,您可以通过DNS(例如使用)建立隧道流量。但这很慢。
如果他们阻止了端口的杂乱无章,让某些内容通过并随机阻止了其他内容(我喜欢Paul Tomblin关于阻止SSH并允许Telnet的人们的可悲故事),那么他们要么对他们的方式有一个非常奇怪的边缘案例至少要保护他们的网络外围安全,或者至少从外面看,他们的安全策略显然没有经过深思熟虑。您无法理解这样的情况,所以只向他们收取痛苦和持续工作的人的费用。
如果他们阻止所有端口,除非有特定的业务案例允许通过该端口的流量,此时要对其进行仔细的管理,那么他们就这样做了,因为他们能胜任工作。
当您尝试编写安全的应用程序时,是否可以使其他进程轻松地随心所欲地对其进行读写操作,或者是否有一些经过仔细记录的API,希望人们调用它们,并对它们进行仔细的清理?
风险管理-如果您认为进出网络的流量存在互联网风险,那么您希望从路由数量和方法数量两方面尽量减少流量可以到达Internet的方式。然后,您可以监视和筛选这些选定的“祝福”网关和端口,以尝试确保通过它们的流量符合您的期望。
这是一个“默认拒绝”防火墙策略,通常被认为是一个好主意,我将提出一些警告。这意味着除非有特殊原因需要取消阻止,否则所有内容都将被阻止,并且该原因的收益大于风险。
编辑:我应该澄清,我不仅在谈论允许一种协议被阻止而另一种协议被阻止的风险,我在谈论允许信息业务以不受控制的方式流入或流出网络的潜在风险。方式。
现在需要注意的是,可能还有释放东西的计划:
当您被某些事情拒之门外时,这可能会很烦人,这是您与某些客户所处的位置。防火墙负责人常常以为自己的工作说“不”,而不是“这里有风险,现在有什么好处,让我们看看我们能做什么”。
如果您与负责为您的客户管理网络安全的人员交谈,他们可能会为您设置一些东西。如果您可以在它们的末端识别出一些特定的系统,则您需要访问它们,并且/或者保证仅从特定的IP地址进行连接,因此,对于这些特定条件的SSH连接而言,为它们创建防火墙例外可能比它们更快乐。就是开放与整个互联网的连接。或者他们可能具有可用于穿越防火墙的VPN功能。
我在纽约州罗切斯特市的一家大公司曾经制作过很多电影,但我在那儿工作时却阻止了传出的ssh,但允许telnet!当我问到这个问题时,他们说ssh是一个安全漏洞。
换句话说,公司有时会做出愚蠢的决定,然后以愚蠢的理由为安全辩护,而不是承认自己的错误。
如果公司禁止外部登录,我可以理解阻止入站SSH通信。但是,这是我第一次听到出站SSH阻止。
需要注意的重要一点是,这种防火墙可能只会限制临时的SSH用户。如果某人真的想在企业网络外部进行SSH SSH(通常是对他们具有重要访问权限的服务器/机器的外部访问),则他们可以轻松地在22以外的端口(例如,端口80)上运行SSH服务器。该块将很容易被绕开。
还有一些公共域工具,这些工具可让您通过HTTP(端口80或HTTPS端口443)退出企业,并提供代理以使您连接到外部的端口22。
编辑:好的,请稍等,我知道为什么这可能是一项政策。
有时,人们使用SSH隧道绕过基本出站防火墙,以使用IM和Bittorrent等协议。// //可能触发了这样的策略。但是,我仍然觉得这些隧道工具大多数都可以在22以外的端口上工作。
可以阻止此类出站隧道的唯一方法是通过动态检测SSH通信并(动态)阻止这些TCP连接。
通常,除非有必要,否则通常是阻塞所有传出连接的情况,直到您尝试没有人要求端口22可用于传出连接(仅80、433,依此类推)。如果是这种情况,那么解决方案可能很简单,只需联系IS / IT并告诉他们为什么需要添加例外,以便您的工作站可以将SSH连接建立到特定主机或一般而言。
有时候,人们可能会担心使用该工具将SSH用作设置代理(通过链接上的端口转发)来绕过其他控件的一种方式。在某些受监管的行业(例如银行)中,这可能是非常重要的因素,在这些行业中,出于法律原因(禁止内幕交易,检测/阻止公司或个人数据的传输等)而需要监视/记录所有通信,或者存在此类情况的公司非常担心内部泄漏会意外或以其他方式泄露商业机密。在这些情况下,使用您的3G链接(或尝试通过HTTP隧道传输SSH等其他技术)来规避这些限制可能会违反您的合同,因此会被解雇(或更可能是法律罪行),因此请务必谨慎在尝试之前,请先征得您的同意。
另一个原因可能是,如果有些事情设法将自身安装在公司运行的计算机上,则可以减少传出的占用空间(以减少公司防火墙内部的主机可以访问的内部服务以及整个世界的内部空间)。如果在端口22上无法建立SSH连接,则许多尝试使用蛮力SSH登录名的更简单的黑客会阻止其传播路径之一。在这种情况下,您可以再次要求添加一个例外,以便您的计算机可以建立SSH连接,前提是这些连接对于控制防火墙的人员是合理的。
您的客户可能拥有他们想要保留的重要数据。对整个网络开放的出站SSH确实是一件坏事。绕过代理,泄漏敏感数据并且通常令人讨厌是很琐碎的。
IMO,通过网络/互联网外围的任何事物都应该被理解和控制。如果一组开发人员需要通过ssh访问托管服务提供商处的服务器,那很好-但这也需要记录在案。通常,在我工作过的地方,我们建立了专用的站点到站点VPN连接到我们网络之外的位置(本质上是扩展我们的内部网络),并避免了Internet上的SSH等客户端协议。
因为SSH可以用作VPN。它是经过加密的,因此网络管理员几乎不知道将要离开他们网络的内容(客户数据库的转储等)。我只是在我的每月专栏“秘密隧道”中介绍了这些内容。某些3G互联网的成本要便宜得多,而不必担心加密协议会将您的数据从网络中引出。另外,如果您默认阻止传出端口22并进行流量检查,则可以轻松地在非标准端口上找到SSH,从而发现违反安全策略的人员。
我知道有几个人滥用SSH的功能通过SSH安装SOCKS代理,从而规避了一些站点限制。
甚至是一些简单的端口转发(ssh -L ....
),如果端口确实由于站点限制而被阻止,我将转到:
让他们坐在桌子上,让他们详细说明阻止它的原因。当然,您需要有充分的理由说明为什么需要访问外部SSH端口来开发内部产品(内部存在:为公司蛇油公司工作时,为什么需要访问boxA.example.com无效)
但是我还没有看到一家公司阻止传出的SSH :)
这不是专门阻止端口22的情况,因为管理员对SSH有反对意见,更多的情况是仅打开他们知道需要打开的端口。如果未告知管理员需要打开SSH,则管理员将按照禁用服务器上未使用服务的相同原理将其阻止。
显然,除非网络管理员认真,认真地阻止特定的 SSH流量,否则很容易绕过出站TCP / 22阻止。更重要的是,资产管理员需要有足够的能力来运行资产清单,以赶上3G调制解调器和第二个NIC上的可疑IP地址。我们在该地区拥有ClearWire服务,因此我们甚至将WiMax作为围绕网络安全性的最终选择。
我们不是一家主要关注信息泄漏的机构。但是,如果要这样做,就需要将严格的网络安全策略与严格的资产策略以及审计结合起来。据我所知,我认为不存在可以关闭具有某种外部网络连接资源的资产的网络插孔的现成安全软件包。那可能即将到来。
如果没有这样的软件包,资产清单处理是捕获3G或WiMax等最终运行网络连接的最佳方法之一。
最后,对TCP / 22的盲目阻止只会阻止意图破坏其工作网络的AUP的最终用户。