Show Menu
主題×

防止CSRF攻擊

CSRF攻擊的運作方式

跨網站要求偽造(CSRF)是一項網站弱點,有效使用者的瀏覽器可用來傳送惡意要求(可能是透過iFrame)。 由於瀏覽器會依網域傳送Cookie,因此,如果使用者目前已登入應用程式,使用者的資料可能會受到危害。
例如,假設您在瀏覽器中登入管理主控台。 您會收到包含連結的電子郵件訊息。 您按一下連結,會在瀏覽器中開啟新的標籤。 您開啟的頁面包含隱藏的iFrame,會使用已驗證的AEM表單工作階段中的Cookie,對表單伺服器提出惡意要求。 由於「使用者管理」會收到有效的Cookie,因此會傳遞請求。

如何允許參考者運作

AEM表格提供反向連結篩選,可協助防止CSRF攻擊。 以下是反向連結篩選的運作方式:
  1. Forms伺服器檢查用於調用的HTTP方法:
    • 如果是POST,表單伺服器將執行反向連結標題檢查。
    • 如果是GET,表單伺服器會繞過參考者檢查,除非CSRF_CHECK_GETS設定為true,否則它會執行參考者標頭檢查。 CSRF_CHECK_GETS是在應用程式的web.xml檔案中指定。 (請參閱「強化與安全性指南」中的「防止跨網站要求偽造 攻擊」 )。
  2. Forms伺服器檢查是否允許列出請求的URI:
    • 如果允許列出URI,則伺服器會傳遞請求。
    • 如果未列出請求的URI,則伺服器將檢索請求的引用器。
  3. 如果請求中有參考,伺服器會檢查它是否為允許的參考。 如果允許,則伺服器會檢查是否有引用者例外:
    • 如果是例外,則會封鎖請求。
    • 如果不是例外,則會傳遞請求。
  4. 如果請求中沒有引用器,伺服器會檢查是否允許空引用器。
    • 如果允許空引用,則會傳遞請求。
    • 如果不允許空引用,伺服器會檢查請求的URI是否為空引用的例外,並相應地處理請求。

設定允許的參考者

運行Configuration Manager時,預設主機和IP地址或表單伺服器將添加到「允許的引用」清單中。 您可以在管理控制台中編輯此清單。
  1. 在管理控制台中,按一下「設定>使用者管理>設定>設定允許的參考URL」。 「允許的參考」清單會顯示在頁面底部。
  2. 若要新增允許的參考者:
    • 在「允許的參考」方塊中輸入主機名稱或IP位址。 要一次添加多個允許的引用器,請在新行上鍵入每個主機名或IP地址。
    • 在「HTTP埠」和「HTTPS埠」框中,指定允許HTTP、HTTPS或兩者的埠。 如果保留這些框為空,則使用預設埠(HTTP的埠80和HTTPS的埠443)。 如果在框 0 中輸入(零),則該伺服器上的所有埠都將啟用。 您也可以輸入特定的埠號,以僅啟用該埠。
    • 按一下「新增」。
  3. 要從「允許的引用」清單中刪除條目,請從清單中選擇項,然後按一下「刪除」。
    如果「允許的參考者清單」為空白,CSRF功能就會停止運作,而且系統會變得不安全。
  4. 變更「允許的參考者」清單後,請重新啟動AEM表單伺服器。