HTTP 安全



HTTP 安全

HTTP 用於網際網路上的通訊,因此應用程式開發者、資訊提供者和使用者都應該瞭解 HTTP/1.1 中的安全限制。本文討論不包括此處提及問題的最終解決方案,但它確實提出了一些降低安全風險的建議。

個人資訊洩露

HTTP 客戶端通常可以訪問大量個人資訊,例如使用者的姓名、位置、郵件地址、密碼、加密金鑰等。因此,作為使用者,您需要非常小心,以防止透過 HTTP 協議意外洩露這些資訊到其他來源。

  • 所有機密資訊都應以加密形式儲存在伺服器端。

  • 洩露伺服器的特定軟體版本可能會使伺服器機器更容易受到針對已知包含安全漏洞的軟體的攻擊。

  • 充當網路防火牆門戶的代理伺服器應特別注意識別防火牆後主機的標頭資訊的傳輸。

  • 在表單欄位中傳送的資訊可能會與使用者的隱私利益或其網站的安全策略衝突。因此,在使用者能夠停用、啟用和修改欄位內容之前,不應傳輸該資訊。

  • 如果引用頁面是使用安全協議傳輸的,則客戶端不應在非安全 HTTP 請求中包含 Referer 標頭欄位。

  • 使用 HTTP 協議的服務的作者不應將基於 GET 的表單用於提交敏感資料,因為這會導致這些資料被編碼到 Request-URI 中。

基於檔案和路徑名稱的攻擊

文件應限於 HTTP 請求返回的文件,這些文件僅為伺服器管理員預期的文件。

例如,UNIX、Microsoft Windows 和其他作業系統使用 .. 作為路徑元件來指示高於當前目錄的目錄級別。在這樣的系統上,如果 HTTP 伺服器允許訪問 HTTP 伺服器以外的資源,則 HTTP 伺服器 MUST 禁止 Request-URI 中的任何此類構造。

DNS 欺騙

使用 HTTP 的客戶端嚴重依賴域名服務,因此通常容易受到基於 IP 地址和 DNS 名稱故意錯誤關聯的安全攻擊。客戶端需要謹慎地假設 IP 號碼/DNS 名稱關聯的持續有效性。

如果 HTTP 客戶端快取主機名查詢的結果以提高效能,則它們必須遵守 DNS 報告的 TTL 資訊。如果 HTTP 客戶端不遵守此規則,則當先前訪問的伺服器的 IP 地址更改時,它們可能會被欺騙。

位置標頭和欺騙

如果單個伺服器支援多個互不信任的組織,則它 MUST 檢查在這些組織控制下生成的響應中的 Location 和 Content-Location 標頭的值,以確保它們不會嘗試使它們無權訪問的資源無效。

身份驗證憑據

現有的 HTTP 客戶端和使用者代理通常無限期地保留身份驗證資訊。HTTP/1.1 沒有提供伺服器指示客戶端丟棄這些快取的憑據的方法,這是一個很大的安全風險。

建議在螢幕保護程式、空閒超時和其他減輕此問題固有安全問題的方法中使用密碼保護。

代理和快取

HTTP 代理是中間人,代表中間人攻擊的機會。代理可以訪問安全相關資訊、有關各個使用者和組織的個人資訊以及屬於使用者和內容提供者的專有資訊。

代理運營商應像保護任何包含或傳輸敏感資訊的系統一樣保護執行代理的系統。

快取代理提供了額外的潛在漏洞,因為快取的內容代表了惡意利用的有吸引力的目標。因此,應將快取內容保護為敏感資訊。

http_protocol_basics.htm
廣告