2013-05-29 42 views
3

我已經繼承了一系列數據庫的SQL Server框,並且它具有Windows Auth用於創建/維護良好烘焙和建立的數據庫。該箱本身有很多其他服務,需要用戶以管理員身份登錄才能維護。從Domain Admin保護SQL Server數據庫的安全

我現在必須在服務器上創建一個新的數據庫,只有少數公司(包括IT)可以訪問該數據庫。所以我有點追逐我最好的地方開始。

我想繼續給他們管理員級訪問他們需要的所有其他東西在這個盒子上,但限制他們在SQL Server選項,所以我可以更好地管理數據庫並保護他們。解開Windows身份驗證方法並釋放數據庫/爲這些用戶創建機會,同時確保他們不應訪問的新數據庫的最佳方式是什麼?我是否會通過偏離Windows認證方法走向正確的方向?

回答

4

在服務器上創建第二個實例的主要原因之一是安全性。通過創建第二個實例,您基本上可以重新啓動安全性。所以這是您可能爲新數據庫考慮的選項。 IE創建第二個實例並在其上放置「安全」數據庫。

你還應該考慮一些事情。

首先,是的,你應該儘可能地放鬆你的安全,並給出任何給定用戶/組所需的最低安全性。這是一個最佳實踐的事情。切勿在沒有明確理由的情況下給出dbo或系統管理員權限,甚至可以徹底提出質疑,以確保沒有其他解決方法。切勿放棄比絕對必要的更多權限。

其次,如果實際上真的想進入實例,那麼幾乎不可能讓服務器的管理員保持實例不在實例中。我只說「幾乎」不可能,因爲可能有一種我不知道的方式。在服務器管理員或域管理員的層面上,你必須假設他們可以被信任而不會試圖破門而入。你可能無法將它們拒之門外。

最後但並非最不重要的是,如果您可以將您的實例從服務器移出has many other services which require a user to login as admin to maintain.這首先是一個安全噩夢(如上所述),其次是您的SQL服務器在它自己的服務器上運行得更好。我甚至聽說專家的建議,說你永遠不應該遠程進入SQL Server實例所在的服務器。如果您必須遠程訪問,絕對不要在遠程複製文件時複製文件。一般地說,服務器上的SQL越少越好。

+0

我絕對認爲是第二例,並省略了一些細節,以防止更多地混淆我的問題。在這種情況下,要添加的數據庫將具有財務性質,並且報告將跨越他們將訪問的數據庫。我知道我可以輕鬆地在同一個實例上使用備用用戶名跨數據庫執行此操作,但對於輔助實例並不確定。我想我被迫在單一實例中工作,以保持我的理智。我目前的想法是更改管理員密碼,然後強制遠程訪問作爲其用戶名,並將這些名稱用作特定DB的權限。 –

+0

單實例路徑絕對可行,但可能並不安全。您仍然可以使用一些安全連接的服務器來處理兩個實例路徑購買。由於只有少數人可以進入新實例,因此只有有限數量的人才能訪問鏈接服務器。缺點是跨實例查詢可能會更慢,並且必須更好地管理。 –

1

通過從SQL Server登錄中刪除BUILTIN \ Administrators組,您可以刪除域管理員訪問SQL Server的能力。

我不建議遠離Windows身份驗證,因爲您會創建一組全新的安全問題,然後您將不得不處理這些問題。

+0

感謝您的支持。我更加關注那些用戶需要管理角色訪問其他功能的各種原因。從那裏我可以推他們到他們的特定用戶/帳戶的遠程,並根據他們的用戶給他們SQL權限 –

0

域管理員可以

  • 自己添加到任何組擁有(本地或域)具有訪問SQL Server
  • 更改服務帳戶的政策,並與
    • 更改SQL Server登錄在使用內置帳戶的情況下使用服務帳戶
  • 使用任何具有SQL Server訪問權的用戶帳戶
    • 更改密碼,以允許該
  • 不要在域中的任何事物。在。所有。

SQL Server始終擁有窗口驗證接通,因此它總是可用的域管理員

如果它是敏感的,然後它需要在不同的域或獨立或東西。

+0

認爲我在廚房場景中有更多的「太多廚師」,需要從它來那個角度第一。 –