AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 220270
Accepted
James D
James D
Asked: 2018-10-17 07:44:46 +0800 CST2018-10-17 07:44:46 +0800 CST 2018-10-17 07:44:46 +0800 CST

避免使用 SQL Server 的默认端口仍然是最佳做法吗?

  • 772

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

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

问题:

  • 这个建议仍然有用吗?
  • 是否应该更改所有上述端口?
sql-server security
  • 5 5 个回答
  • 12706 Views

5 个回答

  • Voted
  1. Best Answer
    Sean Gallardy
    2018-10-17T07:52:12+08:002018-10-17T07:52:12+08:00

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

    那时是愚蠢的,现在仍然是愚蠢的。通过可以说是默默无闻的安全根本不是安全。

    这个建议是否仍然相关

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

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

    我不会改变任何。

    • 75
  2. Tom V
    2018-10-18T01:50:48+08:002018-10-18T01:50:48+08:00

    即使通过默默无闻的安全性不是真正的安全性,我也不会说在任何情况下它都没有帮助。

    如果攻击者想知道你的服务在哪里监听,他们可以很容易地找到,但是如果发生愚蠢的自动攻击,如果你改变了端口,你可能会很幸运。

    我唯一记得它真正有用的地方是在SQL Slammer时代,当时 SQL Server 2000 易受攻击,蠕虫通过生成随机 ip 并连接到默认的 SQL Server 浏览器端口进行传播。

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

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

    但是,我确实同意,如果您有适当的安全措施,您添加的复杂性可能不会超过它防止事件发生的机会。

    • 13
  3. Tom
    2018-10-17T23:58:04+08:002018-10-17T23:58:04+08:00

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

    不,不是。一些被误导的人可能会这样介绍它,但我已经做了 20 多年的安全工作,更改默认端口一直是一种“如果你愿意,你可以做一些事情,有时在非常特定的情况下可能会提供一个针对一些非常具体的威胁的额外安全性”的东西。

    这个建议仍然有用吗?

    在非常具体的情况下,根据您的威胁模型和风险分析,在某些情况下这可能是合理的建议。在绝大多数情况下,不,它不相关,也从来没有。

    • 9
  4. Matija Nalis
    2018-10-18T03:33:52+08:002018-10-18T03:33:52+08:00

    是的,它仍然有用。

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

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

    • 任何主机都可能受到威胁(或者由于某些错误,您的数据库服务器可能会暴露在整个互联网上)
    • 那些日子的大多数攻击都是自动攻击,其中许多只会尝试默认端口(因为瞄准低垂的果实是最有效的)。

    所以,是的,虽然它本身在受到有针对性的攻击时对你没有多大帮助,但使用随机端口(和/或让它只监听随机 IPv6 地址)会使其不那么明显,因此至少给你更多时间在自动 0day 漏洞扫描攻击您之前升级(甚至可能完全保护您免受此类自动扫描!)

    此外(这不仅有助于抵御所有自动攻击,还有助于抵御一些有针对性的攻击)当攻击者试图找到您的数据库端口以通过暴力端口扫描来利用它时,可以检测和防御它(通过将攻击者 IP 范围列入黑名单,并在检测到某些内部主机作为攻击源时提醒管理员)

    另请注意,更改服务器和客户端的默认端口(特别是如果它们是自动部署的)是微不足道的工作,并且检测暴力扫描也很容易;所以你真的应该这样做(不仅仅是数据库服务器;但对于由于可用性问题而设置它的开销并不令人望而却步的所有服务:就像80某些人(和机器人)一样,不建议更改 web 的默认端口会搞砸的,世界各地的随机防火墙可能不允许建立连接。但 RDP 是很好的目标,例如非默认端口)

    • 6
  5. Thomas
    2018-10-19T00:55:57+08:002018-10-19T00:55:57+08:00

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

    • 1

相关问题

  • 什么时候应该使用唯一约束而不是唯一索引?

  • 存储过程可以防止 SQL 注入吗?

  • 死锁的主要原因是什么,可以预防吗?

  • 保护数据库密码

  • 如何确定是否需要或需要索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve