国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Q & A: WebSphere Application Server 常見安全性問題 -...
 注冊表

  1. WebSphere Application Server 何時聯(lián)系注冊表獲取用戶信息?

  WebSphere Application Server 查詢注冊表以獲取用戶信息和管理操作。因此,為使 WebSphere Application Server 單元能夠運行,注冊表必須近乎 100% 可用。

  下面是 WebSphere Application Server 聯(lián)系注冊表的原因:

  當(dāng)用戶進行身份驗證時(密碼或憑證,且不需要 Web SSO 代理)。在下面幾種情況下 WebSphere Application Server 可能要查詢注冊表:

  檢查用戶的密碼時。

  將憑證信息映射到 userid 時。

  將 userid 轉(zhuǎn)換為注冊表 uniqueid(例如,LDAP DN)時。

  獲取組信息時。

  首次將一個 LTPA 令牌傳遞給服務(wù)器時。 即使首次(例如,由 WebSEAL 或 IIOP 通信流)將一個 Lightweight Third Party Authentication (LTPA) 令牌傳遞給一個服務(wù)器,WebSphere Application Server 仍然會獲取組信息,因為 LTPA 令牌僅包含用戶的可分辨名稱(DN)。這同樣適用于 Trust Association Interceptors (TAIs) ,因為它們通常只提供 userid。如果使用 WebSphere Application Server V5.1.1,并啟用主題傳播以及 TAI 或登錄模塊項目組信息(WebSphere Application Server V5.1.1 中新的 WebSEAL TAI 就會這么做),這時 WebSphere Application Server 就不會查詢該用戶的用戶群信息的 LDAP。

  如果主題傳播失敗。即使啟用了主題傳播,假如主題傳播失?。ɡ?,服務(wù)器出現(xiàn)故障),那么 WebSphere Application Server 會嘗試重新創(chuàng)建主題,除非已經(jīng)設(shè)定了自定義緩存鍵。

  當(dāng)用戶為獲得管理操作而進行身份驗證時(Web、JMX 等)。

  凡在應(yīng)用程序啟動時,都對照注冊表來驗證角色綁定。

  管理員在管理控制臺設(shè)置綁定信息時。

  2. WebSphere Application Server 能與 NIS 一同使用嗎?

  WebSphere Application Server 不直接支持 NIS (Network Information Service) 進行身份驗證。它支持 LDAP、OS 和自定義設(shè)置。在運行 UNIX 操作系統(tǒng)時,WebSphere Application Server 使用標(biāo)準(zhǔn)的 UNIX 密碼 APIs(getpw* 等)來驗證用戶密碼(這種情況下,WebSphere Application Server 必須作為根運行)。如果這些 APIs 調(diào)用 NIS,WebSphere Application Server 會使用 NIS 進行身份驗證,不過這對 WebSphere Application Server 是透明的。然而,在 UNIX 上使用 OS 注冊表時,多節(jié)點單元就不受支持。

  也許可以編寫一個自定義注冊表來使用 NIS。

  大部分情況下,這個問題的答案是否定的。

  3. 如果我想在 Windows 環(huán)境中使用非管理員帳戶啟用安全性,應(yīng)該怎么做?

  在以非管理員身份運行 WebSphere Application Server 進程時,如果啟用了全局安全性,用戶注冊表必須是 LDAP 或自定義注冊表。

  要使用 Local OS 用戶注冊表,產(chǎn)品進程運行所屬的用戶必須有 Administrative 和 Act 作為操作系統(tǒng)權(quán)限的一部分,以調(diào)用驗證或收集用戶和組信息的 Windows 操作系統(tǒng)。該進程需要由這些權(quán)限提供的特殊授權(quán)。本例中的用戶不應(yīng)該與安全服務(wù)器 ID(要求使用注冊表中的有效用戶)相同。該用戶登錄到計算機(如果使用命令行啟動產(chǎn)品進程)或服務(wù)面板中的 Log On User 設(shè)置(如果使用服務(wù)啟動產(chǎn)品進程)。如果計算機也是域的一部分,除了將 Act 作為本地計算機中操作系統(tǒng)權(quán)限的一部分之外,該用戶應(yīng)該是域中 Domain Admin 組的一部分,可以調(diào)用域中的操作系統(tǒng) APIs。

  4. 如果我想在 UNIX® 環(huán)境中使用非根服務(wù)器 ID 啟用安全性,應(yīng)該怎么做?

  在將 WebSphere Application Server 作為非根運行時,如果啟用了全局安全性,用戶注冊表必須是 LDAP 或自定義注冊表。

  要使用 Local OS 用戶注冊表,產(chǎn)品進程運行所屬的用戶必須擁有根權(quán)限。需要使用該權(quán)限調(diào)用 UNIX 操作系統(tǒng) APIs 來進行身份驗證或收集用戶和組信息。該進程需要由這些根權(quán)限提供的特殊授權(quán)。要使用 Local OS 用戶注冊表,需要將節(jié)點代理、部署管理器和應(yīng)用程序服務(wù)器進程作為根運行。

  5. Local OS 身份驗證在分布式環(huán)境中可行嗎?

  在 WebSphere Application Server Network Deployment 中,如果應(yīng)用程序服務(wù)器節(jié)點分布在多個虛擬服務(wù)器上,這時就不能使用 Local OS 身份驗證。在這個環(huán)境中必須使用 LDAP 或自定義注冊表。不過有一個例外:Windows 域注冊表是一個集中式注冊表,因而可在這種情形下使用。注意,雖然 NIS 從技術(shù)上講是一個集中式注冊表,但是它不適合在 WebSphere Application Server Network Deployment 中使用。

  6. 我的用戶們通過一個 userid 進行身份驗證,我想從 LDAP 上使用另一個 ID 鑒定它們,這可行嗎?

  這可以通過配置 WebSphere Application Server 來實現(xiàn)。假定每個用戶的 LDAP 條目有一個屬性,該屬性包含可用于第二個 userid 的字符串。例如,這個屬性名為 myname。再假定用作身份驗證的 userid 包含于一個名為 uid 的 LDAP 屬性中。

  在 WebSphere Application Server LDAP 配置(從管理控制臺中,單擊 Security > User Registries > LDAP > Advanced LDAP Settings)中,將 User ID 映射字段從 *:uid 改為 *:myname。這實際上告訴 WebSphere Application Server 將返回應(yīng)用程序的 J2EE 主體設(shè)置為 myname LDAP 屬性的值。WebSphere Application Server 通常會返回用于登錄的同一個 userid。

  舉例來說,假定用戶的 LDAP 條目含有以下屬性/值對:uid=dale.sue.ping,myname=sueping。

  完成上述 WebSphere Application Server LDAP 配置更改后,用戶會使用 dale.sue.ping 的 userid 登錄,通過 WebSphere Application Server/LDAP 驗證身份,成功驗證之后,WebSphere Application Server 會將 J2EE 主體設(shè)置為 sueping。

  如果應(yīng)用程序能夠提取 J2EE 主體,該應(yīng)用程序會將用戶看作 “sueping” 而非 “dale.sue.ping”。

  7. 使用聯(lián)合存儲庫時,有辦法能確保我的文件存儲庫在 LDAP 服務(wù)器出現(xiàn)故障時仍能繼續(xù)運行嗎?

  是的,有一個配置選項能在其他注冊表出現(xiàn)故障時繼續(xù)驗證過程,只要在仍然正常運行的其中一個注冊表中找到 ID。能夠?qū)崿F(xiàn)該功能的聯(lián)合存儲庫配置命令是:

  $AdminTask createIdMgrRealm -name ibmRealm -allowOperationIfReposDown true

  身份驗證

  8. 在 WebSphere Application Server 應(yīng)用程序中使用表單架構(gòu)登錄時,我為什么需要啟用 SSO?

  通過啟用 SSO,WebSphere Application Server 能在不同的 Web 請求間將用戶狀態(tài)保持為 LTPA cookie。如果不啟用 SSO,每個請求都需要驗證。如果選擇使用表單架構(gòu)登錄,一旦表單完成驗證,用戶會重定向回最初請求的 URL。沒有 SSO,用戶的身份驗證信息會丟失,且授權(quán)會失敗。在使用基本身份驗證時看不到這種現(xiàn)象,因為身份驗證信息存在于每個 HTTP 請求中,WebSphere Application Server 會在需要時使用它(這確實對安全性和性能都有影響)。

  9. 我想強制用戶在定期的 “不活動超時” 之后重新登錄。對于會話超時和 LTPA 超時,WebSphere Application Server 應(yīng)當(dāng)如何處理?

  WebSphere Application Server LTPA 令牌根據(jù)登錄會話的生存期終止,而不以不活動性為基準(zhǔn)。因此,如果用戶有一段時間不執(zhí)行任何操作,Application Server 登錄會話不會終止。不過,HTTPSession 確實基于不活動性終止。如果您需要基于閑置狀態(tài)終止應(yīng)用程序的使用,就必須在應(yīng)用程序中用代碼明確地表示出來。您可以在用戶攜帶到期會話(實際上是一個新的會話)時捕捉該會話,如果認(rèn)為有必要,就強制他們重新登錄。 記住,這樣做會破壞應(yīng)用程序間的單點登錄。

  第二種方法僅對第一種方法做細(xì)微修改,即在發(fā)生最后一個客戶請求時使用 HTTPSession.getLastAccessTime() 來計算。如果時間在很久以前,當(dāng)然就可以停止訪問并強制使用新的身份驗證。

  兩種方法都不能通過使用 servlet 篩選器變得對應(yīng)用程序代碼透明。

  應(yīng)該注意到,IBM Tivoli® Access Manager 提供基于生命期和閑置狀態(tài)的身份認(rèn)證會話超時設(shè)置。

  用戶常常會問,為什么 WebSphere Application Server 這樣運作。為什么它不能將閑置登錄會話看作超時對待?原因在于 WebSphere Application Server 基本上是一個松耦合的分布式系統(tǒng)。參與一個 SSO 域的應(yīng)用程序服務(wù)器不需要互相通信。它們甚至不需要位于同一個單元。因此,如果您想限制一個 LTPA 令牌(又叫 SSO 令牌)的閑置生命期,就需要通過最后使用時間對每個請求(或一分鐘間隔期間看到的第一個請求)更新令牌本身。這意味著,令牌自身會頻繁變化(即,瀏覽器會頻繁接受新 cookies),且 WebSphere Application Server 需要解密并檢驗看到的入站令牌,以對它進行驗證。這樣做開銷很大(如今的 WebSphere Application Server 僅在第一次在應(yīng)用程序服務(wù)器上使用令牌時對其進行驗證)。不可能通過智能緩存來解決這些問題,不過這不是 WebSphere Application Server 目前的運作方式。

  10. 有方法能避免我的 LTPA 密鑰在單元之間變得不同步嗎?

  是的。WebSphere Application Server V6.1 引入了一個默認(rèn)啟用的特性,它能自動重新生成 LTPA 密鑰。雖然這是個可進行簡單單元配置的不錯的特性,但是任何擁有多個單元且需要 LTPA 密鑰在單元之間同步的用戶都應(yīng)該為 LTPA 禁用這個特性。在 WebSphere Application Server V7 中,這個特性在默認(rèn)情況下是不啟用的, 且在 V6.1.0.23 中,對于創(chuàng)建的任何新配置文件,該特性在默認(rèn)情況下都是不啟用的。

  11. WebSphere Application Server 單元能跨多個 DNS 域嗎?

  如果是 WebSphere Application Server V6 之前的版本,該問題的答案就是否定的。因為當(dāng)您配置 WebSphere Application Server 安全性時,需要指定的其中一項是 LTPA 令牌 SSO 域。如果將其留為空白,LTPA 令牌/cookie 域被設(shè)為空白,這表示,cookie 只返回到了同一主機。如果指定一個值,cookie 域也相應(yīng)地設(shè)為該值,那么 cookie 就會返回到同一 DNS 域內(nèi)的所有主機。這是 HTTP 規(guī)范需要的行為。問題在于,如果您的單元(或?qū)嶋H上是 Web 服務(wù)器)為多個 DNS 域提供請求,因此沒有辦法指定多個域。與 WebSphere Application Server V6 一樣,為 WebSphere Application Server 指定的 SSO 域值包含多個 DNS 域?,F(xiàn)在,指定需要的所有域。WebSphere Application Server 創(chuàng)建 cookie 時,它會將 cookie 的域值(HTTP 規(guī)范只允許設(shè)置一個值)設(shè)置為來自入站請求、與其中一個已配置域匹配的值。

  有效域名類似于 ibm.com 和 tx.gov。 無效域名類似于 ibmus 和 state_tx.gov。有些用戶遇到過這樣一個 Internet Explorer (IE) 問題,即當(dāng)在 SSO 域字段中定義的域小于 5 個字符時,IE 5 和 IE 6 似乎不接受 LTPA 令牌,除了類似 “cn.ca” 這樣的域。

  12. 為什么不推薦使用 SWAM?

  Simple WebSphere Authentication Mechanism (SWAM) 專為簡單、非分布式的單一應(yīng)用程序服務(wù)器運行時環(huán)境設(shè)計。進行單一應(yīng)用程序服務(wù)器限制的原因是 SWAM 不支持可遷移憑證。也就是說,如果一個應(yīng)用程序服務(wù)器進程中的一個 servlet 或企業(yè) bean 調(diào)用另一個應(yīng)用程序服務(wù)器進程中的企業(yè) bean 上的遠(yuǎn)程方法,不會將調(diào)用方身份傳輸?shù)降诙€服務(wù)器進程。所傳輸?shù)氖且粋€未經(jīng)驗證的憑證,根據(jù) EJB 方法上配置的安全許可,這可能會導(dǎo)致授權(quán)失敗。

  在 WebSphere Application Server 基礎(chǔ)版中,SWAM 可用作一個身份驗證機制。WebSphere Application Server Network Deployment V5.0 不支持 SWAM。不過在基礎(chǔ)版中也不推薦使用它,因為它依賴于 HTTP Session 對象來保持用戶狀態(tài),這會產(chǎn)生問題,因為 HTTP Session 層不是安全基礎(chǔ)設(shè)施的一部分。

  13. 我什么時候應(yīng)該使用自定義登錄模塊(而非 TAI)來斷定身份信息?

  注意:如果一個用戶已經(jīng)由 WebSphere Application Server 以外的一些身份驗證系統(tǒng)進行了驗證,就可以告知 WebSphere Application Server 用戶的身份信息,而不需要重新驗證。這就是所謂的身份斷言。

