今天在跟微軟的人開會的時候,吉米老兄提出了一個問題,就是在應用系統中若使用 AD 整合認證的話,有沒有可能使得 Active Directory 的管理者擁有專案系統的最大權限,造成機密資料的外洩?台灣微軟人員提出了一個合理的解釋: 我們應該將這種情況分兩個動作來解釋,那就是『認證』及『授權』,一般來說 AD Server 只是處理了認證的問題,真正需要授權給登入使用者的是應用系統本身。
這是一個很合理的解釋,在系統設計的邏輯方面也能夠說得通。一般來說應用系統的管理人員不一定就是 AD 的管理人員,應用系統管理人在自己的系統中可以自行設計權限管控的群組分類以及指定群組人員,不受到 AD 的限制,當然,他也可以把 AD Administrator 排除在應用系統的管理者群組之外。但是,吉米老兄的懷疑也不一定是錯誤的,既然 AD 管理者所擁有的權限可以至 AD 層面,我們的應用系統也是處於完全相信 AD 所進行認證的結果,那麼,是不是有甚麼邏輯上的漏洞會產生??
會中微軟人員的說法是,AD Administrator 雖然是一個 AD 的管理者,但是他並不能夠假冒任何人的身份進行登入,這也是一個很合理的說法。會後,我再仔細的想了一下,這種設計的確是有邏輯上的漏洞,首先,當應用系統設定了 AP_ADMIN 的群組,並將此群組設為應用系統的 ADMIN,AD Adminstrator 肯定擁有 Account Operator 的權限,他可以設定或指派某人加入 AP_ADMIN 的群組,若他存有不道德的私心,他可以將自己的帳號設定進這個群組中,當得到機密資料,並刪除登入及動作的日誌後再將帳號自管理群組中移除。
應用系統管理者要避免這種情況,首先自己的應用系統不能完全的相信 Domain Admin,在設定 High Confidential 群組時,應該避免指派 AD 中的群組,而直接分別指派 AD User。但是,我們並不能避免 AD Admin 嘗試修改 AP Admin Users 的密碼來達到其獲取進入系統特殊權限的目地,也就是說,無論如何此種威脅都是存在的。
這個問題的答案已經很明顯。
企業主若不相信單位中的 AD Admin,建議你換個可以信任的人,以免夜長夢多。若是真有非常敏感的資訊,而單位 AD 中的 User 數量又非常多,怕不好管理的話,可以嘗試將 AD 進行分支管理,讓最上面的管理者是個可以相信的人,大量的,不敏感的人員資訊可以分屬在某個分支交給其它管理人員管理,而具有高機密群組及人員,另外放在專屬的分支控管,這樣會比較容易些。
突然間想到電影 Spider Man 2 裡頭的這一段話,作為標題。IT 人員的責任也是取決於自身在電腦工作環境上呼風喚雨的能力,會這樣被 User 懷疑也是沒有辦法的事呀…