Spring 團隊開源 nohttp 項目,用以查找、替換和阻止 http:// 的使用。spring
項目是爲了在可能使用 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"?> <beans xmlns="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 從新構建了全部構建基礎架構並輪換了全部憑據。gradle
這些安全措施是很重要的,可是 ROB 表示安全控制措施到位也很重要,這能夠確保問題再也不發生。因而團隊更新了構建箱以阻止 HTTP 流量,同時爲了保護開發人員和用戶,建立了 nohttp 項目。命令行
nohttp 可用於查找、替換和阻止 http:// 的使用,項目庫包含了幾大模塊:code