
清單 9. wsadmin 證書警告
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
./wsadmin.bat *** SSL SIGNER EXCHANGE PROMPT *** SSL signer from target host localhost is not found in trust store C:/IBM/WebSphere/AppServer/profiles/AppSrv02/etc/trust.p12 Here is the signer information (verify the digest value matches what is displayed at the server): Subject DN: CN=keysbotzum, O=IBM, C=US Issuer DN: CN=keysbotzum, O=IBM, C=US Serial number: 1151337276 Expires: Tue Jun 26 11:54:36 EDT 2007 SHA-1 Digest: 53:43:75:86:A8:C3:55:15:98:35:54:E7:49:B7:15:AF:16:A9:53:6F MD5 Digest: 29:36:B1:9C:22:5A:36:AD:78:B3:7E:FD:D3:B1:B4:19 Add signer to the trust store now? (y/n) |
即使您不採納這個建議,至少應該在第一次遇到警告時將證書導入客戶端信任存儲庫。如果再次看到這類消息,一定要查明原因!在證書發生更改之前,提示應該不會再次出現。如果出乎意外地出現提示,一定存在很嚴重的錯誤。
32. 考慮限制 HTTP 數據的大小

一種常見的拒絕服務 (DOS) 工具是嚮應用程序發送非常大的 HTTP 頭、很多 HTTP 頭或很大的請求正文。我們非常支持進行深度防禦。理想情況下,一個入侵檢測系統、一個防火牆、一個 WebSphere DataPower SOA Appliance,甚至是應用伺服器前面的 Web 伺服器,都應該保護您的 WebSphere Application Server,使它們遠離這些基於規模的 HTTP 攻擊。WebSphere Application Server 中還有一些控制項可保護它們遠離這些攻擊類型。
任何單個 HTTP 頭的默認最大大小為 32768 位元組。可以將它設置為不同的值。
HTTP 頭的默認最大數量為 50。可以將它設置為不同的限制值。
另一種常見的 DOS 攻擊是發送一個請求,這個請求會導致一個長期運行的 GET 請求。WebSphere Application Server Plug-in 中的 ServerIOTimeoutRetry 屬性可限制任何請求的重試數量。這可以降低這種長期運行的請求的影響。請參閱 信息中心 了解詳細信息。
如果您希望限制任何請求正文的最大大小,也可以對其進行設置。有關的詳細信息,請參閱 信息中心。
33. 謹慎地限制可信的簽署者

在使用證書身份驗證(客戶端或伺服器)時,需要了解信任存儲庫中的每個簽署者都代表一個可信的身份信息(證書)提供者。您信任的簽署者應該儘可能少。否則,兩個簽署者頒發的證書有可能映射到同一個用戶身份。這會在架構中造成嚴重的安全漏洞。
應該檢查客戶端和伺服器上的信任存儲庫,刪除任何不需要的簽署者。在默認情況下,信任存儲庫包含的可信簽署者比以前的版本少得多,這有助於提高默認情況下的安全性。但是,仍然有幾個簽署者問題可能需要解決:
在 V7 中,默認的計算單元信任存儲庫和 CMS 密鑰環文件包含一個 WebSphere DataPower 簽名證書,這意味著所有 DataPower 計算機都可以頒發應用伺服器所信任的證書。為了提高安全性,應該刪除它。在安裝最新的修復包後創建的 Truststore 和 CMS 密鑰環文件無需 DataPower 簽名證書即可創建。您應在 truststore 或密鑰環文件中檢查這個不必要的 DataPower 簽名文件,如果存在該文件則刪除它。
在 V8.0 和 V8.5 中,DataPower 簽名證書已從生成的 truststore 和 CMS 密鑰環文件刪除。
34. 強制 CSIv2 傳輸使用 SSL

(這一項默認情況下已在 V8 中解決,這是一項行為更改。因此,從更早的 WebSphere Application Server 版本遷移且未啟用 CSIv2 SSL 的用戶應該知道,SSL 身份驗證失敗可能在 V8 中引起問題。)
當 WebSphere Application Server 伺服器和客戶端使用 CSIv2 IIOP 進行通信時,它們會就傳輸安全性進行協商,選擇對雙方來說都可以接受的形式。一般來說,這是可行的,但應該注意一個潛在的漏洞。WebSphere Application Server 支持 CSIv2 over SSL 或明文。在默認情況下,雙方通常會協商使用 SSL,確保建立一個經過加密的通信通道。然而,如果在協商中有任意一方請求使用明文,則將使用明文。您甚至可能不會意識到通信流是以明文方式發送的!這種問題是有可能出現的,例如,如果某個客戶端配置出錯的話。如果想要(也應該)保證通信流是加密的,更保險的做法是確保始終使用 SSL。
通過在 CSlv2 入站傳輸面板中指明 SSL 是必需的而不是可選的,確保對 IIOP 使用 SSL。對 CSIv2 出站傳輸也應該這樣做(圖 17)。
圖 17. 配置只使用 SSL

