HTTP用於通過Internet進行通訊,因此應用程式開發人員,資訊提供者和使用者應該了解HTTP/1.1
中的安全限制。此討論不包括此處提到的問題的最終解決方案,但它確實提出了一些降低安全風險的建議。
HTTP用戶端通常能知道大量的個人資訊,例如使用者的姓名,位置,郵件地址,密碼,加密金鑰等。因此,作為使用者,您需要非常小心,以防止通過HTTP協定無意中洩露此資訊。
Referer
頭欄位。GET
的表單來提交敏感資料,因為這將導致這些資料在Request-URI
中編碼。該文件應限制為HTTP請求返回的文件,僅限於伺服器管理員預期的文件。
例如,UNIX,Microsoft Windows和其他作業系統使用..
作為路徑元件來指示當前級別之上的目錄級別。在這樣的系統上,HTTP伺服器必須禁止Request-URI
中的任何此類構造,否則它將允許存取那些旨在通過HTTP伺服器存取的資源之外的資源。
使用HTTP的用戶端嚴重依賴於域名服務,因此通常容易受到基於故意錯誤關聯IP地址和DNS名稱的安全攻擊。客戶在假設IP號碼/DNS名稱關聯的持續有效性時需要謹慎。
如果HTTP用戶端快取主機名查詢的結果以實現效能改進,則必須遵守DNS報告的TTL資訊。如果HTTP用戶端不遵守此規則,則在先前存取的伺服器的IP地址更改時,它們可能會被欺騙。
如果單個伺服器支援多個不相互信任的組織,那麼它必須檢查在所述組織控制下生成的響應中的Location
和Content-Location
檔頭的值,以確保它們不會嘗試使資源無效。
現有的HTTP用戶端和使用者代理通常會無限期地保留身份驗證資訊。HTTP/1.1
不提供伺服器指示用戶端丟棄這些快取憑據的方法,這是一個很大的安全風險。
建議在螢幕保護程式,空閒超時和其他方法中使用密碼保護,以減輕此問題中固有的安全問題。
HTTP代理是中間人,代表了中間人攻擊的機會。代理可以存取與安全相關的資訊,個人使用者和組織的個人資訊以及屬於使用者和內容提供商的專有資訊。
代理運營商應該保護代理執行的系統,因為它們會保護包含或傳輸敏感資訊的任何系統。
快取代理提供了額外的潛在漏洞,因為快取的內容代表了惡意利用的有吸引力的目標。因此,快取內容應作為敏感資訊進行保護。