Sqlserver安全篇之_隐藏实例功能和禁用SQL Server Browser服务

news/2025/2/26 6:52:51

总结:
1、隐藏实例功能和禁用SQL Server Browser服务的功能一样,对应非默认实例(且这个默认实例是1433端口)的情况下,都是需要在连接字符串中提供端口号才能连接到实例
2、隐藏实例功能后,就算开启了SQL Server Browser服务,SQL Server Browser服务也无法识别计算机上的所有SQL Server实例的端口和命名管道

隐藏实例
https://learn.microsoft.com/zh-cn/sql/database-engine/configure-windows/hide-an-instance-of-sql-server-database-engine?view=sql-server-ver16
Sql Server Configuration Manager–SQL Server Network Configuration–Right-click Protocols for MSSQLSERVER–Properties–Flags–Hide Instances–Yes

实验环境:testdb1服务器上2个实例,一个默认实例端口1433,一个命名实例test端口49344,SQL Server Browser服务正常运行的情况下

不隐藏实例
默认实例和命名实例的SPN都正常,在远程服务器使用SSMS输入testdb1可以正常连接默认实例也可以输入testdb1\test或testdb1,49344或testdb1\test,49344正常连接命名实例

隐藏实例
默认实例和命名实例的SPN都正常,在远程服务器使用SSMS输入testdb1可以正常连接默认实例也可以输入testdb1,4934或testdb1\test,49344正常连接命名实例,但是输入testdb1\test无法正常连接命名实例,也就是说遇到非1433端口的命名实例时必须写明端口的方式才可以正常连接命名实例

不管隐藏实例的功能是否打开
如果把默认实例的端口从1433改成1439,且默认实例的SPN正常,在远程服务器使用SSMS输入testdb1都不可以正常连接默认实例,必须输入testdb1,1439才可以正常连接默认实例testdb1。

隐藏实例功能:如果启用这个功能,那么只有默认实例且该默认实例必须是默认端口的情况下,远程服务器使用SSMS时可以在不输入端口的情况下就可以正常连接默认实例,其他非默认实例或非默认端口(含默认实例名)的实例,远程服务器使用SSMS时都必须写明端口的情况下才可以正常连接。

官方文档中关于隐藏实例的总结:SQL Server 使用 SQL Server 浏览器服务来枚举安装在计算机上的 数据库引擎 实例。 这使客户端应用程序可以浏览服务器,并帮助客户端区别同一台计算机上的多个数据库引擎实例。 你可以使用隐藏SQL Server 数据库引擎实例的方式来防止SQL Server Browser服务识别计算机上的所有SQL Server实例。如果你隐藏命名实例,你将需要在连接字符串中提供端口号才能连接到隐藏的实例,即使SQL Server Browser服务正在运行也是如此。

SQL Server Browser
https://learn.microsoft.com/zh-cn/sql/tools/configuration-manager/sql-server-browser-service?view=sql-server-ver16&redirectedfrom=MSDN
SQL Server Browser:Provides SQL Server connection information to client computers.

实验环境:testdb1服务器上2个实例,一个默认实例端口1433,一个命名实例test端口49344

SQL Server Browser服务运行时的状态
默认实例和命名实例的SPN都正常,在远程服务器使用SSMS输入testdb1可以正常连接默认实例也可以输入testdb1\test或testdb1,49344或testdb1\test,49344正常连接命名实例

关闭SQL Server Browser服务后
默认实例和命名实例的SPN都正常,在远程服务器使用SSMS输入testdb1可以正常连接默认实例也可以输入testdb1,4934或testdb1\test,49344正常连接命名实例,但是输入testdb1\test无法正常连接命名实例,也就是说遇到非1433端口的命名实例时必须写明端口的方式才可以正常连接命名实例

不管SQL Server Browser服务是运行还是关闭
如果把默认实例的端口从1433改成1439,且默认实例的SPN正常,在远程服务器使用SSMS输入testdb1都不可以正常连接默认实例,必须输入testdb1,1439才可以正常连接默认实例testdb1。

