为什么要阻止端口22出站?


61

我是一名程序员,我为一些客户端工作,这些客户端的网络阻塞了端口22上的传出连接。考虑到程序员经常需要将端口22用于ssh,这似乎适得其反。充其量,它迫使程序员向公司收取3G Internet费用。最糟糕的是,这意味着他们无法有效地完成工作。

鉴于这样做会带来的困难,有经验的系统管理员能否请您解释一下似乎输赢的预期收益?


1
封锁港口只是成功的一半。要完成此周期,您必须确保要保护的服务不在非标准端口上运行。
aharden

1
问题实际上应该是“为什么阻止22端口出站?” 因为有100万个很好的理由说明为什么要在非标准端口上运行ssh服务。出站...没那么多。我在罗伯特·莫尔(Robert Moir)的回答上加上+1,因为他在解释方面做得很好。
KPWINC

@KPWINC,在标题中添加了说明。谢谢!
runako 2009年

3
将端口22视为pandora的盒子。网络管理员无法看到流量中的内容,最糟糕的是,可以使用ssh绕过网络安全性,从而损害网络的完整性。
biosFF

1
@biosFF:443端口
Hello71

Answers:


77

我看不到有人详细说明了SSH端口转发的特定风险。

如果您位于防火墙内部,并且可以通过SSH访问公共Internet上的计算机,则可以SSH到该公共系统,并在此过程中创建隧道,以便公共Internet上的人们可以完全通过SSH进入您网络内部的系统。绕过防火墙。

如果fred是您的台式机,并且barney是公司的重要服务器,并且wilma是公开的,则运行(在fred上):

ssh -R *:9000:barney:22 wilma

然后登录将使攻击者可以通过SSH进入wilma上的9000端口,并与barney的SSH守护程序进行对话。

您的防火墙永远不会将其视为传入连接,因为数据正在通过最初在传出方向上建立的连接进行传递。

这很烦人,但却是完全合法的网络安全策略。


1
感谢您的深刻见解。这是针对开放出口港口的技术风险(相对于政治风险)的为数不多的应对措施之一。
runako

6
+1是出于充分的技术理由。(但是,这只能由恶意的实习生完成,该实习生还可以使用远程主机上的TCP 22以外的其他端口。借助该端口,我们可以阻止所有策略)
DerMike 2011年

7
使用自定义的量身定制的协议和一些巧妙的代理编程,可以通过HTTPS完成此操作-尽管速度较慢。只要您允许出站加密流量,就很容易受到这种“攻击”。
Michael Sondergaard,

3
这是JamesF的一个很好的响应,但不是一个值得考虑的安全性问题,因为它假定了极为罕见的情况,并且需要利用SSH服务器/客户端。恶意用户必须首先利用SSH服务器(在您的台式机上),然后找出一种方法来利用SSH客户端(在企业主机上)。由于您无法使用端口22来访问或与防火墙企业主机通信(该主机只有传出端口22)。如果您的安全标准很高,那么在任何情况下,您的企业托管商都不应上网。
德克斯特(Dexter)

1
iodine如果HTTPS和SSH不可用,您可以通过DNS(例如使用)建立隧道流量。但这很慢。
Mark K Cowan

38

如果他们阻止了端口的杂乱无章,让某些内容通过并随机阻止了其他内容(我喜欢Paul Tomblin关于阻止SSH并允许Telnet的人们的可悲故事),那么他们要么对他们的方式有一个非常奇怪的边缘案例至少要保护他们的网络外围安全,或者至少从外面看,他们的安全策略显然没有经过深思熟虑。您无法理解这样的情况,所以只向他们收取痛苦和持续工作的人的费用。

如果他们阻止所有端口,除非有特定的业务案例允许通过该端口的流量,此时要对其进行仔细的管理,那么他们就这样做了,因为他们能胜任工作。

当您尝试编写安全的应用程序时,是否可以使其他进程轻松地随心所欲地对其进行读写操作,或者是否有一些经过仔细记录的API,希望人们调用它们,并对它们进行仔细的清理?

