配置Windows防火墙以允许SQLServer访问.docx
- 文档编号:24688640
- 上传时间:2023-05-31
- 格式:DOCX
- 页数:20
- 大小:28.74KB
配置Windows防火墙以允许SQLServer访问.docx
《配置Windows防火墙以允许SQLServer访问.docx》由会员分享,可在线阅读,更多相关《配置Windows防火墙以允许SQLServer访问.docx(20页珍藏版)》请在冰豆网上搜索。
配置Windows防火墙以允许SQLServer访问
配置Windows防火墙以允许SQLServer访问
防火墙系统有助于阻止对计算机资源进行XX的访问。
如果防火墙已打开但却未正确配置,则可能会阻止连接SQLServer。
若要通过防火墙访问SQLServer实例,必须在运行SQLServer的计算机上配置防火墙以允许访问。
防火墙是MicrosoftWindows的一个组件。
也可以安装其他公司的防火墙。
本主题讨论如何配置Windows防火墙,不过所述基本原理也适用于其他防火墙程序。
注意
本主题概述了防火墙配置并汇总了SQLServer管理员所需的信息。
有关防火墙的详细信息以及权威信息,请参阅防火墙文档,例如WindowsFirewallwithAdvancedSecurityandIPsec(高级安全Windows防火墙和IPsec)和WindowsFirewallwithAdvancedSecurity-ContentRoadmap(高级安全Windows防火墙-内容概览)。
用户如果熟悉“控制面板”中的“Windows防火墙”项,熟悉高级安全Windows防火墙的Microsoft管理控制台(MMC)管理单元,以及知道要配置哪些防火墙设置,可以直接转至以下列表中的主题:
∙如何为数据库引擎访问配置Windows防火墙
∙如何为AnalysisServices访问配置Windows防火墙
∙如何将防火墙配置为允许报表服务器访问
∙如何为IntegrationServices配置Windows防火墙
主题内容
本主题包含以下部分:
基本防火墙信息
默认防火墙设置
用于配置防火墙的程序
数据库引擎使用的端口
AnalysisServices使用的端口
ReportingServices使用的端口
IntegrationServices使用的端口
其他端口和服务
与其他防火墙规则的交互
防火墙配置文件概述
使用“控制面板”中的“Windows防火墙”项进行其他防火墙设置
使用高级安全Windows防火墙管理单元
解决防火墙设置问题
基本防火墙信息
防火墙的工作原理是检查传入的数据包并将其与一组规则进行比较。
如果规则允许数据包通过,则防火墙将把该数据包传递给TCP/IP协议以进行其他处理。
如果规则不允许数据包通过,则防火墙将丢弃该数据包,此外,如果已启用日志记录,防火墙还将在防火墙日志文件中创建一个条目。
允许的通信的列表采用以下某种方式进行填充:
∙当启用了防火墙的计算机开始通信时,防火墙会在列表中创建一个条目以便允许响应。
传入响应将被视为请求的通信,并且您不必对此进行配置。
∙管理员可配置防火墙例外。
这样将允许访问计算机上运行的指定程序,或访问计算机上的指定连接端口。
在此情况下,当计算机充当服务器、侦听器或对等方时,将会接受未经请求的传入通信。
必须完成此类配置才能连接到SQLServer。
选择防火墙策略远较只是确定应打开还是关闭给定端口复杂。
当为企业设计防火墙策略时,请确保考虑所有可供使用的规则和配置选项。
本主题不讨论所有可能的防火墙选项。
建议您查看以下文档:
WindowsFirewallwithAdvancedSecurityGettingStartedGuide(高级安全Windows防火墙入门指南)
WindowsFirewallwithAdvancedSecurityDesignGuide(高级安全Windows防火墙设计指南)
IntroductiontoServerandDomainIsolation(服务器和域隔离简介)
默认防火墙设置
规划防火墙配置的第一步是确定操作系统的防火墙的当前状态。
如果操作系统是从早期版本升级而来,则可能已保留以前的防火墙设置。
此外,防火墙设置可能已由其他管理员或域中的组策略更改。
不过,默认设置如下所示:
∙WindowsServer2008
防火墙打开并禁止远程连接。
∙WindowsServer2003
防火墙关闭。
管理员应考虑打开防火墙。
∙WindowsVista
防火墙打开并禁止远程连接。
∙WindowsXPServicePack2或更高版本
防火墙打开并禁止远程连接。
∙WindowsXPServicePack1或更低版本
防火墙关闭,应打开防火墙。
注意
打开防火墙将影响访问此计算机的其他程序,例如文件和打印共享以及远程桌面连接。
在调整防火墙设置之前,管理员应对计算机上运行的所有应用程序加以考虑。
用于配置防火墙的程序
有三种配置Windows防火墙设置的方式。
∙“控制面板”中的“Windows防火墙”项
可以从“控制面板”打开“Windows防火墙”项。
重要提示
在“控制面板”中的“Windows防火墙”项中所做的更改只会影响当前配置文件。
诸如便携式计算机之类的移动设备不应使用“控制面板”中的“Windows防火墙”项,因为当以其他配置连接设备时配置文件可能会更改。
这样以前配置的配置文件将失效。
有关配置文件的详细信息,请参阅WindowsFirewallwithAdvancedSecurityGettingStartedGuide(高级安全Windows防火墙入门指南)。
使用“控制面板”中的“Windows防火墙”项可配置基本选项。
其中包括:
∙打开或关闭“控制面板”中的“Windows防火墙”项
∙启用和禁用规则
∙配置例外的端口和程序
∙设置一些范围限制
“控制面板”中的“Windows防火墙”项最适合于防火墙配置经验不足的用户以及要为非移动的计算机配置基本防火墙选项的用户。
也可以采用以下步骤通过run命令打开“控制面板”中的“Windows防火墙”项:
打开“Windows防火墙”项
1.在“开始”菜单上,单击“运行”,然后输入firewall.cpl。
2.单击“确定”。
Microsoft管理控制台(MMC)
使用高级安全Windows防火墙MMC管理单元可以配置更高级的防火墙设置。
此管理单元仅可从MicrosoftVista和WindowsServer2008开始可供使用;不过,它以一种易于使用的方式呈现大多数防火墙选项,并且会显示所有防火墙配置文件。
有关详细信息,请参阅本主题后面的使用高级安全Windows防火墙管理单元。
netsh
管理员可以在命令提示符下使用netsh.exe工具配置和监视基于Windows的计算机,也可以使用批处理文件执行此操作。
通过使用netsh工具,可以将输入的上下文命令定向到相应帮助器,然后由帮助器执行此命令。
帮助器是一个动态链接库(.dll)文件,它通过对一种或多种服务、实用工具或协议提供配置、监视和支持来扩展netsh工具的功能。
所有支持SQLServer的操作系统都具有防火墙帮助器。
MicrosoftWindowsVista和WindowsServer2008也具有称作advfirewall的高级防火墙帮助器。
本主题不讨论有关使用netsh的详细信息。
不过,所述配置选项中的许多选项都可以通过使用netsh加以配置。
例如,在命令提示符下运行以下脚本,以打开TCP端口1433:
复制
netshfirewallsetportopeningprotocol=TCPport=1433name=SQLPortmode=ENABLEscope=SUBNETprofile=CURRENT
使用高级安全Windows防火墙帮助器的一个类似示例:
复制
netshadvfirewallfirewalladdrulename=SQLPortdir=inprotocol=tcpaction=allowlocalport=1433remoteip=localsubnetprofile=DOMAIN
有关使用netsh配置SQLServer的脚本,请参阅如何在运行WindowsXPServicePack2的系统上使用脚本以编程方式打开端口供SQLServer使用。
有关netsh的详细信息,请参阅以下链接:
∙如何使用Netsh.exe工具和命令行开关
∙如何使用“netshadvfirewallfirewall”上下文而非“netshfirewall”上下文控制WindowsServer2008和WindowsVista中的Windows防火墙行为
∙“netshfirewall”命令及“profile=all”参数不配置基于WindowsVista的计算机上的公共配置文件
∙解决WindowsXPServicePack2中Windows防火墙的设置问题(高级用户)
SQLServer使用的端口
下面几个表可有助于您确定SQLServer所使用的端口。
数据库引擎使用的端口
下表列出了数据库引擎经常使用的端口。
应用场景
端口
注释
通过TCP运行的SQLServer默认实例
TCP端口1433
这是允许通过防火墙的最常用端口。
它适用于与默认数据库引擎安装或作为计算机上唯一运行实例的命名实例之间的例行连接。
(命名实例具有特殊的注意事项。
请参阅本主题后面的动态端口)。
采用默认配置的SQLServer命名实例
此TCP端口是在启动数据库引擎时确定的动态端口。
请参阅下面动态端口部分中的描述。
当使用命名实例时,SQLServerBrowser服务可能需要UDP端口1434。
配置为使用固定端口的SQLServer命名实例
由管理员配置的端口号。
请参阅下面动态端口部分中的描述。
专用管理员连接
对于默认实例,为TCP端口1434。
其他端口用于命名实例。
有关端口号,请查看错误日志。
默认情况下,不会启用与专用管理员连接(DAC)的远程连接。
若要启用远程DAC,请使用外围应用配置器方面。
有关详细信息,请参阅了解外围应用配置器。
SQLServerBrowser服务
UDP端口1434
SQLServerBrowser服务用于侦听指向命名实例的传入连接,并为客户端提供与此命名实例对应的TCP端口号。
通常,只要使用数据库引擎的命名实例,就会启动SQLServerBrowser服务。
如果客户端配置为连接到命名实例的特定端口,则不必启动SQLServerBrowser服务。
通过HTTP端点运行的SQLServer实例。
可以在创建HTTP端点时指定。
对于CLEAR_PORT通信,默认端口为TCP端口80,对于SSL_PORT通信,默认端口为443。
用于通过URL实现的HTTP连接。
通过HTTPS端点运行的SQLServer默认实例。
TCP端口443
用于通过URL实现的HTTPS连接。
HTTPS是使用安全套接字层(SSL)的HTTP连接。
ServiceBroker
TCP端口4022。
若要验证使用的端口,请执行下面的查询:
SELECTname,protocol_desc,port,state_desc
FROMsys.tcp_endpoints
WHEREtype_desc='SERVICE_BROKER'
对于SQLServerServiceBroker,没有默认端口,不过这是联机丛书示例中使用的常规配置。
数据库镜像
管理员选择的端口。
若要确定此端口,请执行以下查询:
SELECTname,protocol_desc,port,state_descFROMsys.tcp_endpoints
WHEREtype_desc='DATABASE_MIRRORING'
对于数据库镜像,没有默认端口,不过联机丛书示例使用TCP端口7022。
务必避免中断正在使用的镜像端点,尤其是处于带有自动故障转移功能的高安全模式下时。
防火墙配置必须避免破坏仲裁。
有关详细信息,请参阅指定服务器网络地址(数据库镜像)。
Replication
与SQLServer的复制连接使用典型的常规数据库引擎端口(供默认实例使用的TCP端口1433等)
复制快照的Web同步和FTP/UNC访问要求在防火墙上打开其他端口。
为了将初始数据和架构从一个位置传输到另一个位置,复制可以使用FTP(TCP端口21)或者通过HTTP(TCP端口80)或文件和打印共享(TCP端口137、138或139)进行的同步。
对于通过HTTP进行的同步,复制使用IIS端点(其端口可配置,但默认情况下为端口80),不过IIS进程通过标准端口(对于默认实例为1433)连接到后端SQLServer。
在使用FTP进行Web同步期间,FTP传输是在IIS和SQLServer发布服务器之间进行,而非在订阅服务器和IIS之间进行。
有关详细信息,请参阅ConfiguringMicrosoftInternetSecurityandAccelerationServerforMicrosoftSQLServer2000ReplicationovertheInternet(为通过Internet进行的MicrosoftSQLServer2000复制配置MicrosoftInternetSecurityandAccelerationServer)。
Transact-SQL调试器
TCP端口135
请参阅端口135的特殊注意事项
可能还需要IPsec例外。
如果使用VisualStudio,则在VisualStudio主机计算机上,还必须将Devenv.exe添加到“例外”列表中并打开TCP端口135。
如果使用ManagementStudio,则在ManagementStudio主机计算机上,还必须将ssms.exe添加到“例外”列表中并打开TCP端口135。
有关详细信息,请参阅配置Transact-SQL调试器。
有关为数据库引擎配置Windows防火墙的分步说明,请参阅如何为数据库引擎访问配置Windows防火墙。
动态端口
默认情况下,命名实例(包括SQLServerExpress)使用动态端口。
也就是说,每次启动数据库引擎时,它都将确定一个可用端口并使用此端口号。
如果命名实例是安装的唯一数据库引擎实例,则它可能使用TCP端口1433。
如果还安装了其他数据库引擎实例,则它可能会使用其他TCP端口。
由于所选端口可能会在每次启动数据库引擎时更改,因而很难配置防火墙以启用对正确端口号的访问。
因此,如果使用防火墙,则建议重新配置数据库引擎以每次都使用同一端口号。
这称为固定端口或静态端口。
有关详细信息,请参阅ConfiguringaFixedPort。
另一种配置命名实例以侦听固定端口的方法是在防火墙中为诸如sqlservr.exe之类的SQLServer程序创建例外(针对数据库引擎)。
这会非常方便,但当使用高级安全Windows防火墙MMC管理单元时,端口号将不会显示在“入站规则”页的“本地端口”列中。
这会使审核哪些端口处于打开状态变得更为困难。
另一注意事项是ServicePack或累积的更新可能会更改SQLServer可执行文件的路径,这将使防火墙规则作废。
注意
下面的过程将使用“控制面板”中的“Windows防火墙”项。
高级安全Windows防火墙MMC管理单元可以配置更复杂的规则。
其中包括配置服务例外,这对于提供深度防御会非常有用。
请参阅下面的使用高级安全Windows防火墙管理单元。
使用“控制面板”中的“Windows防火墙”项向防火墙添加程序例外。
1.在“控制面板”中的“Windows防火墙”项的“例外”选项卡上,单击“添加程序”。
2.浏览到要允许其通过防火墙的SQLServer实例的所在位置,例如C:
\ProgramFiles\MicrosoftSQLServer\MSSQL10_50.<实例名称>\MSSQL\Binn,选择sqlservr.exe,然后单击“打开”。
3.单击“确定”。
有关端点的详细信息,请参阅网络协议和TDS端点和端点目录视图(Transact-SQL)。
AnalysisServices使用的端口
下表列出了AnalysisServices经常使用的端口。
功能
端口
注释
AnalysisServices
对于默认实例,为TCP端口2383。
默认AnalysisServices实例的标准端口。
SQLServerBrowser服务
仅AnalysisServices命名实例需要的TCP端口2382
客户端向AnalysisServices命名实例发出不指定端口号的连接请求时,该连接请求将被转到端口2382,即SQLServerBrowser侦听的端口。
然后,SQLServerBrowser将此请求重定向到该命名实例所使用的端口。
配置为通过IIS/HTTP使用的AnalysisServices
(PivotTable®Service使用HTTP或HTTPS)
TCP端口80
用于通过URL实现的HTTP连接。
配置为通过IIS/HTTPS使用的AnalysisServices
(PivotTable®Service使用HTTP或HTTPS)
TCP端口443
用于通过URL实现的HTTPS连接。
HTTPS是使用安全套接字层(SSL)的HTTP连接。
如果用户通过IIS和Internet访问AnalysisServices,则必须打开IIS侦听的端口,并在客户端连接字符串中指定该端口。
在这种情况下,不需要打开任何端口就能直接访问AnalysisServices。
默认端口2389和端口2382应当与所有其他并非必需的端口一起受到限制。
有关为AnalysisServices配置Windows防火墙的分步说明,请参阅如何为AnalysisServices访问配置Windows防火墙。
ReportingServices使用的端口
下表列出了ReportingServices经常使用的端口。
功能
端口
注释
ReportingServicesWeb服务
TCP端口80
用于通过URL实现的与ReportingServices之间的HTTP连接。
建议不要使用预配置规则“万维网服务(HTTP)”。
有关详细信息,请参阅下面的与其他防火墙规则的交互部分。
配置为通过HTTPS使用的ReportingServices
TCP端口443
用于通过URL实现的HTTPS连接。
HTTPS是使用安全套接字层(SSL)的HTTP连接。
建议不要使用预配置规则“安全万维网服务(HTTPS)”。
有关详细信息,请参阅下面的与其他防火墙规则的交互部分。
当ReportingServices连接到数据库引擎或AnalysisServices实例时,还必须为这些服务打开相应的端口。
有关为ReportingServices配置Windows防火墙的分步说明,请参阅如何将防火墙配置为允许报表服务器访问。
IntegrationServices使用的端口
下表列出了IntegrationServices服务经常使用的端口。
功能
端口
注释
Microsoft远程过程调用(MSRPC)
由IntegrationServices运行时使用。
TCP端口135
请参阅端口135的特殊注意事项
IntegrationServices服务在端口135上使用DCOM。
服务控制管理器使用端口135执行诸如启动和停止IntegrationServices服务以及将控制请求传送到正在运行的服务等任务。
此端口号无法更改。
仅当从ManagementStudio或自定义应用程序连接到远程IntegrationServices服务实例时,才需要打开此端口。
有关为IntegrationServices配置Windows防火墙的分步说明,请参阅为IntegrationServices访问配置Windows防火墙和如何为IntegrationServices配置Windows防火墙。
其他端口和服务
下表列出了SQLServer可能依赖的一些端口和服务。
应用场景
端口
注释
WindowsManagementInstrumentation
有关WMI的详细信息,请参阅用于配置管理的WMI提供程序的概念。
WMI作为共享服务主机的一部分使用通过DCOM分配的端口运行。
WMI可能使用TCP端口135。
请参阅端口135的特殊注意事项
SQLServer配置管理器使用WMI列出和管理各个服务。
建议使用预配置规则组WindowsManagementInstrumentation(WMI)。
有关详细信息,请参阅下面的与其他防火墙规则的交互部分。
Microsoft分布式事务处理协调器(MSDTC)
TCP端口135
请参阅端口135的特殊注意事项
如果应用程序使用分布式事务处理,可能必须要将防火墙配置为允许Microsoft分布式事务处理协调器(MSDTC)在不同的MSDTC实例之间以及在MSDTC和资源管理器(如SQLServer)之间进行通信。
建议使用预配置的“分布式事务处理协调器”规则组。
当在单独的资源组中为整个群集配置单个共享MSDTC时,应当将sqlservr.exe作为异常添加到防火墙。
ManagementStudio中的浏览按钮使用UDP连接到SQLServerBrowser服务。
有关详细信息,请参阅SQLServerBrowser服务。
UDP端口1434
UDP是一种无连接协议。
防火墙具有一个名为UnicastResponsesToMulticastBroadcastDisabledPropertyoftheINetFwProfileInterface(INetFwProfile接口的UnicastResponsesToMulti
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 配置 Windows 防火墙 允许 SQLServer 访问