配置Windows防火墻以允許SQL Server訪問
防火墻系統(tǒng)有助于阻止對(duì)計(jì)算機(jī)資源進(jìn)行未經(jīng)授權(quán)的訪問。如果防火墻已打開但卻未正確配置,則可能會(huì)阻止連接 SQL Server。
若要通過防火墻訪問 SQL Server 實(shí)例,必須在運(yùn)行 SQL Server 的計(jì)算機(jī)上配置防火墻以允許訪問。防火墻是 Microsoft Windows 的一個(gè)組件。也可以安裝其他公司的防火墻。本主題討論如何配置 Windows 防火墻,不過所述基本原理也適用于其他防火墻程序。
注意
本主題概述了防火墻配置并匯總了 SQL Server 管理員所需的信息。有關(guān)防火墻的詳細(xì)信息以及權(quán)威信息,請(qǐng)參閱防火墻文檔,例如 Windows Firewall with Advanced Security and IPsec(高級(jí)安全 Windows 防火墻和 IPsec)和 Windows Firewall with Advanced Security - Content Roadmap(高級(jí)安全 Windows 防火墻 - 內(nèi)容概覽)。
用戶如果熟悉“控制面板”中的“Windows 防火墻”項(xiàng),熟悉高級(jí)安全 Windows 防火墻的 Microsoft 管理控制臺(tái) (MMC) 管理單元,以及知道要配置哪些防火墻設(shè)置,可以直接轉(zhuǎn)至以下列表中的主題:
如何為數(shù)據(jù)庫引擎訪問配置 Windows 防火墻
如何為 Analysis Services 訪問配置 Windows 防火墻
如何將防火墻配置為允許報(bào)表服務(wù)器訪問
如何為 Integration Services 配置 Windows 防火墻
主題內(nèi)容
本主題包含以下部分:
基本防火墻信息
默認(rèn)防火墻設(shè)置
用于配置防火墻的程序
數(shù)據(jù)庫引擎使用的端口
Analysis Services 使用的端口
Reporting Services 使用的端口
Integration Services 使用的端口
其他端口和服務(wù)
與其他防火墻規(guī)則的交互
防火墻配置文件概述
使用“控制面板”中的“Windows 防火墻”項(xiàng)進(jìn)行其他防火墻設(shè)置
使用高級(jí)安全 Windows 防火墻管理單元
解決防火墻設(shè)置問題
基本防火墻信息
防火墻的工作原理是檢查傳入的數(shù)據(jù)包并將其與一組規(guī)則進(jìn)行比較。如果規(guī)則允許數(shù)據(jù)包通過,則防火墻將把該數(shù)據(jù)包傳遞給 TCP/IP 協(xié)議以進(jìn)行其他處理。如果規(guī)則不允許數(shù)據(jù)包通過,則防火墻將丟棄該數(shù)據(jù)包,此外,如果已啟用日志記錄,防火墻還將在防火墻日志文件中創(chuàng)建一個(gè)條目。
允許的通信的列表采用以下某種方式進(jìn)行填充:
當(dāng)啟用了防火墻的計(jì)算機(jī)開始通信時(shí),防火墻會(huì)在列表中創(chuàng)建一個(gè)條目以便允許響應(yīng)。傳入響應(yīng)將被視為請(qǐng)求的通信,并且您不必對(duì)此進(jìn)行配置。
管理員可配置防火墻例外。這樣將允許訪問計(jì)算機(jī)上運(yùn)行的指定程序,或訪問計(jì)算機(jī)上的指定連接端口。在此情況下,當(dāng)計(jì)算機(jī)充當(dāng)服務(wù)器、偵聽器或?qū)Φ确綍r(shí),將會(huì)接受未經(jīng)請(qǐng)求的傳入通信。必須完成此類配置才能連接到 SQL Server。
選擇防火墻策略遠(yuǎn)較只是確定應(yīng)打開還是關(guān)閉給定端口復(fù)雜。當(dāng)為企業(yè)設(shè)計(jì)防火墻策略時(shí),請(qǐng)確保考慮所有可供使用的規(guī)則和配置選項(xiàng)。本主題不討論所有可能的防火墻選項(xiàng)。建議您查看以下文檔:
Getting Started with Windows Firewall with Advanced Security in Windows Vista and Windows Server 2008(Windows Vista 和 Windows Server 2008 中的高級(jí)安全 Windows 防火墻入門)
Windows Firewall with Advanced Security Design Guide
Introduction to Server and Domain
默認(rèn)防火墻設(shè)置
規(guī)劃防火墻配置的第一步是確定操作系統(tǒng)的防火墻的當(dāng)前狀態(tài)。如果操作系統(tǒng)是從早期版本升級(jí)而來,則可能已保留以前的防火墻設(shè)置。此外,防火墻設(shè)置可能已由其他管理員或域中的組策略更改。不過,默認(rèn)設(shè)置如下所示:
Windows Server 2008
防火墻打開并禁止遠(yuǎn)程連接。
Windows Server 2003
防火墻關(guān)閉。管理員應(yīng)考慮打開防火墻。
Windows Vista
防火墻打開并禁止遠(yuǎn)程連接。
Windows XP Service Pack 2 或更高版本
防火墻打開并禁止遠(yuǎn)程連接。
Windows XP Service Pack 1 或更低版本
防火墻關(guān)閉,應(yīng)打開防火墻。
注意
打開防火墻將影響訪問此計(jì)算機(jī)的其他程序,例如文件和打印共享以及遠(yuǎn)程桌面連接。在調(diào)整防火墻設(shè)置之前,管理員應(yīng)對(duì)計(jì)算機(jī)上運(yùn)行的所有應(yīng)用程序加以考慮。
用于配置防火墻的程序
有三種配置 Windows 防火墻設(shè)置的方式。
“控制面板”中的“Windows 防火墻”項(xiàng)
可以從“控制面板”打開“Windows 防火墻”項(xiàng)。
重要提示
在“控制面板”中的“Windows 防火墻”項(xiàng)中所做的更改只會(huì)影響當(dāng)前配置文件。諸如便攜式計(jì)算機(jī)之類的移動(dòng)設(shè)備不應(yīng)使用“控制面板”中的“Windows 防火墻”項(xiàng),因?yàn)楫?dāng)以其他配置連接設(shè)備時(shí)配置文件可能會(huì)更改。這樣以前配置的配置文件將失效。有關(guān)配置文件的詳細(xì)信息,請(qǐng)參閱 Getting Started with Windows Firewall with Advanced Security in Windows Vista and Windows Server 2008(Windows Vista 和 Windows Server 2008 中的高級(jí)安全 Windows 防火墻入門)。
使用“控制面板”中的“Windows 防火墻”項(xiàng)可配置基本選項(xiàng)。其中包括:
打開或關(guān)閉“控制面板”中的“Windows 防火墻”項(xiàng)
啟用和禁用規(guī)則
配置例外的端口和程序
設(shè)置一些范圍限制
“控制面板”中的“Windows 防火墻”項(xiàng)最適合于防火墻配置經(jīng)驗(yàn)不足的用戶以及要為非移動(dòng)的計(jì)算機(jī)配置基本防火墻選項(xiàng)的用戶。也可以采用以下步驟通過 run 命令打開“控制面板”中的“Windows 防火墻”項(xiàng):
打開“Windows 防火墻”項(xiàng)
在“開始”菜單上,單擊“運(yùn)行”,然后輸入 firewall.cpl。
單擊“確定”。
Microsoft 管理控制臺(tái) (MMC)
使用高級(jí)安全 Windows 防火墻 MMC 管理單元可以配置更高級(jí)的防火墻設(shè)置。此管理單元僅可供 Microsoft Vista 和 Windows Server 2008 使用;不過,它以一種易于使用的方式呈現(xiàn)大多數(shù)防火墻選項(xiàng),并且會(huì)顯示所有防火墻配置文件。有關(guān)詳細(xì)信息,請(qǐng)參閱本主題后面的使用高級(jí)安全 Windows 防火墻管理單元。
netsh
管理員可以在命令提示符下使用 netsh.exe 工具配置和監(jiān)視基于 Windows 的計(jì)算機(jī),也可以使用批處理文件執(zhí)行此操作。通過使用 netsh 工具,可以將輸入的上下文命令定向到相應(yīng)幫助器,然后由幫助器執(zhí)行此命令。幫助器是一個(gè)動(dòng)態(tài)鏈接庫 (.dll) 文件,它通過對(duì)一種或多種服務(wù)、實(shí)用工具或協(xié)議提供配置、監(jiān)視和支持來擴(kuò)展 netsh 工具的功能。所有支持 SQL Server 的操作系統(tǒng)都具有防火墻幫助器。MicrosoftWindows Vista 和 Windows Server 2008 也具有稱作 advfirewall 的高級(jí)防火墻幫助器。本主題不討論有關(guān)使用 netsh 的詳細(xì)信息。不過,所述配置選項(xiàng)中的許多選項(xiàng)都可以通過使用 netsh 加以配置。例如,在命令提示符下運(yùn)行以下腳本,以打開 TCP 端口 1433:
- netsh firewall set portopening protocol = TCP port = 1433 name = SQLPort mode = ENABLE scope = SUBNET profile = CURRENT
使用高級(jí)安全 Windows 防火墻幫助器的一個(gè)類似示例:
- netsh advfirewall firewall add rule name = SQLPort dir = in protocol = tcp action = allow localport = 1433 remoteip = localsubnet profile = DOMAIN
有關(guān)使用 netsh 配置 SQL Server 的腳本,請(qǐng)參閱如何在運(yùn)行 Windows XP Service Pack 2 的系統(tǒng)上使用腳本以編程方式打開端口供 SQL Server 使用。有關(guān) netsh 的詳細(xì)信息,請(qǐng)參閱以下鏈接:
如何使用 Netsh.exe 工具和命令行開關(guān)
如何使用“netsh advfirewall firewall”上下文而非“netsh firewall”上下文控制 Windows Server 2008 和 Windows Vista 中的 Windows 防火墻行為
“netsh firewall”命令及“profile=all”參數(shù)不配置基于 Windows Vista 的計(jì)算機(jī)上的公共配置文件
解決 Windows XP Service Pack 2 中 Windows 防火墻的設(shè)置問題(高級(jí)用戶)
SQL Server 使用的端口
下面幾個(gè)表可有助于您確定 SQL Server 所使用的端口。
數(shù)據(jù)庫引擎使用的端口
下表列出了數(shù)據(jù)庫引擎經(jīng)常使用的端口。
應(yīng)用場(chǎng)景 |
端口 |
注釋 |
---|---|---|
通過 TCP 運(yùn)行的 SQL Server 默認(rèn)實(shí)例 |
TCP 端口 1433 |
這是允許通過防火墻的最常用端口。它適用于與默認(rèn)數(shù)據(jù)庫引擎安裝或作為計(jì)算機(jī)上唯一運(yùn)行實(shí)例的命名實(shí)例之間的例行連接。(命名實(shí)例具有特殊的注意事項(xiàng)。請(qǐng)參閱本主題后面的動(dòng)態(tài)端口)。 |
采用默認(rèn)配置的 SQL Server 命名實(shí)例 |
此 TCP 端口是在啟動(dòng)數(shù)據(jù)庫引擎時(shí)確定的動(dòng)態(tài)端口。 |
請(qǐng)參閱下面動(dòng)態(tài)端口部分中的描述。當(dāng)使用命名實(shí)例時(shí),SQL Server Browser 服務(wù)可能需要 UDP 端口 1434。 |
配置為使用固定端口的 SQL Server 命名實(shí)例 |
由管理員配置的端口號(hào)。 |
請(qǐng)參閱下面動(dòng)態(tài)端口部分中的描述。 |
專用管理員連接 |
對(duì)于默認(rèn)實(shí)例,為 TCP 端口 1434。其他端口用于命名實(shí)例。有關(guān)端口號(hào),請(qǐng)查看錯(cuò)誤日志。 |
默認(rèn)情況下,不會(huì)啟用與專用管理員連接 (DAC) 的遠(yuǎn)程連接。若要啟用遠(yuǎn)程 DAC,請(qǐng)使用外圍應(yīng)用配置器方面。有關(guān)詳細(xì)信息,請(qǐng)參閱了解外圍應(yīng)用配置器。 |
SQL Server Browser 服務(wù) |
UDP 端口 1434 |
SQL Server Browser 服務(wù)用于偵聽指向命名實(shí)例的傳入連接,并為客戶端提供與此命名實(shí)例對(duì)應(yīng)的 TCP 端口號(hào)。通常,只要使用數(shù)據(jù)庫引擎的命名實(shí)例,就會(huì)啟動(dòng) SQL Server Browser 服務(wù)。如果客戶端配置為連接到命名實(shí)例的特定端口,則不必啟動(dòng) SQL Server Browser 服務(wù)。 |
通過 HTTP 端點(diǎn)運(yùn)行的 SQL Server 實(shí)例。 |
可以在創(chuàng)建 HTTP 端點(diǎn)時(shí)指定。對(duì)于 CLEAR_PORT 通信,默認(rèn)端口為 TCP 端口 80,對(duì)于 SSL_PORT 通信,默認(rèn)端口為 443。 |
用于通過 URL 實(shí)現(xiàn)的 HTTP 連接。 |
通過 HTTPS 端點(diǎn)運(yùn)行的 SQL Server 默認(rèn)實(shí)例。 |
TCP 端口 443 |
用于通過 URL 實(shí)現(xiàn)的 HTTPS 連接。HTTPS 是使用安全套接字層 (SSL) 的 HTTP 連接。 |
Service Broker |
TCP 端口 4022。若要驗(yàn)證使用的端口,請(qǐng)執(zhí)行下面的查詢: SELECT name, protocol_desc, port, state_desc FROM sys.tcp_endpoints WHERE type_desc = 'SERVICE_BROKER' |
對(duì)于 SQL ServerService Broker,沒有默認(rèn)端口,不過這是聯(lián)機(jī)叢書示例中使用的常規(guī)配置。 |
數(shù)據(jù)庫鏡像 |
管理員選擇的端口。若要確定此端口,請(qǐng)執(zhí)行以下查詢: SELECT name, protocol_desc, port, state_desc FROM sys.tcp_endpoints WHERE type_desc = 'DATABASE_MIRRORING' |
對(duì)于數(shù)據(jù)庫鏡像,沒有默認(rèn)端口,不過聯(lián)機(jī)叢書示例使用 TCP 端口 7022。務(wù)必避免中斷正在使用的鏡像端點(diǎn),尤其是處于帶有自動(dòng)故障轉(zhuǎn)移功能的高安全模式下時(shí)。防火墻配置必須避免破壞仲裁。有關(guān)詳細(xì)信息,請(qǐng)參閱指定服務(wù)器網(wǎng)絡(luò)地址(數(shù)據(jù)庫鏡像)。 |
復(fù)制 |
與 SQL Server 的復(fù)制連接使用典型的常規(guī)數(shù)據(jù)庫引擎端口(供默認(rèn)實(shí)例使用的 TCP 端口 1433 等) 復(fù)制快照的 Web 同步和 FTP/UNC 訪問要求在防火墻上打開其他端口。為了將初始數(shù)據(jù)和架構(gòu)從一個(gè)位置傳輸?shù)搅硪粋€(gè)位置,復(fù)制可以使用 FTP(TCP 端口 21)或者通過 HTTP(TCP 端口 80)或文件和打印共享(TCP 端口 137、138 或 139)進(jìn)行的同步。 |
對(duì)于通過 HTTP 進(jìn)行的同步,復(fù)制使用 IIS 端點(diǎn)(其端口可配置,但默認(rèn)情況下為端口 80),不過 IIS 進(jìn)程通過標(biāo)準(zhǔn)端口(對(duì)于默認(rèn)實(shí)例為 1433)連接到后端 SQL Server。 在使用 FTP 進(jìn)行 Web 同步期間,F(xiàn)TP 傳輸是在 IIS 和 SQL Server 發(fā)布服務(wù)器之間進(jìn)行,而非在訂閱服務(wù)器和 IIS 之間進(jìn)行。 有關(guān)詳細(xì)信息,請(qǐng)參閱Configuring Microsoft Internet Security and Acceleration Server for Microsoft SQL Server 2000 Replication over the Internet(為通過 Internet 進(jìn)行的 Microsoft SQL Server 2000 復(fù)制配置 Microsoft Internet Security and Acceleration Server)。 |
Transact-SQL 調(diào)試器 |
TCP 端口 135 請(qǐng)參閱端口 135 的特殊注意事項(xiàng) 可能還需要 IPsec 例外。 |
如果使用 Visual Studio,則在 Visual Studio 主機(jī)計(jì)算機(jī)上,還必須將 Devenv.exe 添加到“例外”列表中并打開 TCP 端口 135。 如果使用 Management Studio,則在 Management Studio 主機(jī)計(jì)算機(jī)上,還必須將 ssms.exe 添加到“例外”列表中并打開 TCP 端口 135。有關(guān)詳細(xì)信息,請(qǐng)參閱配置和啟動(dòng) Transact-SQL 調(diào)試器。 |
有關(guān)為數(shù)據(jù)庫引擎配置 Windows 防火墻的分步說明,請(qǐng)參閱如何為數(shù)據(jù)庫引擎訪問配置 Windows 防火墻。
動(dòng)態(tài)端口
默認(rèn)情況下,命名實(shí)例(包括 SQL Server Express)使用動(dòng)態(tài)端口。也就是說,每次啟動(dòng)數(shù)據(jù)庫引擎時(shí),它都將確定一個(gè)可用端口并使用此端口號(hào)。如果命名實(shí)例是安裝的唯一數(shù)據(jù)庫引擎實(shí)例,則它可能使用 TCP 端口 1433。如果還安裝了其他數(shù)據(jù)庫引擎實(shí)例,則它可能會(huì)使用其他 TCP 端口。由于所選端口可能會(huì)在每次啟動(dòng)數(shù)據(jù)庫引擎時(shí)更改,因而很難配置防火墻以啟用對(duì)正確端口號(hào)的訪問。因此,如果使用防火墻,則建議重新配置數(shù)據(jù)庫引擎以每次都使用同一端口號(hào)。這稱為固定端口或靜態(tài)端口。有關(guān)詳細(xì)信息,請(qǐng)參閱Configuring a Fixed Port。
另一種配置命名實(shí)例以偵聽固定端口的方法是在防火墻中為諸如 sqlservr.exe 之類的 SQL Server 程序創(chuàng)建例外(針對(duì)數(shù)據(jù)庫引擎)。這會(huì)非常方便,但當(dāng)使用高級(jí)安全 Windows 防火墻 MMC 管理單元時(shí),端口號(hào)將不會(huì)顯示在“入站規(guī)則”頁的“本地端口”列中。這會(huì)使審核哪些端口處于打開狀態(tài)變得更為困難。另一注意事項(xiàng)是 Service Pack 或累積的更新可能會(huì)更改 SQL Server 可執(zhí)行文件的路徑,這將使防火墻規(guī)則作廢
使用“控制面板”中的“Windows 防火墻”項(xiàng)向防火墻添加程序例外
1.在“控制面板”中的“Windows 防火墻”項(xiàng)的“例外”選項(xiàng)卡上,單擊“添加程序”。
2.瀏覽到要允許其通過防火墻的 SQL Server 實(shí)例的所在位置,例如 C:\Program Files\Microsoft SQL Server\MSSQL10_50.<實(shí)例名稱>\MSSQL\Binn,選擇 sqlservr.exe,然后單擊“打開”。
3.單擊“確定”。
有關(guān)端點(diǎn)的詳細(xì)信息,請(qǐng)參閱網(wǎng)絡(luò)協(xié)議和 TDS 端點(diǎn)和端點(diǎn)目錄視圖 (Transact-SQL)。
Analysis Services 使用的端口
下表列出了 Analysis Services 經(jīng)常使用的端口。
功能 |
端口 |
注釋 |
---|---|---|
Analysis Services |
對(duì)于默認(rèn)實(shí)例,為 TCP 端口 2383。 |
默認(rèn) Analysis Services 實(shí)例的標(biāo)準(zhǔn)端口。 |
SQL Server Browser 服務(wù) |
僅 Analysis Services 命名實(shí)例需要的 TCP 端口 2382 |
客戶端向 Analysis Services 命名實(shí)例發(fā)出不指定端口號(hào)的連接請(qǐng)求時(shí),該連接請(qǐng)求將被轉(zhuǎn)到端口 2382,即 SQL Server Browser 偵聽的端口。然后,SQL Server Browser 將此請(qǐng)求重定向到該命名實(shí)例所使用的端口。 |
配置為通過 IIS/HTTP 使用的 Analysis Services (PivotTable® Service 使用 HTTP 或 HTTPS) |
TCP 端口 80 |
用于通過 URL 實(shí)現(xiàn)的 HTTP 連接。 |
配置為通過 IIS/HTTPS 使用的 Analysis Services (PivotTable® Service 使用 HTTP 或 HTTPS) |
TCP 端口 443 |
用于通過 URL 實(shí)現(xiàn)的 HTTPS 連接。HTTPS 是使用安全套接字層 (SSL) 的 HTTP 連接。 |
如果用戶通過 IIS 和 Internet 訪問 Analysis Services,則必須打開 IIS 偵聽的端口,并在客戶端連接字符串中指定該端口。在這種情況下,不需要打開任何端口就能直接訪問 Analysis Services。默認(rèn)端口 2389 和端口 2382 應(yīng)當(dāng)與所有其他并非必需的端口一起受到限制。
有關(guān)為 Analysis Services 配置 Windows 防火墻的分步說明,請(qǐng)參閱如何為 Analysis Services 訪問配置 Windows 防火墻。
Reporting Services 使用的端口
下表列出了 Reporting Services 經(jīng)常使用的端口。
功能 |
端口 |
注釋 |
---|---|---|
Reporting Services Web 服務(wù) |
TCP 端口 80 |
用于通過 URL 實(shí)現(xiàn)的與 Reporting Services 之間的 HTTP 連接。建議不要使用預(yù)配置規(guī)則“萬維網(wǎng)服務(wù)(HTTP)”。有關(guān)詳細(xì)信息,請(qǐng)參閱下面的與其他防火墻規(guī)則的交互部分。 |
配置為通過 HTTPS 使用的 Reporting Services |
TCP 端口 443 |
用于通過 URL 實(shí)現(xiàn)的 HTTPS 連接。HTTPS 是使用安全套接字層 (SSL) 的 HTTP 連接。建議不要使用預(yù)配置規(guī)則“安全萬維網(wǎng)服務(wù)(HTTPS)”。有關(guān)詳細(xì)信息,請(qǐng)參閱下面的與其他防火墻規(guī)則的交互部分。 |
當(dāng) Reporting Services 連接到數(shù)據(jù)庫引擎或 Analysis Services 實(shí)例時(shí),還必須為這些服務(wù)打開相應(yīng)的端口。有關(guān)為 Reporting Services 配置 Windows 防火墻的分步說明,請(qǐng)參閱如何將防火墻配置為允許報(bào)表服務(wù)器訪問。
Integration Services 使用的端口
下表列出了 Integration Services 服務(wù)經(jīng)常使用的端口。
功能 |
端口 |
注釋 |
---|---|---|
Microsoft 遠(yuǎn)程過程調(diào)用 (MS RPC) 由 Integration Services 運(yùn)行時(shí)使用。 |
TCP 端口 135 請(qǐng)參閱端口 135 的特殊注意事項(xiàng) |
Integration Services 服務(wù)在端口 135 上使用 DCOM。服務(wù)控制管理器使用端口 135 執(zhí)行諸如啟動(dòng)和停止 Integration Services 服務(wù)以及將控制請(qǐng)求傳送到正在運(yùn)行的服務(wù)等任務(wù)。此端口號(hào)無法更改。 僅當(dāng)從 Management Studio 或自定義應(yīng)用程序連接到遠(yuǎn)程 Integration Services 服務(wù)實(shí)例時(shí),才需要打開此端口。 |
有關(guān)為 Integration Services 配置 Windows 防火墻的分步說明,請(qǐng)參閱為 Integration Services 訪問配置 Windows 防火墻和如何為 Integration Services 配置 Windows 防火墻。
其他端口和服務(wù)下表列出了 SQL Server 可能依賴的一些端口和服務(wù)。
應(yīng)用場(chǎng)景 |
端口 |
注釋 |
---|---|---|
Windows Management Instrumentation 有關(guān) WMI 的詳細(xì)信息,請(qǐng)參閱用于配置管理的 WMI 提供程序的概念。 |
WMI 作為共享服務(wù)主機(jī)的一部分使用通過 DCOM 分配的端口運(yùn)行。WMI 可能使用 TCP 端口 135。 請(qǐng)參閱端口 135 的特殊注意事項(xiàng) |
SQL Server 配置管理器使用 WMI 列出和管理各個(gè)服務(wù)。建議使用預(yù)配置規(guī)則組 Windows Management Instrumentation (WMI)。有關(guān)詳細(xì)信息,請(qǐng)參閱下面的與其他防火墻規(guī)則的交互部分。 |
Microsoft 分布式事務(wù)處理協(xié)調(diào)器 (MS DTC) |
TCP 端口 135 請(qǐng)參閱端口 135 的特殊注意事項(xiàng) |
如果應(yīng)用程序使用分布式事務(wù)處理,可能必須要將防火墻配置為允許 Microsoft 分布式事務(wù)處理協(xié)調(diào)器 (MS DTC) 在不同的 MS DTC 實(shí)例之間以及在 MS DTC 和資源管理器(如 SQL Server)之間進(jìn)行通信。建議使用預(yù)配置的“分布式事務(wù)處理協(xié)調(diào)器”規(guī)則組。 當(dāng)在單獨(dú)的資源組中為整個(gè)群集配置單個(gè)共享 MS DTC 時(shí),應(yīng)當(dāng)將 sqlservr.exe 作為異常添加到防火墻。 |
Management Studio 中的瀏覽按鈕使用 UDP 連接到 SQL Server Browser 服務(wù)。有關(guān)詳細(xì)信息,請(qǐng)參閱 SQL Server Browser 服務(wù)。 |
UDP 端口 1434 |
UDP 是一種無連接協(xié)議。 防火墻具有一個(gè)名為 UnicastResponsesToMulticastBroadcastDisabled Property of the INetFwProfile Interface(INetFwProfile 接口的 UnicastResponsesToMulticastBroadcastDisabled 屬性)的設(shè)置,用于控制防火墻在對(duì)廣播(或多播)UDP 請(qǐng)求的單播響應(yīng)方面的行為。 它有以下兩種行為:
|
IPsec 通信 |
UDP 端口 500 和 UDP 端口 4500 |
如果域策略要求通過 IPSec 進(jìn)行網(wǎng)絡(luò)通信,還必須將 UDP 端口 4500 和 UDP 端口 500 添加到例外列表。使用 Windows 防火墻管理單元中的“新建入站規(guī)則向?qū)?rdquo;可以選擇 IPsec。有關(guān)詳細(xì)信息,請(qǐng)參閱下面的使用高級(jí)安全 Windows 防火墻管理單元。 |
將 Windows 身份驗(yàn)證用于可信域 |
必須將防火墻配置為允許身份驗(yàn)證請(qǐng)求。 |
有關(guān)詳細(xì)信息,請(qǐng)參閱如何為域和信任關(guān)系配置防火墻。 |
SQL Server 和 Windows 群集 |
群集需要與 SQL Server 不直接相關(guān)的其他端口。 |
有關(guān)詳細(xì)信息,請(qǐng)參閱 Enable a network for cluster use(啟用網(wǎng)絡(luò)以供群集使用)。 |
HTTP 服務(wù)器 API (HTTP.SYS) 中保留的 URL 命名空間 |
很可能為 TCP 端口 80,但可以配置為其他端口。有關(guān)常規(guī)信息,請(qǐng)參閱配置 HTTP 和 HTTPS。 |
有關(guān)使用 HttpCfg.exe 保留 HTTP.SYS 端點(diǎn)的 SQL Server 特定信息,請(qǐng)參閱使用 Http.sys 預(yù)留 URL 命名空間。 |
解決防火墻設(shè)置問題
以下工具和方法對(duì)于解決防火墻問題會(huì)非常有用:
有效端口狀態(tài)是與端口相關(guān)的所有規(guī)則的總體作用結(jié)果。當(dāng)試圖禁止通過某一端口訪問時(shí),查看引用該端口號(hào)的所有規(guī)則將會(huì)非常有用。為此,請(qǐng)使用高級(jí)安全 Windows 防火墻 MMC 管理單元,并按端口號(hào)對(duì)入站和出站規(guī)則進(jìn)行排序。
查看在運(yùn)行 SQL Server 的計(jì)算機(jī)上處于活動(dòng)狀態(tài)的端口。此檢查過程包括確認(rèn)正在偵聽的 TCP/IP 端口,同時(shí)確認(rèn)這些端口的狀態(tài)。
若要驗(yàn)證哪些端口正在偵聽,請(qǐng)使用 netstat 命令行實(shí)用工具。除了顯示活動(dòng) TCP 連接以外,netstat 實(shí)用工具還將顯示多種 IP 統(tǒng)計(jì)信息和其他信息。
列出正在偵聽的 TCP/IP 端口
1.打開命令提示符窗口。
2.在命令提示符下,鍵入 netstat -n -a
3.-n 開關(guān)指示 netstat 以數(shù)字方式顯示活動(dòng) TCP 連接的地址和端口號(hào)。-a 開關(guān)指示 netstat 顯示計(jì)算機(jī)正在偵聽的 TCP 和 UDP 端口。
PortQry 實(shí)用工具可用于報(bào)告 TCP/IP 端口的狀態(tài)(正在偵聽、未在偵聽或已篩選)。(對(duì)于已篩選狀態(tài),端口可能正在偵聽,也可能未在偵聽;此狀態(tài)指示實(shí)用工具沒有收到端口的響應(yīng)。)PortQry 實(shí)用工具可以從 Microsoft 下載中心下載。
有關(guān)故障排除的其他主題,請(qǐng)參閱:
Troubleshooting Windows Firewall with Advanced Security in Windows Vista and Windows Server 2008 - Diagnostics and Tools(解決 Windows Vista 和 Windows Server 2008 中的高級(jí)安全 Windows 防火墻問題 - 診斷和工具)
故障排除(數(shù)據(jù)庫引擎)
故障排除(Analysis Services - 數(shù)據(jù)挖掘)
故障排除 (Reporting Services)
故障排除 (Integration Services)
使用高級(jí)安全 Windows 防火墻管理單元
在運(yùn)行 Vista 或 Windows Server 2008 的計(jì)算機(jī)上,可以通過使用高級(jí)安全 Windows 防火墻 MMC 管理單元來配置其他高級(jí)防火墻設(shè)置。此管理單元包括規(guī)則向?qū)В⑻峁?ldquo;控制面板”中的“Windows 防火墻”項(xiàng)中未提供的附加設(shè)置。這些設(shè)置包括:
加密設(shè)置
服務(wù)限制
按名稱限制計(jì)算機(jī)的連接
限制連接到特定用戶或配置文件
邊緣遍歷允許通信繞過網(wǎng)絡(luò)地址轉(zhuǎn)換 (NAT) 路由器
配置出站規(guī)則
配置安全規(guī)則
傳入連接需要 IPsec
使用新建規(guī)則向?qū)?chuàng)建新防火墻規(guī)則
1.開始”菜單上,單擊“運(yùn)行”,鍵入 WF.msc,然后單擊“確定”。
2.高級(jí)安全 Windows 防火墻”的左窗格中,右鍵單擊“入站規(guī)則”,然后單擊“新建規(guī)則”。
3.所需設(shè)置完成“新建入站規(guī)則向?qū)?rdquo;。
使用“控制面板”中的“Windows 防火墻”項(xiàng)進(jìn)行其他防火墻設(shè)置
添加到防火墻的例外可以限制端口僅對(duì)來自特定計(jì)算機(jī)或本地子網(wǎng)的傳入連接打開。這種對(duì)端口打開范圍的限制可以大大減少計(jì)算機(jī)對(duì)惡意用戶的暴露程度,因此建議采用此類限制。
使用“控制面板”中的“Windows 防火墻”項(xiàng)更改防火墻例外的范圍
1.控制面板”中的“Windows 防火墻”項(xiàng)的“例外”選項(xiàng)卡上,選擇一個(gè)程序或端口,然后單擊“屬性”或“編輯”。
2.編輯程序”或“編輯端口”對(duì)話框中,單擊“更改范圍”。
3.以下選項(xiàng)之一:
任何計(jì)算機(jī)(包括 Internet 上的計(jì)算機(jī))
建議不要使用。這將使任何可尋址到您計(jì)算機(jī)的計(jì)算機(jī)都可以連接到指定程序或端口。如果要允許向 Internet 上的匿名用戶呈現(xiàn)信息,則此設(shè)置可能是必需的,不過這會(huì)增加您對(duì)于惡意用戶的暴露程度。如果啟用此設(shè)置,同時(shí)還允許網(wǎng)絡(luò)地址轉(zhuǎn)換 (NAT) 遍歷(例如“允許邊緣遍歷”選項(xiàng)),則會(huì)進(jìn)一步增加您的暴露程度。
僅我的網(wǎng)絡(luò)(子網(wǎng))
這是比“任何計(jì)算機(jī)”更安全的設(shè)置。只有網(wǎng)絡(luò)的本地子網(wǎng)中的計(jì)算機(jī)可以連接到相應(yīng)程序或端口。
自定義列表:
只有具有列表中的 IP 地址的計(jì)算機(jī)可以連接。這是比“僅我的網(wǎng)絡(luò)(子網(wǎng))”更安全的設(shè)置,不過,使用 DHCP 的客戶端計(jì)算機(jī)有時(shí)候會(huì)更改它們的 IP 地址。這樣的話,目標(biāo)計(jì)算機(jī)將無法連接。另一臺(tái)您未打算授權(quán)的計(jì)算機(jī)可能接受這一列出的 IP 地址,從而能夠連接。如果希望列出其他配置為使用固定 IP 地址的服務(wù)器,則可能最好選擇“自定義列表”選項(xiàng);不過,入侵者可能會(huì)假冒 IP 地址。限制防火墻規(guī)則的作用大小取決于網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)的優(yōu)劣。
防火墻配置文件概述
Getting Started with Windows Firewall with Advanced Security in Windows Vista and Windows Server 2008(Windows Vista 和 Windows Server 2008 中的高級(jí)安全 Windows 防火墻入門)中的 Network location-aware host firewall(識(shí)別網(wǎng)絡(luò)位置的主機(jī)防火墻)部分介紹了防火墻配置文件。為了進(jìn)行匯總,Windows Vista 和 Windows Server 2008 可按照連接性、連接數(shù)和類別來識(shí)別并記住與它們連接的每個(gè)網(wǎng)絡(luò)。
在高級(jí)安全 Windows 防火墻中有三種網(wǎng)絡(luò)位置類型:
域。Windows 可以驗(yàn)證對(duì)計(jì)算機(jī)所聯(lián)接域的域控制器的訪問。
公共。除域網(wǎng)絡(luò)之外,其他所有網(wǎng)絡(luò)最初都?xì)w為公共網(wǎng)絡(luò)一類。直接連到 Internet 的網(wǎng)絡(luò)或者位于公共場(chǎng)所(如機(jī)場(chǎng)和咖啡店)的網(wǎng)絡(luò)應(yīng)保留為公共網(wǎng)絡(luò)。
專用。由用戶或應(yīng)用程序標(biāo)識(shí)為專用的網(wǎng)絡(luò)。只應(yīng)將可信網(wǎng)絡(luò)標(biāo)識(shí)為專用網(wǎng)絡(luò)。用戶很可能希望將家庭網(wǎng)絡(luò)或小型企業(yè)網(wǎng)絡(luò)標(biāo)識(shí)為專用網(wǎng)絡(luò)。
管理員可以為每種網(wǎng)絡(luò)位置類型創(chuàng)建一個(gè)配置文件,每個(gè)配置文件均包含不同的防火墻策略。在任何時(shí)候只能應(yīng)用一個(gè)配置文件。應(yīng)用配置文件的順序如下:
1.如要向計(jì)算機(jī)所屬域的域控制器驗(yàn)證所有接口,則應(yīng)用域配置文件。
2.如要向域控制器驗(yàn)證所有接口或者所有接口均連接到歸為專用網(wǎng)絡(luò)位置一類的網(wǎng)絡(luò),則應(yīng)用專用配置文件。
3.否則,應(yīng)用公共配置文件。
使用高級(jí)安全 Windows 防火墻 MMC 管理單元查看和配置所有防火墻配置文件。“控制面板”中的“Windows 防火墻”項(xiàng)僅可配置當(dāng)前配置文件。
與其他防火墻規(guī)則的交互
Windows 防火墻使用規(guī)則和規(guī)則組建立其配置。每個(gè)規(guī)則或規(guī)則組通常與特定程序或服務(wù)相關(guān),并且該程序和服務(wù)可以在您不知道的情況下修改或刪除相應(yīng)規(guī)則。例如,規(guī)則組“萬維網(wǎng)服務(wù)(HTTP)”和“安全萬維網(wǎng)服務(wù)(HTTPS)”與 IIS 相關(guān)。啟用這些規(guī)則將打開端口 80 和 443,并且如果啟用這些規(guī)則,則依賴端口 80 和 443 的 SQL Server 功能將能正常工作。不過,配置 IIS 的管理員可能會(huì)修改或禁用這些規(guī)則。因此,如果您為 SQL Server 使用端口 80 或端口 443,則應(yīng)創(chuàng)建您自己的規(guī)則或規(guī)則組,這樣可以獨(dú)立于其他 IIS 規(guī)則之外維護(hù)您的所需端口配置。
高級(jí)安全 Windows 防火墻 MMC 管理單元允許符合任何適用允許規(guī)則的所有通信。因此,如果有兩個(gè)均應(yīng)用于端口 80 的規(guī)則(具有不同的參數(shù)),則符合任一規(guī)則的通信都將得到允許。因此,如果一個(gè)規(guī)則允許來自本地子網(wǎng)的通過端口 80 的通信而另一個(gè)規(guī)則允許來自任意地址的通信,則實(shí)際結(jié)果是不管通信來源是什么,所有通向端口 80 的通信都將得到允許。若要有效地管理對(duì) SQL Server 的訪問,管理員應(yīng)定期查看服務(wù)器上啟用的所有防火墻規(guī)則。
端口 135 的特殊注意事項(xiàng)
將 RPC 與 TCP/IP 或 UDP/IP 一起用作傳輸方式時(shí),通常會(huì)根據(jù)需要為系統(tǒng)服務(wù)動(dòng)態(tài)分配入站端口。將使用端口號(hào)大于 1024 的 TCP/IP 和 UDP/IP 端口。這些端口通常被不正式地稱為“隨機(jī) RPC 端口”。在這些情況下,RPC 客戶端依賴 RPC 端點(diǎn)映射器來通知它們?yōu)榉?wù)器分配了哪些動(dòng)態(tài)端口。對(duì)于一些基于 RPC 的服務(wù),可以配置特定端口,而非讓 RPC 動(dòng)態(tài)分配一個(gè)端口。此外,還可以將 RPC 動(dòng)態(tài)分配的端口范圍限制為一個(gè)較小的范圍,不管何種服務(wù)均可如此。由于許多服務(wù)都使用端口 135,它經(jīng)常受到惡意用戶的攻擊。當(dāng)打開端口 135 時(shí),請(qǐng)考慮限制防火墻規(guī)則的作用范圍。
有關(guān)端口 135 的詳細(xì)信息,請(qǐng)參閱以下參考內(nèi)容:
Windows 服務(wù)器系統(tǒng)的服務(wù)概述和網(wǎng)絡(luò)端口要求
如何從產(chǎn)品 CD 使用 Windows Server 2003 支持工具排除 RPC 端點(diǎn)映射器的錯(cuò)誤
Using Distributed COM with Firewalls
Remote Procedure Call (RPC)(遠(yuǎn)程過程調(diào)用 (RPC))
如何配置與防火墻一起使用的 RPC 動(dòng)態(tài)端口分配
Windows 2000 Startup and Logon Traffic Analysis(Windows 2000 啟動(dòng)和登錄通信流量分析)
【編輯推薦】