目前筆者所接觸到有自主管理的ArcGIS網站系統 (ArcGIS Enterprise),大都使用 Windows Server 環境進行建置。建置過程中,通常會採用 ArcGIS Web Adaptor 這款網頁應用程式作為反向代理器,以便允許後端的 ArcGIS Server網站 (使用 6443埠) 及 Portal for ArcGIS網站 (使用 7443埠) 可以透過 HTTPS(使用443埠) 對外提供服務。
在 Windows 環境中,ArcGIS Web Adaptor 有兩種版本,依照系統要使用的伺服器軟體 (Web Server)有所區別。如果ArcGIS網站採用 Windows 內建的 IIS 做為網頁伺服器軟體,則會使用 IIS 版本的 ArcGIS Web Adaptor 進行安裝與設定;如果ArcGIS網站採用 Apache Tomcat 作為網頁伺服器軟體,則會使用 Java 版本的 ArcGIS Web Adaptor 進行安裝與設定。
本文探討的重點在於 ArcGIS網站採用 Windows 內建的 IIS 做為網頁伺服器軟體時,預設情況下,IIS 會回傳伺服器的相關訊息給前端應用程式,增加資通安全的風險。假如伺服器使用的版本有嚴重漏洞被揭露,伺服器就容易成為駭客的目標。因此本文將說明如何調整 IIS 軟體設定,隱藏 IIS 回傳的版本資訊。
隱藏 IIS 版本標頭作法
步驟 1、建立 web.config 檔案
在IIS根目錄( 預設在 C:\inetpub\wwwroot
)中,新增一個文字檔案,檔名為 web.config
步驟 2、設定 web.config
在 web.config
檔案輸入以下設定:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
</customHeaders>
</httpProtocol>
</system.webServer>
<system.web>
<httpRuntime enableVersionHeader="false" />
</system.web>
<system.webServer>
<security>
<requestFiltering removeServerHeader="true" />
</security>
</system.webServer>
</configuration>
步驟3、檢查伺服器回應標頭
開啟任一網站介面,在瀏覽器 開發人員工具中,檢查任一請求伺服器回應的標頭,確認沒有包含 X-Powered-By 或 Server 等標頭資訊,代表設定成功。
