2015-12-22 24 views
2

我工作的應用程序中,用戶可以通過將其加載到iframe中將其網站嵌入到周圍內容中。這顯然依賴於未在用戶網站上設置的X-Frame-Options來工作。我被客戶要求創建一個反向代理,因爲他們不想爲了安全考慮從他們的站點中刪除X-Frame-Options頭。X-Frame-Options標題有什麼意義?

我設置了代理,一切正常,但是如果X-Frame-Options頭像創建代理一樣簡單,那麼X-Frame-Options頭又有什麼意義呢?

我知道標題存在,以防止點擊劫持,但如果任何人都可以做一個代理來解決它......它真的增加了安全性嗎?

我不是來自企業開發世界,你能幫我理解IT部門爲什麼會抵制刪除標題的原因嗎?

我注意到google.com和facebook.com也設置了標題,所以它不可能完全沒有意義嗎?

感謝

回答

2

任何網站通過HTTP可以有它的內容例如通過使用代理改變。所以,對於http網站來說,這是相當無意義的,因爲它很容易被擊敗。

通過https服務一個站點可以防止這種情況發生,除非您有代理服務器也攔截https流量。這隻有通過代理充當中間人(MITM)才能實現,因此它可以在代理上解密流量,然後重新加密流量以發送到服務器,並返回相同的流量。爲此,代理服務器或者需要知道服務器私鑰,或者更可能用其自己的副本替換呈現給其客戶端的證書。

雖然MITM通常用在某些正當的情況下攻擊相關的(儘管許多人認爲,即使這些都不是合法的,HTTPS應該是安全的!):

  1. 防病毒軟件可以做到這一點的掃描請求保護你的電腦。例如,如果您運行Avast並啓用了SSL掃描(認爲它默認情況下已啓用),並轉至https://www.google.com並查看證書,您會發現它已由Avast發佈,而不是像往常一樣由Google發佈。要做到這一點,需要防病毒軟件在您的PC上安裝一個發行者證書,從中發佈這些替代證書,您的瀏覽器仍然可以接受這些證書作爲真正的證書。安裝此頒發者證書需要您在安裝防病毒軟件時臨時給予的管理員訪問權限。

  2. 公司代理也執行類似的流程,以允許他們監控來自員工的https流量。同樣需要使用管理員權限在PC上安裝發行人。

所以基本上這是唯一可能像你建議HTTPS流量使用代理服務器,如果你已經有了,或曾在過去,在PC管理員權限 - 在這種情況下,所有的賭注都關閉反正。

唯一的另一種方法是使用代理將流量保持在http上。例如,如果您請求www.google.com,那麼這通常會重定向到https://www.google.com,但您的代理可以攔截該重定向請求,而不是保持https上的客戶端 - >代理連接,從而允許代理修改請求去除標頭。這取決於用戶不輸入https,沒注意到有沒有綠色的掛鎖,並能與像HSTS技術(在某些瀏覽器自動預裝了一些網站如google.com)被擊敗。因此,攔截流量並非真正可靠的方法。

2

許多安全網站上使用的X架,選項以防止點擊劫持

這可以防止攻擊者從執行動作欺騙,通過透明層的用戶,他們不知道的關於他們甚至不知道他們加載的網站。此外,此攻擊僅適用於在用戶瀏覽器中直接從受攻擊/受害者站點的域中提供的框架。

你可能會認爲你可以反向代理網站並刪除框架破壞標題。但是,您的代理沒有收到或發送最終用戶cookie到受害者站點。這些安全站點依賴於活動會話,因此會將來自代理的請求解釋爲來自未經身份驗證的用戶,完全破壞點擊劫持點。