安全 ASP 的最佳安全做法
引言
安全管理的主要目標是保證 SLA 中規定的 ASP 和客戶之間的機密性、完整性和可用性的層級。最佳做法可向 ASP 展示如何確保實現安全目標。
Active Directory 的主要安全優勢
使用 Active Directory 服務,ASP 可更好地為內部使用者和外部客戶提供適當的安全性。從根本上說,Active Directory 是 ASP 安全性原則和帳戶資訊的中心位置。
ASP 可用 Active Directory 安全功能來自訂 ASP 的安全性原則,保護系統不被非授權訪問並避免可能的損失。Active Directory 可提供多方面的安全優勢。其中包括:
一次性登入到域
支援標準的 Internet 安全性通訊協定
能夠將域中使用者和對象的管理委派給他人
一次性登入
具有多目錄服務的 ASP 中,使用者和客戶訪問不同的網路資源可能需要進行多次登入。Active Directory 通過為資源的訪問提供一次性登入而改變了這種不必要的重複。一旦使用者登入到網域控制站,所有網路資源都會根據這次登入的結果而授權或拒絕訪問。一次性登入提供了安全的身分識別驗證,用於加密與網路之間的會話。登入過程通常使用 Kerberos 身分識別驗證協議,我們將在文章的後面討論該協議。由於在客戶或使用者登入時,資料安全就已啟動,所以一次性登入減小了破壞安全的威脅,因為客戶和使用者不需要去寫多個密碼。另外,由於所有的帳戶都統一在 Active Directory 中的一個地方,因此可對帳戶的管理具有更多的控制。
組策略繼承和本地設定
ASP 環境中的 AD 容器有一個階層。一些容器可認為是其它容器的“父”容器。組策略具有繼承性,即它可以從父容器傳遞給下面的子容器。當為父容器分配一個“組策略”時,該“組策略”也適用於父容器下面的所有容器。若更改子容器的設定,則可替代父容器傳遞下來的設定。如果子容器和父容器的“組策略”設定不相容,則不繼承父容器的設定,並且使用者只接收子容器的“組策略”設定。
在繼承過程中,可以對特定容器變更,它會自動影響所有下級容器及其對象。為了便於管理,推薦在進階別的容器(如進階別的檔案夾)上定義許可權。這樣,這些許可權將自動傳遞給該檔案夾內的對象。
支援 Internet 標準身分識別驗證協議
Active Directory 服務提供對幾種驗證方法的支援,如 Internet 標準協議 Kerberos、公開金鑰基本結構 (PKI) 以及加密通訊端協議層 (SSL) 上的輕量型目錄存取通訊協定 (LDAP)。對這些協議的支援意味著無論使用者是內部串連還是通過 網際網路連線,網路資源都能得到保護。
安全的身分識別驗證和網路通訊協定
Windows 通常使用 Windows NT LAN Manager (NTLM) 協議來進行網路身分識別驗證。ASP 可利用幾種增強驗證方法和網路通訊協定(如 Internet 標準協議 Kerberos、公開金鑰基本結構、使用 Ipsec 的虛擬私人網路 (VPN)、加密通訊端協議層 (SSL))來加強安全性。Windows 2000 提供對這些協議的支援。
Kerberos 身分識別驗證的優點:
快速串連。利用 Kerberos 身分識別驗證,伺服器不必轉向網域控制站。它可通過檢查客戶提供的憑據來驗證客戶的身份。客戶可一次獲得對特定伺服器的憑據並在整個 ASP 登入工作階段中重複使用。
相互身分識別驗證。NTLM 允許伺服器驗證其客戶的身份。它不允許客戶驗證伺服器的身份,也不允許一台伺服器驗證另一伺服器的身份。NTLM 身分識別驗證是為網路環境設計的,假定該環境中的伺服器是真實的。Kerberos 協議不做這種假設。網路連接兩端的 ASP 和客戶可以知道另一端的一方聲稱是什麼人。
委派的身分識別驗證。當代表客戶機訪問資源時,Windows 服務就類比成客戶機。許多情況下,服務可通過訪問本機電腦上的資源為客戶機完成其工作。NTLM 和 Kerberos 都可提供服務在本地類比其客戶機時需要的資訊。但是,一些分布式的應用程式是這樣設計的:當串連到其它電腦上的後端服務時,前端服務必須類比客戶機。Kerberos 協議有一個代理機制,允許當某個服務串連到其它服務時類比其客戶機。
公開金鑰基本結構 (PKI)
公開金鑰基本結構 (PKI) 是新出現的標準,適用於利用數位憑證來驗證使用者的身份。PKI 使用三種技術來提供避免安全破壞的保護:數位信封、數位簽章和數位憑證。這些技術經常用於 Extranet 和 ASP 解決方案。可使用 PKI 的例子有:
安全電子郵件
基於 PK 的安全電子郵件產品(包括 Microsoft Exchange),依靠 PK 技術完成:
數位簽章,用來證明電子郵件的來源和可靠性
沒有預先共用密碼的大量加密,用以保守通訊者之間的機密
操作中,這些系統利用使用者的私密金鑰為發出的電子郵件添加數位簽章。認證和電子郵件一起發送,這樣接收者可驗證該簽名。S/MIME 為這些認證定義一個設定檔以確保互通性,並採用一種層次模型來提供可伸縮的信任管理。若要對電子郵件加密,使用者可從以前的電子郵件或目錄服務中獲得接收方的加密認證。一旦驗證了該認證,使用者就可用所包含的公開金鑰對所用的祕密金鑰加密,從而實現對電子郵件的加密。
確認/加密檔案系統
Windows 2000 加密檔案系統 (EFS) 支援 Windows NT 檔案系統 (NTFS) 中在磁碟上儲存的檔案的透明加密和解密。使用者可指定要加密的個別檔案或需要對其內容保持加密格式的檔案夾。應用程式可以像訪問非加密檔案一樣訪問使用者的加密檔案。但是,它們無法對任何其他使用者的加密檔案進行解密。
PKI 和 UPN
Windows 2000 PKI 執行一項安全服務,該服務使用認證資訊來映射到儲存於 Active Directory 中的帳戶,以便確定已驗證身份的客戶的存取權限。該目錄操作可根據認證中的使用者主要名稱 (UPN) 來執行,或通過在目錄中搜尋與客戶認證中的屬性、頒發者或頒發者和主題匹配的帳戶來執行。如果 UPN 都不匹配,或者頒發者未被授權頒發域身分識別驗證的認證,則使用者可以登入。這樣,它就增強了登入的安全性。
通過 SSL 的安全 Web
加密通訊端協議層 (SSL) 協議依賴於基於 PK 的身分識別驗證技術,並使用基於 PK 的密鑰協商來為每個用戶端/伺服器會話產生唯一的加密金鑰。它們最常與基於 Web 的應用程式及 HTTP 協議(稱為 HTTPS)相關聯。
ASP 可通過使用加密的安全 SSL 通道,利用 SSL 協議進行保密的網路通訊。伺服器和用戶端針對要使用的密碼編譯演算法進行協商。它們還協商用於安全通訊的保密的共用工作階段密鑰。如果客戶沒有有效受信任的身分識別驗證認證(它可以降低拒絕服務的攻擊的風險),則 ASP 可用 SSL 來防止(可能的)客戶與 ASP 解決方案進行通訊。您還可以用 SSL 協議來保護所有 Web 通訊的通道,以保護機密資訊,例如個人資訊和信用卡號碼。
虛擬私人網路 (VPN)
VPN 技術使用了隧道協議,該協議可使 ASP 在公用 Internet 上建立專用資料網。換句話說,通過“共用管道”進行安全的隧道客戶通訊,VPN 能使 ASP 降低成本。