指定和限制端口
有多种端口可以用于访问 Microsoft SQL Server Analysis Services。客户端使用的端口取决于 Analysis Services 配置。
下面是可用于访问 Analysis Services 的端口:
Analysis Services 使用的端口。 每个 Analysis Services 实例都会在特定的 TCP/IP 端口上侦听传入的客户端请求。默认的 Analysis Services 实例侦听 TCP/IP 端口 2383,但是 Analysis Services 命名实例不使用默认端口。命名实例可以使用多个端口。为了提高安全性,请使用防火墙限制用户从 Internet 对 Analysis Services 的权限。
Internet Information Services (IIS) 使用的端口。 用户还可以通过 IIS 连接到 Analysis Services 实例。使用防火墙来防止从 Internet 直接访问 Analysis Services 时,在允许 Internet 用户连接到 Analysis Services 实例之前,可以使用 IIS 对他们进行身份验证。使用 IIS 时,只需在 Internet 防火墙上打开 IIS 端口。
限制 Analysis Services 使用的 TCP/IP 端口
尽管 Analysis Services 的默认实例侦听端口 2383,但 Analysis Services 命名实例可以使用多种端口。每个命名实例侦听管理员指定的端口,或者侦听在启动时系统动态分配的端口。这种端口可变性意味着客户端不会自动知道特定的 Analysis Services 命名实例正在使用哪个端口,因此不能自动知道要将它们的请求发送到何处。
为了方便客户端将请求发送到 Analysis Services 的命名实例,SQL Server 提供了一种名为 SQL Server Browser 的服务。SQL Server Browser 可以跟踪每个命名实例所侦听的端口。当客户端向命名实例发出未指定端口号的连接请求时,该连接请求将被转到端口 2382,即 SQL Server Browser 侦听的端口。然后,SQL Server Browser 将请求重定向到命名实例所使用的端口。
用户还可以向 SQL Server Browser 发出发现请求,以获取计算机中运行的命名实例的列表。在安全的 Intranet 环境中,这种通过查询 SQL Server Browser 获取命名实例列表的功能,使用户很容易连接到这些实例,并且只有很小的安全风险。但是,如果客户端可以通过 Internet 访问 Analysis Services,则这种查询 SQL Server Browser 的功能就会造成安全问题。在可以通过 Internet 访问 Analysis Services 实例时,如果要提高安全性,请禁用 SQL Server Browser 服务,从而使用户无法发现 Analysis Services 的命名实例。
限制 Analysis Services 不使用的 TCP/IP 端口
若要限制 Analysis Services 不使用的 TCP/IP 端口,请首先检查正在运行 Analysis Services 的计算机上处于活动状态的端口。此检查过程包括确认正在侦听的 TCP/IP 端口,同时确认这些端口的状态。
若要验证哪些端口正在侦听,请使用 netstat 命令行实用工具。除了显示活动 TCP 连接以外,netstat 实用工具还将显示多种 IP 统计信息和信息。
确认正在侦听的 TCP/IP 端口
打开命令提示符窗口。
在命令提示符下,键入 netstat -n -a。
-n 开关指示 netstat 以数字方式显示活动 TCP 连接的地址和端口号。-a 开关指示 netstat 显示计算机正在侦听的 TCP 和 UPD 端口。
若要确认 TCP/IP 端口的状态,请使用 PortQry 实用工具。此命令行实用工具可以报告 TCP/IP 端口的状态(正在侦听、未在侦听或已筛选)。(对于已筛选状态,端口可能正在侦听,也可能未在侦听;此状态指示实用工具没有收到端口的响应。)PortQry 实用工具可以从 Microsoft Download Center 下载。
检查了活动端口以及这些端口的状态之后,就可以确定这些端口中哪些是在连接到 Analysis Services 时不需要的。然后,禁用这些不需要的端口上的服务,或使用防火墙限制对这些端口的权限。
有关默认 Windows 防火墙设置的详细信息以及影响数据库引擎、Analysis Services、Reporting Services 和 Integration Services 的 TCP 端口的说明,请参阅配置 Windows 防火墙以允许 SQL Server 访问。
限制 IIS 端口
如果用户通过 IIS 和 Internet 访问 Analysis Services,则应当在客户端和 IIS 之间部署防火墙。防火墙可以限制用户可用于同时访问 IIS 和运行 Analysis Services 的计算机的端口。有关防火墙的详细信息,请参阅 Microsoft TechNet 上的 Perimeter Firewall Design。
如果部署防火墙,则必须打开 IIS 侦听的端口,并在客户端连接字符串中指定该端口。在这种情况下,不需要打开任何端口就能直接访问 Analysis Services。默认端口 2382 应当与所有其他并非必需的端口一起受到限制。