仍然是避免将默认端口用于SQL Server的最佳实践吗?


21

从历史上看,作为安全最佳实践的一部分,建议不要使用默认端口连接到SQL Server。在具有单个默认实例的服务器上,默认情况下将使用以下端口:

  • SQL Server服务-端口1433(TCP)
  • SQL Server浏览器服务-端口1434(UDP)
  • 专用管理员连接-端口1434(TCP)

问题:

  • 这个建议仍然有用吗?
  • 是否应该更改上述所有端口?

1
也许这篇文章可以为您提供
igelr

Answers:


68

从历史上看,作为安全最佳实践的一部分,建议不要使用默认端口连接到SQL Server。

那时是asinine,现在仍然是asinine。通过安全性可以说是默默无闻不是安全性可言。

这个建议还有意义吗

恕我直言,这从来没有相关。出于某些合规目的而需要它,因为起草这些合规性的人不理解他们在做什么,恕我直言。

是否应该更改上述所有端口?

我什么都不会改变。


11

即使通过默默无闻的安全性并不是真正的安全性,我也不会说在任何情况下它都无济于事。

如果攻击者想知道您的服务在哪里听,他们可以很容易地找出来,但是如果您使用的是自动傻瓜式攻击,那么更改端口可能会很幸运。

我唯一记得的是,在SQL Slammer期间,SQL Server 2000易受攻击,并且蠕虫通过生成随机IP并连接到默认的SQL Server浏览器端口而传播了蠕虫。

如果我没记错的话,当时是更改端口的官方建议,直到您可以打补丁服务器为止(要么是因为没有立即可用的补丁,要么是因为您没有窗口)

为了使该蠕虫在您需要将SQL Server连接到Internet而不是在防火墙后面时进入您的网络,您不应该这样做,但是无论如何,在这种特定情况下,非默认端口号可能会有所帮助。

但是,我确实同意,如果您具有适当的安全性,那么增加的复杂性可能不会超过阻止事件发生的机会。


9

历史上,作为安全最佳实践的一部分,建议不要使用默认端口连接到SQL Server。

不,不是。有些人可能会这样说,但我从事安全工作已有20多年了,更改默认端口一直是一种“如果需要的话您可以做的事情,有时在非常特殊的情况下可以提供一些帮助。一些针对某些非常具体的威胁的额外安全性”。

这个建议仍然有用吗?

在非常特定的情况下,根据您的威胁模型和风险分析,可能在某些情况下这是合理的建议。在绝大多数情况下,不,这无关紧要,也从未如此。


7

是的,它仍然有用。

更改默认端口仅具有一个真实目的:如果数据库服务器对可能会受到威胁的主机开放,则抵御自动扫描/攻击。

虽然这听起来似乎没什么大不了,但请记住:

  • 任何主机都可能受到威胁(或者您的数据库服务器可能由于某些错误而暴露于Internet中)
  • 当时,大多数攻击是自动攻击,并且许多攻击只会尝试使用默认端口(因为针对低挂的攻击效率最高)。

因此,是的,尽管它本身在受到有针对性的攻击时并不能为您提供多大帮助,但是使用随机端口(和/或使其仅在随机IPv6地址上侦听)将使其不那么可见,从而至少为您提供了更多时间在0day自动攻击扫描击中您之前进行升级(甚至可能完全保护您免受此类自动扫描的攻击!)

此外(当这不仅有助于抵御所有自动攻击,而且还针对某些有针对性的攻击),当攻击者尝试通过蛮力portcans找到您的数据库端口来利用它时,可以将其检测到并防御(通过将攻击者IP范围列入黑名单) ,并警告管理员是否检测到某些内部主机为攻击源)

还要注意,更改服务器和客户端的默认端口(尤其是如果它们是自动部署的话)是一项繁琐的工作,并且检测暴力破解扫描也很容易。因此,您确实应该这样做(不仅适用于数据库服务器;还应适用于所有由于可用性问题而导致设置开销不高的服务:例如,80不建议像某些人(和漫游器)那样更改Web的默认端口会搞砸它,并且世界各地的随机防火墙可能不允许建立连接。但是RDP是非默认端口的理想目标)


1

我不会更改端口,但是永远不要直接通过Internet公开数据库服务。仅通过像SSH这样的安全隧道。更改SSH端口可能是一个好主意,以最大程度减少扫描程序的流量。

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.