Leo Yeh's Blog

SAS 系統管理 (76)

教學目標

初步了解 SAS 系統安全過濾白名單相關設定的基本概念。

重點概念

首先若我們要將 SAS 系統整合企業的入口網站時,則要確認是否有將企業的入口網站加入至網站白名單中,否則會出現已封鎖此 URL,因為其來自未受信任的網站,這可能是企圖惡意破壞的錯誤訊息。主要是從 SAS 9.4 M3 版本開始,我們就必須將透過 URL 直接連結至 SAS 網站應用程式的相關網站加入至允許網站的白名單或安全過濾器中,預設僅會包括 SAS 應用程式,以利防止跨網站偽造請求的資安攻擊。此時我們主要是開啟 SAS Management Console 工具,點選「應用程式管理」->「設定管理員」,在「SAS 應用程式基礎架構」上按右鍵選擇「屬性」,切換至「進階」頁籤,以利修改或新增屬性值,分別為:

  1. sas.web.csrf.referers.allowNull
  2. sas.web.csrf.referers.blacklist
  3. sas.web.csrf.referers.knownHosts
  4. sas.web.csrf.referers.skipMethods
  5. sas.web.csrf.referers.performCheck

其中我們若將 sas.web.csrf.referers.performCheck 屬性設為 false,則代表不進行安全過濾的檢查,但是若企業有弱點掃描工具,並且被掃出跨站攻擊的威脅時,則建議透過sas.web.csrf.referers.knownHosts 屬性設定白名單網址。

接著若我們要在應用程式中使用 SAS Middle Tier 作為存取外部網址的代理時,則要確認是否有正確設定Cross Domain Proxy Servlet 相關參數,主要是從 SAS 9.4 M3 版本開始,我們就必須將在應用程式中使用 SAS Middle Tier 作為存取外部網址的代理加入至白名單和日誌記錄增加額外的安全性。若是嘗試存取不在白名單上面的網域,則會產生錯誤訊息,同時所有存取外部網址皆會以警告等級產生日誌記錄以利進行資訊安全稽核。此時我們主要是開啟 SAS Management Console 工具,點選「應用程式管理」->「設定管理員」,在「SAS 應用程式基礎架構」上按右鍵選擇「屬性」,切換至「進階」頁籤,以利修改或新增屬性值,分別為:

  1. sas.web.cdps.knownHosts
  2. sas.web.cdps.performCheck

此外我們若要將 SAS 系統整合企業內部的負載平衡器時,將 sas.web.cdps.performCheck 屬性設為 false,則代表不進行安全過濾的檢查,以及當設定 SAS 網站應用程式的內部連結和外部連結不相同時,則必須在 SAS 網站應用程式對應的 wrapper.conf 中設定 -Dsas.retry.internal.url=true 和 -Dsas.web.html.cdps.use.internal.urls=true,以利 SAS 系統整合企業內部的負載平衡器。

再來若我們在 SAS 網站應用程式中整合客製的 Web Service 或 REST API 時,則要確認是否有正確將 Web Service 或 REST API 的服務網址加入至白名單中,否則當存取服務時,將會因為透過 SASLogon 進行登入導致錯誤發生,錯誤代碼為 500,此時我們主要是開啟 SAS Management Console 工具,點選「應用程式管理」->「設定管理員」,在「SAS 應用程式基礎架構」上按右鍵選擇「屬性」,切換至「進階」頁籤,以利修改或新增屬性值,分別為:

  1. ServiceUrl.Allowed
  2. ServiceUrl.PerformCheck

其中我們若將 ServiceUrl.PerformCheck 屬性設為 false,則代表不進行安全過濾的檢查,但若設為 true,則我們會透過 ServiceUrl.Allowed 設定允許連線的網址。

最後當我們將 SAS 系統整合反向代理伺服器時,則建議將以下三個連線設定設為 false,以利避免因為安全過濾的檢查設定導致連線問題的發生,分別為:

  1. ServiceUrl.PerformCheck
  2. sas.web.cdps.performCheck
  3. sas.web.csrf.referers.performCheck

相關資源

⬅️ Go back