风险管理-如果您认为进出网络的流量存在互联网风险,那么您希望从路由数量和方法数量两方面尽量减少流量可以到达Internet的方式。然后,您可以监视和筛选这些选定的“祝福”网关和端口,以尝试确保通过它们的流量符合您的期望。

这是一个“默认拒绝”防火墙策略,通常被认为是一个好主意,我将提出一些警告。这意味着除非有特殊原因需要取消阻止,否则所有内容都将被阻止,并且该原因的收益大于风险。

编辑:我应该澄清,我不仅在谈论允许一种协议被阻止而另一种协议被阻止的风险,我在谈论允许信息业务以不受控制的方式流入或流出网络的潜在风险。方式。

现在需要注意的是,可能还有释放东西的计划:

当您被某些事情拒之门外时,这可能会很烦人,这是您与某些客户所处的位置。防火墙负责人常常以为自己的工作说“不”,而不是“这里有风险,现在有什么好处,让我们看看我们能做什么”。

如果您与负责为您的客户管理网络安全的人员交谈,他们可能会为您设置一些东西。如果您可以在它们的末端识别出一些特定的系统,则您需要访问它们,并且/或者保证仅从特定的IP地址进行连接,因此,对于这些特定条件的SSH连接而言,为它们创建防火墙例外可能比它们更快乐。就是开放与整个互联网的连接。或者他们可能具有可用于穿越防火墙的VPN功能。


3
+1表示如果他们阻止所有端口,除非有特定的业务案例允许通过该端口的流量,此时要对其进行精心管理,则他们会这样做,因为他们能胜任其工作。
cop1152 2009年

-1,因为安全人员无法监视ssh,但Telnet可以。我的观点是,尽管存在愚蠢的网络安全策略,但在不了解实际业务需求的情况下,将策略描述为“随机”和“ whackjob”也是很短的时间。
pcapademic

2
好吧,您当然有权听取Eric的意见,如果您觉得这些字眼带有贬义,我会很乐意更改这些字眼,但是我非常有把握地认为,这样的政策可能会考虑不周,或者是非常不寻常的情况。
罗伯·摩尔

为“所有端口” +1
伊恩·博伊德

18

我在纽约州罗切斯特市的一家大公司曾经制作过很多电影,但我在那儿工作时却阻止了传出的ssh,但允许telnet!当我问到这个问题时,他们说ssh是一个安全漏洞。

换句话说,公司有时会做出愚蠢的决定,然后以愚蠢的理由为安全辩护,而不是承认自己的错误。


6
TELNET是安全漏洞。应该禁止这样做(这只是为了让人们将来做出更好的愚蠢决定)。
NIK

3
让我在这里详细说明,什么是安全孔取决于要固定的表面。如果您是网站所有者,尝试连接到服务器,则TELNET是一个漏洞。如果您是一家金融公司的员工,试图通过外部连接到您的家庭服务器(受雇主监控的线路),则SSH是雇主的安全漏洞!
NIK

1
考虑到双向欺骗telnet是多么容易,我想说telnet即使对于允许其传播的公司来说也是一个安全漏洞。但是,允许但不允许ssh的公司在任何情况下都不会做出明智的安全决策。
Paul Tomblin,2009年

3
Telnet是不断赠送的礼物。20年前还可以,但现在我真的希望它会停止。
罗伯·摩尔

2
这一切都取决于您的POV。他们可能有需要通过Telnet访问某些旧进程的人员,我们可以轻松对其进行审核。OTOH,您不知道SSH发生了什么,人们可以建立到外部网络的隧道并做各种愚蠢的事情。这些天不应该使用Telnet,但是任何允许传出SSH的人都需要寻求新的职业。
duffbeer703

6

如果公司禁止外部登录,我可以理解阻止入站SSH通信。但是,这是我第一次听到出站SSH阻止。

需要注意的重要一点是,这种防火墙可能只会限制临时的SSH用户。如果某人真的想在企业网络外部进行SSH SSH(通常是对他们具有重要访问权限的服务器/机器的外部访问),则他们可以轻松地在22以外的端口(例如,端口80)上运行SSH服务器。该块将很容易被绕开。

还有一些公共域工具,这些工具可让您通过HTTP(端口80或HTTPS端口443)退出企业,并提供代理以使您连接到外部的端口22。


编辑:好的,请稍等,我知道为什么这可能是一项政策。

有时,人们使用SSH隧道绕过基本出站防火墙,以使用IM和Bittorrent等协议。// //可能触发了这样的策略。但是,我仍然觉得这些隧道工具大多数都可以在22以外的端口上工作。

可以阻止此类出站隧道的唯一方法是通过动态检测SSH通信并(动态)阻止这些TCP连接。


3
端口443更好,因为已经假定它已加密,因此代理不会对奇怪的数据感到不安。您可以轻松地设置侦听端口443的ssh服务器,然后从那里可以到任何地方。
班迪

1
在我工作的地方,我的一位同事使用了一个程序,该程序通过ssh隧道将所有网络流量通过我们的Web代理传输到他家用计算机上的端口80,然后从那里传输到Internet。他可以使用他想要的任何协议,但是看起来它是从他家而不是公司来的。幸运的是,他知道网络管理员的无能为力,因此他不会冒被捕获的风险。
Paul Tomblin,2009年

1
当然,如果您确实经历了这些精心制作的舞蹈之一来绕过防火墙,那么您就无法真正恳求无辜和无知。有点辛苦地做所有的事情,然后说“对不起,老板,'工作正常',所以我没有意识到自己做错了什么。”
罗布·摩尔

4

这可能是监管/合规性问题。您的雇主希望能够阅读/存档所有通信。这在银行等行业中经常是必需的。


这是否意味着它们也必须阻止HTTPS?
runako

3
不,它们启用SSL检查。此过程将解密HTTPS,然后通过按组策略在所有工作站中注入受信任的证书来对入/出数据包进行重新加密。这样,他们可以像使用HTTP一样过滤/扫描。银行业是锁定网络的最严酷的环境之一。
spoulson

4

我认为,阻塞出站端口22的主要原因有两个。

首先,正如人们提到的那样,SSH端口转发可以用作代理或绕过其他端口和服务,以避免IT策略声明不允许此类流量。

其次,许多恶意软件/僵尸网络将使用端口22,因为通常将其视为“安全”端口,因此被允许。然后,他们可以从该端口启动进程,并且受感染的计算机还可能发起SSH蛮力攻击。


3

通常,除非有必要,否则通常是阻塞所有传出连接的情况,直到您尝试没有人要求端口22可用于传出连接(仅80、433,依此类推)。如果是这种情况,那么解决方案可能很简单,只需联系IS / IT并告诉他们为什么需要添加例外,以便您的工作站可以将SSH连接建立到特定主机或一般而言。

有时候,人们可能会担心使用该工具将SSH用作设置代理(通过链接上的端口转发)来绕过其他控件的一种方式。在某些受监管的行业(例如银行)中,这可能是非常重要的因素,在这些行业中,出于法律原因(禁止内幕交易,检测/阻止公司或个人数据的传输等)而需要监视/记录所有通信,或者存在此类情况的公司非常担心内部泄漏会意外或以其他方式泄露商业机密。在这些情况下,使用您的3G链接(或尝试通过HTTP隧道传输SSH等其他技术)来规避这些限制可能会违反您的合同,因此会被解雇(或更可能是法律罪行),因此请务必谨慎在尝试之前,请先征得您的同意。

另一个原因可能是,如果有些事情设法将自身安装在公司运行的计算机上,则可以减少传出的占用空间(以减少公司防火墙内部的主机可以访问的内部服务以及整个世界的内部空间)。如果在端口22上无法建立SSH连接,则许多尝试使用蛮力SSH登录名的更简单的黑客会阻止其传播路径之一。在这种情况下,您可以再次要求添加一个例外,以便您的计算机可以建立SSH连接,前提是这些连接对于控制防火墙的人员是合理的。