SQL Server Browser服务:如果关闭这个服务,那么只有默认实例且该默认实例必须是默认端口的情况下,远程服务器使用SSMS时可以在不输入端口的情况下就可以正常连接默认实例,其他非默认实例或非默认端口(含默认实例名)的实例,远程服务器使用SSMS时都必须写明端口的情况下才可以正常连接。

官方文档中关于SQL Server Browser的总结: 在启动后,SQL Server Browser将启动并使用UDP 1434端口, SQL Server Browser将读取注册表,识别计算机上的所有SQL Server实例,并注明它们使用的端口和命名管道。当SQL Server客户端请求SQL Server资源时,客户端将使用1434端口向服务器发送一条UDP消息。 SQL Server Browser将用请求的实例的TCP/IP端口或命名管道做出响应。 然后,客户端应用程序将使用所需实例的端口或命名管道向服务器发送请求来完成连接。当SQL Server Browser服务不运行时,如果提供了正确的端口号或命名管道,仍可以连接到 SQL Server。


http://www.niftyadmin.cn/n/5868255.html

相关文章

JVM生产环境问题定位与解决实战(三):揭秘Java飞行记录器(JFR)的强大功能

提到飞行记录器,或许你的脑海中并未立刻浮现出清晰的画面,但一说起“黑匣子”,想必大多数人都能恍然大悟,知晓其重要性及用途。在航空领域,黑匣子作为不可或缺的设备,默默记录着飞行过程中的每一项关键数据…

1.1部署es:9200

安装es:root用户: 1.布署java环境 - 所有节点 wget https://d6.injdk.cn/oraclejdk/8/jdk-8u341-linux-x64.rpm yum localinstall jdk-8u341-linux-x64.rpm -y java -version 2.下载安装elasticsearch - 所有节点 wget ftp://10.3.148.254/Note/Elk/…

Java进阶学习笔记7——权限修饰符

什么是权限修饰符? 就是用来限制类中的成员(成员变量、成员方法、构造器、代码块…)能够被访问的范围。 protected使用的比较少,但是程序员还是要阅读代码,看官方文档是怎么写的,都会接触到protected修饰…

Linux 之 Centos 安装Consul

sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo sudo yum -y install consul他有两种运行模式server和client。每个数据中心官方建议需要3或5个server节点以保证数据安全,同时保证serv…

Git -版本管理工具 -常用API整理

文章目录 前言常用API1. 设置本地的名称2. 创建仓库3. 克隆远程仓库4. 切换检索当前分支5. 拉取并合并主干代码6. 推送代码到指定分支7. 提交到本地仓库 commit8. 本地代码 commit 后不想推送到远程分支回滚 注意事项结束语 每个人都在主宰自己的命运,人有选择&…

电脑软件:推荐一款非常强大的视频音频转换剪辑工具FFmpeg Batch AV Converter V3.12

目录 一、软件介绍 二、软件功能 三、软件特点 四、使用技巧 在多媒体处理领域,FFmpeg Batch AV Converter以其强大的功能和便捷的操作方式,成为了许多用户的首选工具。这款软件以其高效的批量处理能力、直观的图形用户界面(GUI&#xff…

从零开始:在 MacOS 中通过 Docker 部署跨平台 Redis 服务(支持 Ubuntu 迁移)

前言 在开发和生产环境中,Docker 已成为部署服务的标准工具。但对于使用 MacOS(尤其是 Apple Silicon 架构)的开发者,将本地构建的镜像迁移到 x86-64 架构的 Ubuntu 服务器时,常会遇到平台兼容性问题。本文将提供一套…

快节奏生活

在当今快节奏的商务环境中,效率成为了决定企业竞争力的关键因素之一。亿可达软件连接平台,以其独特的功能和优势,为职场人士带来了前所未有的便捷与高效,成为了众多用户心中的“宝藏”工具。 1、亿可达:自动化流程的搭…