Spring 團隊開源 nohttp 計畫,用以尋找、替換和阻止
http://
的使用。
計畫是為了在可能使用 https:// 的情況下不使用到 http://,確保不會發生中間人攻擊。
Spring Security、Session 和 LDAP 計畫負責人 ROB WINCH 指出,Spring 團隊竭盡全力更新所有 URL 以使用 HTTPS,包括計畫 Maven 儲存庫 URL、Apache License 與文件連結。
但是有些情況下確實無法使用 HTTPS,例如,Spring 連結的某些站點不支持 HTTPS、XML 名稱空間識別元必須與文件中的識別元匹配等。
Spring Framework 目前已經更新,以解析透過類路徑使用 HTTPS 位置的 XML 位置。以往這僅適用於使用 HTTP 的 URL。
<?xml version="1.0" encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
上邊
https://www.springframework.org/schema/beans/spring-beans.xsd
URL 透過類路徑解析,而不需要網路連線。
這裏 XML 名稱空間名稱(識別元)無法更改為使用 HTTPS。從安全控制的角度來看,這其實並不理想,但因為不透過網路請求,所以對使用者幾乎沒有任何傷害。
另一方面,ROB 表示 Spring 團隊已更新所有主機以確保使用 HTTPS,每個站點都支持 HTTPS、重新導向到 HTTPS,並使用 Strict Transport Security。
以往潛在的中間人攻擊意味著構建基礎架構可能已經受到損害,為此,Spring 重新構建了所有構建基礎架構並輪換了所有憑據。
這些安全措施是很重要的,但是 ROB 表示安全控制措施到位也很重要,這可以確保問題不再發生。於是團隊更新了構建箱以阻止 HTTP 流量,同時為了保護開發人員和使用者,建立了 nohttp 計畫。
nohttp 可用於尋找、替換和阻止 http:// 的使用
# 計畫庫包含了幾大模組:
nohttp - 核心,允許尋找和替換 http:// URL
nohttp-cli - 輕量的 nohttp 封裝,用於命令列執行
nohttp-check style - nohttp 與 check style 整合
nohttp-gradle - nohttp 與 Gradle 整合
samples - 一些 nohttp 用例
# 詳情檢視計畫介紹:
https://github.com/spring-io/nohttp
熱門推薦