是的,很有可能所有不需要使用的出站服务都已被阻止(默认情况下)。
NIK

但是,阻止tcp / 22不会阻止安全的出站通信(只要用户在外部有侦听器,就可以在任何端口上进行通信,这在当今并不困难)。
NIK

如果内部网络已用于SSH通信,则阻止它将不起作用,并且如果不需要SSH通信,通常网络内部也将没有易受攻击的SSH侦听机。而且,典型的蠕虫传播不会尝试强行使用SSH(如果您担心在en.wikipedia.org/wiki/SSHBlock上看到的内容),则更有可能在Windows计算机上尝试tcp / 445。
NIK

3

您的客户可能拥有他们想要保留的重要数据。对整个网络开放的出站SSH确实是一件坏事。绕过代理,泄漏敏感数据并且通常令人讨厌是很琐碎的。

IMO,通过网络/互联网外围的任何事物都应该被理解和控制。如果一组开发人员需要通过ssh访问托管服务提供商处的服务器,那很好-但这也需要记录在案。通常,在我工作过的地方,我们建立了专用的站点到站点VPN连接到我们网络之外的位置(本质上是扩展我们的内部网络),并避免了Internet上的SSH等客户端协议。


感谢您的回答。您如何处理到您控制范围之外的站点(例如EC2,Web主机等)的专用VPN?这些供应商通常是愿意为您完成此自定义设置,还是通常需要在业务方面做出一些大的最低承诺才能使他们这样做?
runako

2
另外,您是否担心会迫使人们使用网外3G卡来完成工作?以我的经验,锁定的网络不可避免地会导致很多3G卡和其他隐藏的规避措施,因为如果有人不得不知道IT批准,那么人们就无法在指定的时间内完成工作,因为他们必须等待IT批准使用。打电话获得例外。(一个令人震惊的案例包括一个不接受来自Internet的传入附件的邮件服务器。
runako

1
添加有关通过ssh进行端口转发的评论,我认为这是对该问题的正确答案。ssh可能是通过代理服务器允许的良好协议。管理员可以监视正在发生的事情,可以阻止端口转发,人们可以将其用于远程Shell和远程复制服务。
pcapademic

我们足够大,以至于我们90%的服务都不需要运行出站管理。通常,当我们这样做时,我们会将专用VPN隧道作为RFP的要求,这往往会消除不愿意或不能提供它的供应商。因此,我相信使用3G和类似解决方法的人数很少。
duffbeer703 2009年

另外,您不能让安全人员指示访问权限。您让应用程序支持和网络人员制定出可接受的解决方案,但需要进行安全审查。在流程的早期(而不是早上投入生产)制定解决方案。但是,这使您避免了DMV样式的延迟获取请求。
duffbeer703 2009年

2

因为SSH可以用作VPN。它是经过加密的,因此网络管理员几乎不知道将要离开他们网络的内容(客户数据库的转储等)。我只是在我的每月专栏“秘密隧道”中介绍了这些内容。某些3G互联网的成本要便宜得多,而不必担心加密协议会将您的数据从网络中引出。另外,如果您默认阻止传出端口22并进行流量检查,则可以轻松地在非标准端口上找到SSH,从而发现违反安全策略的人员。


感谢您的见解。听起来您不会将3G视为秘密隧道。您能否阐明为什么人们在与Internet进行通信时完全脱离网络更有意义?似乎您更喜欢流氓设备,甚至比开放的22更便宜。
runako 2009年

1
“ ...您可以轻松地在非标准端口上找到SSH ...”真的吗?想在443以外的端口上寻找SSL / TLS协商吗?非常好奇。
Dscoduc

是的,您可以检测到ssh流量,谷歌:snort / ssh / detection / content / rules,对其他IDS的了解不多,但是如果Snort可以做到,那么他们就必须非常努力地做到这一点。
Kurt

1

我知道有几个人滥用SSH的功能通过SSH安装SOCKS代理,从而规避了一些站点限制。

甚至是一些简单的端口转发(ssh -L ....),如果端口确实由于站点限制而被阻止,我将转到:

  • 当地管理员
  • 您的项目经理

让他们坐在桌子上,让他们详细说明阻止它的原因。当然,您需要有充分的理由说明为什么需要访问外部SSH端口来开发内部产品(内部存在:为公司蛇油公司工作时,为什么需要访问boxA.example.com无效)

但是我还没有看到一家公司阻止传出的SSH :)


