讓防火墻與軟件測試開發技術SQL Server數據庫共存

發表于:2009-10-19來源:作者:點擊數: 標簽:軟件測試數據庫SQLsqlSql
讓防火墻與軟件 測試 開發 技術SQL Server數據庫共存 SQL Server數據庫 關鍵字:SQL Server 數據庫 安全與 性能 是數據庫管理員的兩塊心頭肉。而通過防火墻來保護數據庫的安全無疑是一種不錯的選擇。但是有時會防火墻與SQL Server數據庫也會鬧矛盾。防火墻如

讓防火墻與軟件測試開發技術SQL Server數據庫共存  SQL Server數據庫

關鍵字:SQL Server 數據庫

  安全與性能是數據庫管理員的兩塊心頭肉。而通過防火墻來保護數據庫的安全無疑是一種不錯的選擇。但是有時會防火墻與SQL Server數據庫也會鬧矛盾。防火墻如果配置不當的話,不但不能夠起到其應有的保護作用,而且還會阻止客戶端的合法連接。為此如果想讓防火墻與SQL Server數據庫共存的話,還不是一件簡單的事情。對于這個問題,筆者有如下幾條建議?;蛟S這些建議能夠給各位數據庫管理員在數據庫與防火墻部署的時候提供一定的幫助。

  建議一:先部署數據庫,再部署防火墻。

  導致客戶端無法連接上數據庫服務器的原因有很多,而防火墻的限制無疑也是其中的一種。為了降低故障排除的復雜程度,筆者建議數據庫管理員在部署的時候,最好先把防火墻關掉。即先部署數據庫,然后再部署防火墻?;蛘哒f,在防火墻存在的情況下,如果發現客戶端無法正常連接到數據庫,最好先把防火墻關掉,然后再看看能夠正常連接。這主要可以幫助數據庫管理員簡單的來判斷,這個連接故障是不是因為防火墻的不恰當配置所造成的。在排除防火墻配置錯誤的時候,這個方法非常的有用。如果確實是因為防火墻的原因,而數據庫管理員還一直在數據庫管理系統或者客戶端那邊尋找原因,那就是白花力氣。同理,如果確實是數據庫服務器的問題而不是防火墻的配置所造成的連接故障,但是數據庫管理員卻是在尋找防火墻的麻煩,那也是自討苦吃。所以筆者建議大家,在部署數據庫的時候(不僅限于SQL Server數據庫系統),最好先把已經存在的防火墻關閉掉。等到客戶端能夠正常連接到服務器后,再嘗試啟動防火墻。

  建議二:根據數據庫開啟的服務來開啟防火墻的端口。

  從安全上來說,數據庫服務器的端口開啟的越少越好。但是數據庫的有些服務必須要開啟某些特定的端口,否則的話某些服務就會受到影響。為此從安全與性能上綜合考慮的話,就要求數據庫管理員根據數據庫要采用的服務來開啟防火墻的端口。

  如在SQL Server數據庫中啟用了復制功能的話,就需要在防火墻上開啟1433端口(這是數據庫默認的給復制服務啟用的端口)。當然數據庫管理員也可以跟網絡管理員商量最終所采用的端口。另外如果采用復制快照,則進行WEB同步或者FTP訪問則要求在防后墻上打開其他需要的端口。如快照復制通過FTP實現的話,為了將數據文件和架構從一個位置傳輸到網絡上的另外一個位置,則需要在防火墻上開啟21端口,以允許FTP協議的數據通過這個端口。而通常情況下,為了安全起見是把這個端口關閉的。而如果在復制功能中如果需要用到HTTP或者文件和打印共享服務時,還需要打開137、138、139端口,等等。否則的話由于防火墻的阻擋這些服務將無法正常使用。

  另外SQL Server數據庫中有些服務的話是沒有指定端口的。數據庫管理員可以根據實際需要,來確定所需要采用的端口。如數據庫的鏡像服務,其沒有指定所需要采用的端口,而是要求數據庫管理員來選擇端口。此時數據庫管理員就可以根據服務器端口的實際采用情況來設置到底開啟哪個端口為好。在配置的時候,如果數據庫服務器中還部署有其他英勇的話,就需要避免與其他服務端口的沖突。

  SQL Server數據庫的相關服務有很多,如還有報表服務、Browser服務(用于偵聽指向命名實例的傳入連接,并為客戶端提供與此命名實例對應的TCP端口號)等等。若數據庫管理員以為客戶端的連接故障是由于防火墻所引起的,那么數據庫管理員就需要查看微軟的官方文檔,看看對應服務所需要開啟的端口在防火墻中是否已經打開。

  建議三:管理好動態端口。

  以上這些服務的端口基本上是靜態的,只需要在防火墻上把這些端口打開即可,沒有多大的難度。而其管理的難點是有些服務采用的是動態的端口,這會給數據庫服務器上防火墻的配置帶來一定的麻煩。因為端口不固定,所以有時候防火墻就無法適從了。

  如通常情況下,數據庫中有一個叫做命名實例的服務,這個服務采用的就是動態端口。也就是說,每次啟動數據庫服務器的時候,數據庫引擎都將確定一個服務器沒有使用的端口作為自己的端口。即每次采用的端口都不一致。默認情況下,SQL Server數據庫引擎采用的TCP端口號為1433。但是如果在這臺數據庫服務器上還部署有其他的數據庫引擎,如Oracle數據庫系統或者MySQL數據庫系統,則可能這個1433端口已經被他們所采用了。則此時SQL Server數據庫系統引擎將無法使用這個端口。此時數據庫引擎就會另外選擇一個可用的端口??梢娪捎跀祿煲婊蛘邤祿旆掌髟诿看螁拥臅r候所采用的端口都可能不同,為此很難在防火墻上啟用對正確端口的訪問(防火墻不會跟數據庫引擎互動)。也就是說,防火墻不會去偵測數據庫引擎到底啟用哪些端口。所以如果在數據庫服務器上配置了防火墻,則在數據庫部署的時候,如果某些服務采用了動態端口,則數據庫管理員需要把他們配置為固定端口或者靜態端口,以保證數據庫引擎每次都采用同一的端口號。

  

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97