防火墙应用允许通过什么设置/防火墙允许在哪些网络上通信-新手漏洞教程
TCP 端口 443
用于通过 URL 实现的 HTTPS 连接。 HTTPS 是使用传输层安全性 (TLS)(旧称为“安全套接字层 (SSL)”)的 HTTP 连接。
TCP 端口 4022。 若要验证使用的端口,请执行下面的查询:
name, , port,
FROM sys.
WHERE = ''
对于 SQL ,没有默认端口,联机丛书示例使用常规配置。
数据库镜像
管理员选择的端口。 若要确定此端口,请执行以下查询:
name, , port, FROM sys.
WHERE = ''
对于数据库镜像,没有默认端口,但联机丛书示例使用 TCP 端口 5022 或 7022。 请务必不要中断正在使用的镜像终结点,尤其是在处于带有自动故障转移功能的高安全模式下时。 防火墙配置必须避免破坏仲裁。 有关详细信息,请参阅指定服务器网络地址(数据库镜像)。
复制
与 SQL 的复制连接使用典型的常规 数据库引擎 端口(默认实例使用 TCP 端口 1433)
复制快照的 Web 同步和 FTP/UNC 访问要求在防火墙上打开更多端口。 为了将初始数据和架构从一个位置传输到另一个位置,复制可以使用 FTP(TCP 端口 21)或者通过 HTTP(TCP 端口 80)或文件共享进行的同步。 文件共享使用 UDP 端口 137 和 138,如果与 一起使用,则还有 TCP 端口 139。 文件共享使用 TCP 端口 445。
对于通过 HTTP 进行的同步,复制使用 IIS 终结点(可配置;默认端口为 80),但 IIS 进程会通过标准端口(对于默认实例为 1433)连接到后端 SQL 。
在使用 FTP 进行 Web 同步期间,FTP 传输是在 IIS 和 SQL 发布服务器之间进行,而非在订阅服务器和 IIS 之间进行。
-SQL 调试器
TCP 端口 135
请参阅
可能还需要 例外。
如果使用 ,则在 主机计算机上,还必须将 .exe 添加到“例外”列表中并打开 TCP 端口 135。
如果使用 ,则在 主机计算机上,还必须将 ssms.exe 添加到“例外”列表中并打开 TCP 端口 135。 有关详细信息,请参阅运行 -SQL 调试器之前配置防火墙规则。
有关为 数据库引擎 配置 防火墙的分步说明,请参阅为数据库引擎访问配置 防火墙。
动态端口
默认情况下,命名实例(包括 SQL )使用动态端口。 每次启动数据库引擎时,它都会确定一个可用端口并使用该端口号。 如果命名实例是安装的唯一 数据库引擎 实例,则它可能使用 TCP 端口 1433。 如果还安装了其他 数据库引擎 实例,则它可能会使用其他 TCP 端口。 由于每次启动 数据库引擎 时所选的端口可能会更改,因而很难配置防火墙以启用对正确端口号的访问。 如果使用防火墙,则建议重新配置 数据库引擎 以每次都使用同一端口号。 建议使用固定端口或静态端口。 有关详细信息,请参阅将服务器配置为侦听特定 TCP 端口(SQL Sever 配置管理器)。
另一种配置命名实例以侦听固定端口的方法是在防火墙中为诸如 SQL .exe 之类的 程序创建例外(针对 数据库引擎)。 当使用高级安全 防火墙 MMC 管理单元时,端口号将不会显示在“入站规则”页的“本地端口”列中。 要审核哪些端口处于打开状态很困难。 另一个注意事项是,服务包或累积更新可能会更改 SQL 可执行文件的路径,使防火墙规则作废。
若要使用高级安全 防火墙添加例外,请参阅本文后面的。
使用的端口
默认情况下,SQL 使用的典型端口和关联的服务是:TCP 2382、2383、80、443。 下表更为详细地介绍了这些端口。
下表列出了 经常使用的端口。
展开表
端口注释
对于默认实例,为 TCP 端口 2383。
默认 实例的标准端口。
SQL 服务
仅 命名实例需要的 TCP 端口 2382
客户端向 命名实例发出不指定端口号的连接请求时,该连接请求会被定向到端口 2382,即 SQL 浏览器侦听的端口。 SQL 将此请求重定向到该命名实例所使用的端口。
配置为通过 IIS/HTTP 使用
(® 使用 HTTP 或 HTTPS)
TCP 端口 80
用于通过 URL 实现的 HTTP 连接。
配置为通过 IIS/HTTPS 使用
(® 使用 HTTP 或 HTTPS)
TCP 端口 443
用于通过 URL 实现的 HTTPS 连接。 HTTPS 是使用 TLS 的 HTTP 连接。
如果用户通过 IIS 和 访问 ,则必须打开 IIS 侦听的端口。 接下来,在客户端连接字符串中指定端口。 在这种情况下,不需要打开任何端口就能直接访问 。 默认端口 2389 和端口 2382 应当与所有其他并非必需的端口一起受到限制。
有关为 配置 防火墙的分步说明,请参阅将 防火墙配置为允许 访问。
使用的端口
默认情况下,SQL 和关联的服务使用的典型端口是:TCP 80、443。 下表更为详细地介绍了这些端口。
下表列出了 经常使用的端口。
展开表
端口注释
Web 服务
TCP 端口 80
用于通过 URL 实现的与 之间的 HTTP 连接。 建议不要使用预配置的规则“万维网服务 (HTTP)”。 有关详细信息,请参阅下面的 部分。
配置为通过 HTTPS 使用
TCP 端口 443
用于通过 URL 实现的 HTTPS 连接。 HTTPS 是使用 TLS 的 HTTP 连接。 建议不要使用预配置的规则“安全万维网服务 (HTTPS)”。 有关详细信息,请参阅下面的 部分。
当 连接到 数据库引擎 或 实例时,还必须为这些服务打开相应的端口。 有关为 配置 防火墙的分步说明,请参阅 将防火墙配置为允许报表服务器访问。
使用的端口
下表列出了 服务经常使用的端口。
展开表
端口注释
远程过程调用 (MS RPC)
由 运行时使用。
TCP 端口 135
请参阅
服务在端口 135 上使用 DCOM。 服务控制管理器使用端口 135 来执行诸如启动和停止 服务以及将控制请求传送到正在运行的服务等任务。 此端口号无法更改。
仅当从 或自定义应用程序连接到远程 服务实例时,才需要打开此端口。
有关为 配置 防火墙的分步说明,请参阅 服务(SSIS 服务)。
其他端口和服务
下表列出了 SQL 可能依赖的一些端口和服务。
展开表
场景端口注释
有关 (WMI) 的详细信息,请参阅用于配置管理的 WMI 提供程序的概念
WMI 作为共享服务主机的一部分使用通过 DCOM 分配的端口运行。 WMI 可能使用 TCP 端口 135。
请参阅
SQL 配置管理器使用 WMI 列出和管理各个服务。 建议使用预配置规则组 管理规范 (WMI) 。 有关详细信息,请参阅下面的 部分。
分布式事务处理协调器 (MS DTC)
TCP 端口 135
请参阅
如果应用程序使用分布式事务处理,可能必须要将防火墙配置为允许 分布式事务处理协调器 (MS DTC) 在不同的 MS DTC 实例之间以及在 MS DTC 和资源管理器(如 SQL )之间进行通信。 建议使用预配置的 “分布式事务处理协调器” 规则组。
当在单独的资源组中为整个群集配置单个共享 MS DTC 时,应当将 .exe 作为异常添加到防火墙。
中的浏览按钮使用 UDP 连接到 SQL 服务。 有关详细信息,请参阅 SQL 服务(数据库引擎和 SSAS)。
UDP 端口 1434
UDP 是一种无连接协议。
防火墙具有一个名为 接口的 bled 属性 的设置,用于控制防火墙的行为以及对广播(或多播)UDP 请求的单播响应。 它有以下两种行为:
如果此设置为 TRUE,则根本不允许对广播进行任何单播响应。 枚举服务将失败。
如果此设置为 FALSE(默认值),则允许单播响应 3 秒钟。 此时间长度不可配置。 在堵塞或长时间滞后的网络中,或者对于负载很重的服务器,尝试枚举 SQL 实例可能会返回部分列表,这可能会误导用户。
IPsec 通信
UDP 端口 500 和 UDP 端口 4500
如果域策略要求通过 IPSec 进行网络通信,还必须将 UDP 端口 4500 和 UDP 端口 500 添加到例外列表。 使用 防火墙管理单元中的“新建入站规则向导”可以选择 IPsec。 有关详细信息,请参阅下面的 。
将 身份验证用于可信域
必须将防火墙配置为允许身份验证请求。
有关详细信息,请参阅 如何为域和信任关系配置防火墙。
SQL 和 群集
群集需要与 SQL 不直接相关的其他端口。
有关详细信息,请参阅 a for use(启用网络以供群集使用)。
HTTP 服务器 API (HTTP.SYS) 中保留的 URL 命名空间
很可能为 TCP 端口 80,但可以配置为其他端口。 有关常规信息,请参阅 配置 HTTP 和 HTTPS。
有关使用 .exe 预留 HTTP.SYS 终结点的 SQL 特定信息,请参阅关于 URL 预留和注册(SSRS 配置管理器)。
端口 135 的特殊注意事项
将 RPC 与 TCP/IP 或 UDP/IP 一起用作传输方式时,会根据需要为系统服务动态分配入站端口。 将使用端口号大于 1024 的 TCP/IP 和 UDP/IP 端口。 这些端口称为“随机 RPC 端口”。在这些情况下,RPC 客户端依赖 RPC 终结点映射程序来通知它们为服务器分配了哪些动态端口。 对于一些基于 RPC 的服务,可以配置特定端口,而非让 RPC 动态分配一个端口。 此外,还可以将 RPC 动态分配的端口范围限制为一个较小的范围,不管何种服务均可如此。 由于许多服务都使用端口 135,它经常受到恶意用户的攻击。 当打开端口 135 时,请考虑限制防火墙规则的作用范围。
有关端口 135 的详细信息,请参阅以下参考内容:
与其他防火墙规则的交互
防火墙使用规则和规则组建立其配置。 每个规则或规则组都与特定程序或服务相关,并且该程序和服务可以在你不知道的情况下修改或删除相应规则。 例如,规则组“万维网服务 (HTTP)”和“万维网服务 (HTTPS)”与 IIS 相关。 启用这些规则将打开端口 80 和 443,并且如果启用这些规则,则依赖端口 80 和 443 的 SQL 功能将能正常工作。 不过,配置 IIS 的管理员可能会修改或禁用这些规则。 如果你为 SQL 使用端口 80 或端口 443,则应创建自己的规则或规则组,这样就可以独立于其他 IIS 规则来维护首选端口配置。
允许符合任何适用允许规则的所有通信。 因此,如果有两个均应用于端口 80 的规则(具有不同的参数), 则符合任一规则的流量都将得到允许。 因此,如果一个规则允许从本地子网通过端口 80 发送的流量,而另一个规则允许来自任意地址的流量,则实际结果是不管流量来源是什么,所有通向端口 80 的流量都将得到允许。 若要有效地管理对 SQL 的访问,管理员应定期查看服务器上启用的所有防火墙规则。
防火墙配置文件概述
操作系统使用防火墙配置文件按照连接性、连接数和类别来识别并记住每个网络。
在高级安全 防火墙中有三种网络位置类型:
管理员可以为每种网络位置类型创建一个配置文件,每个配置文件均包含不同的防火墙策略。 在任何时候只能应用一个配置文件。 应用配置文件的顺序如下:
如果所有接口都向计算机所属的域控制器进行身份验证,则应用域配置文件。如果要向域控制器验证所有接口或者所有接口均连接到归为专用网络位置一类的网络,则应用专用配置文件。否则,应用公共配置文件。
使用高级安全 防火墙 MMC 管理单元查看和配置所有防火墙配置文件。 “控制面板”中的 “ 防火墙” 项仅可配置当前配置文件。
使用“控制面板”中的“ 防火墙”项进行其他防火墙设置
添加的防火墙可以限制端口仅对来自特定计算机或本地子网的传入连接打开。 限制端口的打开范围可以大大减少计算机对恶意用户的暴露程度。
备注
使用控制面板中的“ 防火墙”项仅可配置当前防火墙配置文件。
使用“控制面板”中的“ 防火墙”项更改防火墙例外的范围
在“控制面板”中的“ 防火墙”项的“例外”选项卡上,选择一个程序或端口,然后选择“属性”或“编辑”。
在“编辑程序”或“编辑端口”对话框中,选择“更改范围”。
选择下列选项之一:
使用高级安全 防火墙管理单元
可以通过使用高级安全 防火墙 MMC 管理单元来配置高级防火墙设置。 此管理单元包括规则向导以及“控制面板”的“ 防火墙”项中未提供的设置。 这些设置包括:
使用“新建规则”向导创建新防火墙规则
在“开始”菜单上,选择“运行”,键入 WF.msc,然后选择“确定”。在“高级安全 防火墙”的左窗格中,右键单击“入站规则”,然后选择“新建规则”。使用所需设置完成 “新建入站规则向导” 。
为 SQL 可执行文件添加程序异常
从“开始”菜单键入 wf.msc。 按 Enter 或选择搜索结果 wf.msc 打开“高级安全 防火墙”。
在左窗格中,选择“入站规则”。
在右窗格的“操作”下,选择“新建规则...”。“新建入站规则向导”随即打开。
在“规则类型”中,选择“程序”。 选择“下一页”。
在“程序”中,选择“此程序路径”。 选择“浏览”,找到 SQL 实例。 该程序名为 .exe。 通常位于:
C:\ Files\ SQL \MSSQL.\MSSQL\Binn\.exe
~
网络安全学习,我们一起交流
~