我见过一家公司阻止传出SSH。他们还阻止了几乎所有其他内容,例如,病毒使用代理检查了所有HTTP传输。该公司是中央证券存管处。
Esko Luontola 09年

我在这样的公司工作。幸运的是,SSH可以通过https进行隧道传输。当然,它们只允许https到端口443 ... sslh进行救援!
Mikeage

proxytunnel FTW :)
serverhorror

1

显而易见的答案都已陈述。它是一种加密协议,可用于通过创建隧道来规避策略(这是通过公司Web筛选器的好方法),以及未经授权的通信渠道(反向代理)构成的威胁。

的确,在任何现代网络中都应该销毁telnet。但是,我可以看到在禁止ssh的同时允许telnet出入网络。Telnet的功能不如SSH强大,我始终可以通过嗅探器实时监视流。如果我的核心网络中没有任何telnet设备,并且某些用户想通过telnet出网,我在乎什么。我可以看到它,并确认它不是威胁。

当然,所有这些都取决于默认策略是阻止所有出口并且仅允许特定协议的想法。奖励积分,如果您在达到优势之前就代理它们。


0

这不是专门阻止端口22的情况,因为管理员对SSH有反对意见,更多的情况是仅打开他们知道需要打开的端口。如果未告知管理员需要打开SSH,则管理员将按照禁用服务器上未使用服务的相同原理将其阻止。


0

显然,除非网络管理员认真,认真地阻止特定的 SSH流量否则很容易绕过出站TCP / 22阻止。更重要的是,资产管理员需要有足够的能力来运行资产清单,以赶上3G调制解调器和第二个NIC上的可疑IP地址。我们在该地区拥有ClearWire服务,因此我们甚至将WiMax作为围绕网络安全性的最终选择。

我们不是一家主要关注信息泄漏的机构。但是,如果要这样做,就需要将严格的网络安全策略与严格的资产策略以及审计结合起来。据我所知,我认为不存在可以关闭具有某种外部网络连接资源的资产的网络插孔的现成安全软件包。那可能即将到来。

如果没有这样的软件包,资产清单处理是捕获3G或WiMax等最终运行网络连接的最佳方法之一。

最后,对TCP / 22的盲目阻止只会阻止意图破坏其工作网络的AUP的最终用户。


您可以使用SCCM之类的自定义报告来获取该信息。在我工作的地方,使用个人笔记本电脑或WAN卡绕过网络安全性会受到纪律处分。
duffbeer703

0

我已经看到22当他们发现有人通过22引导http流量时被阻止了。对于那些需要它的人来说,这是一个秀场停止者,但组织仍然坚持下去。


0

大多数大型组织将阻止所有操作,仅允许通过代理服务器进行HTTP / HTTPS访问。

听到有任何公司允许从台式机或服务器直接进行外部连接的消息,我会感到非常惊讶,除非有特殊需要。


0

没有什么可以阻止您在端口80上运行远程sshd。ssh和sshd都有-p选项来设置端口。

当然,如果您的管理员很聪明,他们应该注意ssh流量,而不仅仅是22端口流量。因此,听起来您遇到了政策问题,而不是技术问题。

但是,正如其他人指出的那样,加密协议可能会引起人们的胃灼热,他们不得不担心各种合规性问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.