Chapter 1 Securing Your Server and Network(6):為SQL Server訪問配置防火牆

來源:互聯網
上載者:User

標籤:database   sql server   安全   security   防火牆   

原文出處:http://blog.csdn.net/dba_huangzj/article/details/38082123,專題目錄:http://blog.csdn.net/dba_huangzj/article/details/37906349

未經作者同意,任何人不得以“原創”形式發布,也不得已用於商業用途,本人不負責任何法律責任。

        前一篇:http://blog.csdn.net/dba_huangzj/article/details/38063823

 

前言:

 

SQL Server 的通訊基於TCP和UDP連接埠,如果你需要從非原生機器上訪問SQL Server,需要開啟防火牆的連接埠。而Windows Server 2008 預設防火牆是開啟的。簡單來說,就是全部連接埠都被阻止。

 

實現:

 

可以按照下面步驟配置Windows 防火牆:

1. 在【開始】菜單中開啟【控制台】,也可以直接點擊網狀圖標開啟,然後選擇【系統和安全】,點擊【Windows 防火牆】,最後點擊【進階設定】,

 

 

 原文出處:http://blog.csdn.net/dba_huangzj/article/details/38082123,專題目錄:http://blog.csdn.net/dba_huangzj/article/details/37906349

2.右鍵【入站規則】,選擇【建立規則】,然後在【規則類型】中選擇【連接埠】,然後在【協議和連接埠】中輸入下面的連接埠:


  • 如果僅用SQL Server 引擎的預設執行個體,輸入1433
  • 如果需要使用Analysis Services 引起的預設執行個體,輸入2383
  • 如果使用Service Broker ,輸入4022


點擊【下一步】。完整的連接埠列表可以訪問:http://msdn.microsoft.com/zh-cn/library/cc646023%28v=SQL.110%29.aspx

 原文出處:http://blog.csdn.net/dba_huangzj/article/details/38082123,專題目錄:http://blog.csdn.net/dba_huangzj/article/details/37906349

3. 在【操作】項中選擇【允許串連】,點擊【下一步】:



4. 在【設定檔】項中,如果你在域中,僅保留【域】選項的勾選,另外兩個,主要用於工作站或筆記本。如果伺服器是通過標識為【公用】的網路連接的,比如從互連網直接存取,並且你想SQL Server能被外部發現,可以選擇【公用】,當然,這比較危險。最後選擇【下一步】並輸入規則名。



原理:

 原文出處:http://blog.csdn.net/dba_huangzj/article/details/38082123,專題目錄:http://blog.csdn.net/dba_huangzj/article/details/37906349

上面描述了如何開啟SQL Server預設執行個體的連接埠,比如TCP 1433。而具名執行個體使用的是動態連接埠,每次SQL Server 服務重啟後連接埠可能改變。這個連接埠是通過SQLServer Browser 服務監聽UDP 1434連接埠來實現用戶端的通訊。動態連接埠不適用於防火牆配置,因為使用動態連接埠會強制你開啟一個“範圍”的連接埠。

最好的方式是指定一個已經在防火牆中配置了的固定TCP連接埠給具名執行個體,並禁用SQL Server Browser,然後關閉防火牆中的UDP 1434連接埠。這部分會在接下來的一篇文章中介紹。

注意:從Windows Server 2008/Vista開始,預設動態連接埠範圍已經改變,詳細資料可從這裡查看:http://support.microsoft.com/kb/929851

 

更多資訊:

 

為了限制特定的使用者或者機器訪問SQL Server,可以通過防火牆的【入站規則】實現,可以在【入站規則】中找到對應的服務,如【SQL Server】,右鍵然後點擊【屬性】,在【常規頁】勾選【只允許安全連線】,


 

然後分別在【遠端使用者】和【遠端電腦】標籤中授予特定使用者或電腦訪問:


 

另外,可以在SQL Server中用命令查詢特定連接埠,可以使用下面語句查看Service Broker、鏡像中的連接埠,如果需要使用這些功能,需要開放對應的連接埠:

SELECT  name ,         protocol_desc ,         port ,         state_desc FROM    sys.tcp_endpoints WHERE   type_desc IN ( ‘SERVICE_BROKER‘, ‘DATABASE_MIRRORING‘ );


除了圖形化操作,還可以使用netsh.exe命令實現防火牆配置,以管理員身份運行這個命令,並用下面語句開放TCP 1433連接埠:

netsh advfirewall firewall add rule name = "SQL Server" dir = in protocol = tcp action = allow localport = 1433,2383 profile = DOMAIN

原文出處:http://blog.csdn.net/dba_huangzj/article/details/38082123,專題目錄:http://blog.csdn.net/dba_huangzj/article/details/37906349

更多相關資訊可以訪問:(如何使用"netsh 由防火牆"上下文,而不是控制 Windows Vista 和 Windows Server 2008 中的 Windows 防火牆行為"netsh 防火牆"上下文)

http://support.microsoft.com/kb/947709

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.