表 1. 登錄模塊 vs. TAI

 

特性 登錄模塊 TAI
IBM 專有 否,但是不管怎樣都需要 WebSphere Application Server 特定代碼
易于使用 較難 較簡單
多相身份驗證
降低 Web 登錄難題
可用作 Web 調(diào)用
可用作 RMI 調(diào)用
為傳播登錄而被(重)調(diào)用

 

  其他安全性問題

  14. 我如何在不引起服務(wù)器中斷的前提下更改我的密碼(數(shù)據(jù)庫、LDAP 等)?

  交替使用一對 userids,比如 useridA 和 useridB,并假定目前在使用 useridA 運行。

  為 useridB 設(shè)置新密碼。

  每次使用 useridA 時都將其改為帶新密碼的 useridB。這有助于在此處保持良好的文檔記錄。

  輪流循環(huán)集群中的每個服務(wù)器,這樣就會始終有節(jié)點在運行。

  為 useridA 設(shè)置新密碼。如果在第 3 步中漏掉了一些設(shè)置,它會中斷,但不會影響其他得到正確更改的項。

  下次更改密碼時,將 useridB 更改回 useridA。

  由于兩個用戶名/密碼組合在轉(zhuǎn)換過程中均有效,所以不必?fù)?dān)心同步問題。

  15. WebSphere Application Server 專有擴展能為 J2EE™ 安全性提供什么選項?

  LTPA 令牌是不標(biāo)準(zhǔn)的,它僅僅是一個憑證/令牌,且不影響應(yīng)用程序開發(fā)團隊。

  在用戶登出時重定向到 ibm_security_logout URL 來刪除 LTPA 令牌。

  WSSubject、WSCredential 和 WSPrincipal 是標(biāo)準(zhǔn) J2EE Subject、Credential 和 Principal 類的 IBM 擴展。由于標(biāo)準(zhǔn)類存在缺陷,所以在某些情況下會用到它們。

  Trust Association Interceptors (TAI) 常用作與 SSO 代理(WebSEAL、ClearTrust、Siteminder 等)的 WebSphere Application Server 接口。這也只是身份驗證層,不會影響應(yīng)用程序便攜性,只是如果您移動到另一個 J2EE 容器,必須要確保在 SSO 代理與 WebSphere Application Server 之間有一個類似的接口。如果您的開發(fā)人員在使用 SSO 特定于代理的 APIs,一定要留心。

  Custom User Registry (CUR) 也只是一個集成層,它面向那些正在使用其中一種標(biāo)準(zhǔn)的 WebSphere Application Server 注冊表類型(操作系統(tǒng),LDAP)或以非標(biāo)準(zhǔn)方式使用它們的用戶。

  Java 2 Security Policy Files 包含對標(biāo)準(zhǔn)的一些細(xì)微擴展。它們也是基礎(chǔ)設(shè)施,而不是應(yīng)用程序代碼的一部分,不過 was.policy 文件包含在 EAR 文件中。

  WebSphere Application Server Administrative APIs 是 API 形式的 WebSphere Application Server 管理設(shè)施,可從應(yīng)用程序調(diào)用它們。有些可以使用 JMX 標(biāo)準(zhǔn),其他 APIs 是特定于 WebSphere Application Server 的。在業(yè)務(wù)應(yīng)用程序中不太可能(且應(yīng)該禁止)使用它們,不過也應(yīng)記住這些,以防在編寫管理應(yīng)用程序時用到。

  wsadmin scripting 從技術(shù)上講也不是業(yè)務(wù)應(yīng)用程序的一部分,但要記住,如果想移植到另一個產(chǎn)品,為 admin 函數(shù)所寫的腳本必須重寫。對于像部署這樣的任務(wù),最好使用像 Ant 這樣的開放標(biāo)準(zhǔn)。要注意,隨 WebSphere Application Server、IBM WebSphere Studio Application Developer 和 IBM Rational® Application Developer 一同出現(xiàn)的一些 Ant 命令是特定于 IBM 的。

  要記住,還存在其他一些不屬于安全性一部分的專有 APIs,比如用于命令的動態(tài)緩存 APIs、Java 對象緩存和 JMS 之外的 WebSphereMQ 調(diào)用。

  16. WebSphere Application Server 存儲 XOR 加密的密碼。我想使用更強大的密碼保護。我能做些什么?

  在 WebSphere Application Server V6.0.2 之前的版本中,一般來說對此無能為力。如果您不喜歡 WebSphere Application Server 為 J2C 資源存儲密碼的方式,您可以編寫自定義 J2C 登錄模塊來從 WebSphere Application Server 以外的源獲取密碼,但這對于 WebSphere Application Server 使用的其他密碼不管用,比如 LDAP 綁定、WebSphere Application Server 管理,等等。

  實際上您可以使用 WebSphere Application Server V6.0.2 配置自定義的密碼編碼器,從而實現(xiàn)您認(rèn)為合適的任何保護。為此,您要實現(xiàn)插件接口(com.ibm.wsspi.security.crypto.CustomPasswordEncryption)然后在 security.xml 中指定兩個自定義安全屬性。您還可在 PropFilePasswordEncoder.bat/sh 中設(shè)置這些。這兩個屬性是:

  com.ibm.wsspi.security.crypto.customPasswordEncryptionClass

  com.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled

  17. 我如何調(diào)試 Java™ 2 安全性異常和 AccessControlExceptions?

  有兩個主要輔助工具,WebSphere SystemOut.log 文件和 com.ibm.websphere.java2secman.norethrow 屬性。在 SystemOut.log 日志文件中記錄的 AccessControlException 包含造成異常的許可沖突,該異常調(diào)用堆棧和授予每個堆棧幀的許可。這個信息通常就足以確定丟失的許可和需要許可的代碼。

  在 WebSphere Application Server 中啟用 Java 2 安全性后,安全管理器組件會在發(fā)生許可沖突時拋出一個 java.security.AccessControl 異常。如果不處理這個異常,常常會導(dǎo)致運行時故障。這個異常也在 SystemOut.log 日志文件中有記錄。

  然而,當(dāng) JVM com.ibm.websphere.java2secman.norethrow 屬性得到設(shè)置且值為真時,安全管理器不拋出 AccessControl 異常。該信息會被記入日志文件。

  要為服務(wù)器設(shè)置 com.ibm.websphere.java2secman.norethrow 屬性,轉(zhuǎn)至 WebSphere Application Server 管理控制臺并選擇 Servers > Application Servers。在 Additional Properties 下單擊 Process Definition > Java Virtual Machine > Custom Properties > New。在 Name 字段中,輸入 com.ibm.websphere.java2secman.norethrow。在 Value 字段中,輸入 true。

  18. 關(guān)于如何使用 WebSphere Application Server 對 Microsoft Active Directory 進行最佳配置,有任何文檔可供參考嗎?

  是的,我們最近根據(jù)我們的 IBM Software Services for WebSphere 團隊處理客戶問題時得到的經(jīng)驗添加了一些幫助提示。

  結(jié)束語

  如果這里沒有回答您最關(guān)注的安全性問題,請務(wù)必查看下面的 參考資料(http://www.ibm.com/developerworks/cn/websphere/techjournal/1003_botzum/1003_botzum.html#resources),特別是 developerWorks 上新的 WebSphere Application Server 安全性 資源頁面,這里會不斷聚焦有關(guān) WebSphere Application Server 安全性最值得關(guān)注的一些資料。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
電子平臺J2EE的安全體系
IBMPortal與單點登錄、集成企業(yè)級應(yīng)用
IBM WebSphere 開發(fā)者技術(shù)期刊: 使用 WebSphere Application Server V6.1 中的聯(lián)合存儲庫擴展用戶注冊表選項
將 IBM Rational ClearCase 服務(wù)器遷移到一個新的 Windows 域
RFID - 物理世界與IT系統(tǒng)的橋梁
Apache與Tomcat的區(qū)別 ,幾種長見得web/應(yīng)用服務(wù)器 - limingbupt...
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服