【问题标题】:For production, should I avoid using default port of web server, DB, etc?对于生产,我应该避免使用 Web 服务器、数据库等的默认端口吗?
【发布时间】:2021-03-04 01:43:13
【问题描述】:

有许多作为特定应用程序众所周知的默认端口,例如 MySQL 的 3306,
80(或 8080)用于 HTTP 请求等。

在为生产构建 Web 应用程序时,我是否应该使用端口转发来避免使用
直接这些默认端口?

从安全的角度来看,我认为最好避免使用默认端口,
但我不是安全人员,我不确定这是否值得。
如果它根本无助于安全,我想使用默认端口只是因为
少一件事要配置。

【问题讨论】:

    标签: security web-applications port port-scanning


    【解决方案1】:

    这取决于您的攻击者模型,即。你认为谁会攻击你的应用程序,你想防御谁。

    专门针对您网站的攻击者将很容易找到您的服务,无论他们使用什么端口。因此,对于熟练的、有针对性的攻击者,这几乎是零收益。您的服务应该能够抵御知道其侦听端口的攻击者(您应该假设他们在设计安全控制时知道这一点)。

    但是,您将遇到的大多数“攻击”(如果我们可以这样称呼的话)只是端口扫描,寻找有趣的服务器。这将产生两个重要的后果。

    1. 如果您使用默认端口,您的日志中会出现很多噪音。如果配置不当,这可能会导致 DoS(根分区已满),或者只是在需要时难以在日志中找到相关信息。

    2. 在未来的任何时候,您的服务器都可能很容易受到攻击,以至于这种自动攻击可能会发现并破坏它。例如,考虑一个您应该修补但尚未修补的漏洞。大多数自动扫描将使用默认端口,而不是完全扫描(但有些可能)。

    所以它不是那么非黑即白,但由于上述原因,使用非默认端口可能仍然有意义(或不使用,这取决于您的风险偏好和威胁模型)。

    【讨论】:

    • 感谢您的详尽指导!这完全有道理,实际上我决定使用非默认端口并考虑我的应用程序的情况。
    猜你喜欢
    • 2020-11-02
    • 1970-01-01
    • 2010-11-19
    • 2011-11-12
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    • 1970-01-01
    • 2015-10-15
    相关资源
    最近更新 更多