2009-06-10 13 views
3

我在絕對禁止創建鏈接服務器的企業環境中工作。我問過DBA的原因,我得到的唯一答案是「這就是政策」。所以我發現自己不得不編寫和利用SSIS包來在這種需求出現時在數據庫之間移動數據。爲什麼會禁止鏈接的服務器?

誰能告訴我可能已經建立這樣一個政策的背後是什麼原因?對我來說這似乎相當不合理。

回答

7

從理論上說,如果一臺服務器被攻破,任何鏈接的服務器將自動受到損害也是如此。

個人而言,我認爲這僅僅意味着在創建非常強大或值得信賴的鏈接之前,您應該三思。您可以選擇用於每個鏈接連接的帳戶,並限制這些帳戶的訪問權限,以創建更小,定義明確的鏈接,只允許訪問某些內容。例如,我所在的位置有多個客戶端,它們在一臺服務器上具有相同模式的個人數據庫,另一臺服務器在其中執行大量報告工作,另一臺服務器在客戶端詳細信息中保存公共數據庫。我們有一個從報告數據庫到詳細數據庫的特殊鏈接,它允許將只讀信息拉入到報告中,以將其定製到特定客戶端,但沒有其他。

+1

在MSSQL 2008中,您可以將本地服務器登錄映射到遠程服務器以及您不需要的那些服務器地圖有4個安全選項。連接將會:不會被製造,不會被製造出來,不會被製造成安全上下文,被當前的登錄上下文做出,或者被做成特定的安全上下文。像Joel說的那樣,限制訪問。 – Bratch 2009-06-10 14:55:00

+0

感謝大家的所有想法。實際上並不是DBA,我沒有考慮過很多可能性,但我想我可以看到這個推理。我需要的大部分是每週一次的一次性「我們可以將這些數據與該系統中的數據進行比較嗎?」種報道。沒有定期或我可能會推多一點。 我剛剛從我上一份工作中發現它奇怪的地方,那裏通常是「是的,當然,沒有問題」,這個地方總是「沒有辦法」。 – BBlake 2009-06-11 12:05:28

3

如果一個攻擊者抓到一個數據庫,他必須更加努力地擁有整個系統。

2

簡單。有人認爲它屬於「太硬」的籃子。還有安全性(通過另一臺服務器通過後門訪問一臺服務器)和穩定性(服務器A停機並將服務器B連接到服務器)。

你可能沒有理由需要一個足夠好的鏈接服務器來值得冒險。僅僅購買更快的服務器通常更便宜。

你總是可以要求查看該策略所記錄下來。賠率是真的沒有一個正式的政策。

1

這是一個與登錄映射的問題,通常是。

如果映射:

  • 「任何本地到遠程特定的」,那麼任何人都可以使用鏈接的服務器

  • 「特定本地到遠程特定的」,那麼當地需求的項sys.server_principals中的當前用戶,這意味着您不能限制爲NT組:您必須單獨列出用戶(這也可能不在策略中)

  • 「use self」(這是一個變體「具體到本地遠程特定的「),那麼我的信任的」域\ bob「登錄令牌用於遠程登錄。這需要爲本地服務器配置委派,並在AD中設置SPN。

另外:

  • 我見過其中遠程登錄有「syadmin」維權實例,因爲它不是由數據庫管理員管理,或由另一組管理。這意味着通常所有的SQL服務器都會受到攻擊。

您可以使用OPENDATASOURCE,但這需要adhoc訪問才能啓用。這可能被允許而不是靜態鏈接服務器。

正確使用,它們正常,但它們在映射登錄時有侷限性。所以,說不。

我們在這裏使用它們,FWIW。

2

下面是其他答案中更可能的解釋的替代方案。該政策可能是Service Oriented Architecture學派的孤獨的倖存者。其中指出:

面向服務的目的是服務的一個鬆散的耦合

鏈接服務器是低水平和強耦合,以及architecture astronaut會禁止掛,因爲那服務器。

「修復」此政策的一種方法是說服您的業務客戶,您對其問題有一個好的,可靠的解決方案;但它絕對需要鏈接的服務器。業務人員會與DBA交談,DBA很有可能會同意試用鏈接服務器。爲了達到這個目的,與DBA討論最強烈的反對鏈接服務器的問題。數據庫管理員可以降低開發人員的工作量,但他們往往很快就會對業務產生影響。

試驗將是政策的結束。鏈接的服務器工作,而SOA不。

P.S.在荷蘭我們很幸運:SOA意味着荷蘭人的性傳播疾病,所以SOA silver bullet幻想有點飛了:-)

相關問題