這一項不適用於 V8.5 中的 Liberty 配置文件,因為沒有提供對 EJB 或 CSIv2 的支持。
35. 考慮埠過濾

有時候,希望根據網路信息限制誰可以連接。儘管這樣的配置對於安全性不一定有價值,但是為了提供完整的說明,這裡仍將對它們進行討論。WebSphere Application Server 中的大多數傳輸(IIOP 除外)使用 Channel Framework,因此可以使用包含或排除列表,根據 IP 地址或 DNS 名稱來過濾入站通信流。
圖 18. 埠過濾

警告:偽造 IP 地址是相當容易的,所以依靠 IP 地址保證安全性是不明智的。在應用層上根據 IP 地址進行過濾尤其不明智。更好的做法是裝備防火牆和交換機,識別來自無效 IP 地址的數據包。它們還可以檢查 MAC 地址。
36. 考慮在傳出 SSL 連接上執行主機名驗證

當一個 SSL 客戶端打開一個與 SSl 伺服器的 SSL 連接時,伺服器將它的證書發送給客戶端。預期結果是 SSL 伺服器的證書將在它的常用名中包含主機名。一些客戶端會確認所提供的證書上的常用名是否與 URL 中的主機名匹配(比如 Web 瀏覽器會執行此檢查)。這稱為主機名驗證。
在某些情況下,此驗證的一次失敗可能表明存在 SSL 中間人攻擊:
當證書由於是自簽名證書而受信任時,沒有必要執行主機名驗證。SSL 握手不會通過,除非提供的證書與受信任的證書完全匹配。
當證書由於是由一個受信任 CA 頒發而受信任時,MITM 攻擊者可以返回同一個受信任 CA 為它頒發的合法證書來代替真正的證書。假設 CA 沒有頒發多個具有相同 CN 的證書,那麼主機名驗證就可以檢測到 MITM 攻擊者。
要啟用主機名驗證,必須設置一個安全自定義屬性 com.ibm.ssl.performURLHostNameVerification=true。
RFC 2818 Section 3.1 Server Identity 中要求執行主機名驗證。總體來講:
如果 URI 被指定為一個 IP 地址,而不是主機名,那麼認證可在證書中使用 iPAddress subjectAltName 執行,並且必須與 URI 中的 IP 準確匹配。
如果 URI 是使用一個給定的 DNS 名稱指定的,那麼驗證可使用證書的 dNSName 類型的 subjectAltName 擴展(如果存在)來執行。否則,(最明確的方法)將使用證書的 Subject 欄位中的 Common Name 欄位。儘管現在的做法是使用 Common Name,但已不推薦使用它,建議證書頒發機構使用 dNSName。
匹配使用 RFC2459 所指定的匹配規則來執行。如果證書中存在多個具有給定類型的證書(例如,多個 dNSName 名稱),那麼任何集合中的匹配值均被視為可接受。)
設置此屬性時的考慮因素:
此屬性會影響計算單元中所有基於 URL 的通信流,包括 IIOP 和 WebSphere Application Server 內部通信。
在創建 WebSphere Application Server 配置文件期間,可以為配置文件配置節點的主機名。您可以覆蓋配置文件創建工具所確定的值。請確保它與主機名匹配。
如果您的系統是多宿主的,則具有多個主機名,請記住只會返回 SSL 配置的密鑰庫的默認證書的單個主機名。可以使用替代的主機名創建一個證書;在從一個 CA 獲取證書時,就可以這麼做。
換句話說,儘管啟用此屬性可加強針對中間人攻擊的安全防禦,您的 SSL 證書和主機名解析必須是無瑕疵的。如果不是,那麼您的計算單元將無法再通過 SSL 進行通信,因為內部通信可能使主機名驗證失敗。
37. 禁用不使用的埠

加強安全性的基本原則是使潛在攻擊的攻擊面最小化。當給定的服務沒有已知的安全問題時尤其應該這樣。如果該服務對系統的正常運轉是不必要的,則應該將其刪除,從而儘可能地降低攻擊者在將來的某個時候利用這個多餘的功能進行攻擊的可能性。查看圖 20,您會看到典型的 WebSphere Application Server 應用伺服器正在監聽大量埠。
圖 19. Network Deployment 應用伺服器的默認埠
以下文章點擊率最高
Loading…