HTTP安全

2019-10-16 22:03:41

HTTP用於通過Internet進行通訊,因此應用程式開發人員,資訊提供者和使用者應該了解HTTP/1.1中的安全限制。此討論不包括此處提到的問題的最終解決方案,但它確實提出了一些降低安全風險的建議。

個人資訊洩露

HTTP用戶端通常能知道大量的個人資訊,例如使用者的姓名,位置,郵件地址,密碼,加密金鑰等。因此,作為使用者,您需要非常小心,以防止通過HTTP協定無意中洩露此資訊。

  • 所有機密資訊都應以加密形式儲存在伺服器端。
  • 顯示伺服器的特定軟體版本可能會使伺服器機器更容易受到已知包含安全漏洞的軟體的攻擊。
  • 通過網路防火牆充當門戶的代理應該採取特殊的預防措施來傳輸標識防火牆後面的主機的檔頭資訊。
  • 「表單」欄位中傳送的資訊可能與使用者的隱私權益或其站點的安全策略衝突。因此,如果使用者無法禁用,啟用和修改欄位內容,則不應傳輸它。
  • 如果參照頁面是使用安全協定傳輸的,則用戶端不應在非安全HTTP請求中包含Referer頭欄位。
  • 使用HTTP協定的服務的作者不應該使用基於GET的表單來提交敏感資料,因為這將導致這些資料在Request-URI中編碼。

基於檔案和路徑名的攻擊

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

例如,UNIX,Microsoft Windows和其他作業系統使用..作為路徑元件來指示當前級別之上的目錄級別。在這樣的系統上,HTTP伺服器必須禁止Request-URI中的任何此類構造,否則它將允許存取那些旨在通過HTTP伺服器存取的資源之外的資源。

DNS欺騙

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

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

位置檔頭和欺騙

如果單個伺服器支援多個不相互信任的組織,那麼它必須檢查在所述組織控制下生成的響應中的LocationContent-Location檔頭的值,以確保它們不會嘗試使資源無效。

身份驗證憑據

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

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

代理和快取

HTTP代理是中間人,代表了中間人攻擊的機會。代理可以存取與安全相關的資訊,個人使用者和組織的個人資訊以及屬於使用者和內容提供商的專有資訊。
代理運營商應該保護代理執行的系統,因為它們會保護包含或傳輸敏感資訊的任何系統。
快取代理提供了額外的潛在漏洞,因為快取的內容代表了惡意利用的有吸引力的目標。因此,快取內容應作為敏感資訊進行保護。