2019年10月15日 星期二

ASP.NET -IIS與檔案上傳的安全設定

ASP.NET專題實務(I),博碩出版
** IIS 與 檔案上傳 (FileUPload)的安全設定 **
18–13–1 要求篩選(Request Filtering)
新版本IIS都提供了「要求篩選(Request Filtering)」的功能。但需要您手動安裝、增加這功能到IIS裡面。您的作業系統必須具備IIS才能安裝,例如Win10專業版或Windows Server。
18–13–2 限制執行
檔案上傳也可能是網站的一個大漏洞,如果有人把病毒或是木馬程式上傳並執行,那就糟了。有三個建議:
第一,除了前面說過最基本的「副檔名」檢驗以外,建議您也限制上傳目錄的權限,讓它只能讀寫卻無法執行。
第二,以下圖為例,針對「網站底下的子目錄」做設定,例如4_BigControl_Manual這個資料夾是用來存放上傳檔案的。千萬不允許它有「執行」的權限,以免有人上傳木馬程式或病毒後去執行它。當然,做了IIS任何設定以後,您最好重新測試一遍,以免影響到其他功能。
第三,Web Server也得安裝防毒軟體。如果真的被上傳病毒或是木馬程式,也能被檢查出來。大部分的防毒軟體,當對方上傳以後,通常會有即時掃描的功能。但仍建議每天在離峰時段進行全機掃描
在IIS 7.x版(Windows Server 2008)起有另一個設定「處理常式對應(Handle Mapping)」(如下圖,畫面上不太好找)。
針對「網站底下的子目錄」做設定,例如4_BigControl_Manual這個資料夾是用來存放上傳檔案的。千萬不允許它有「指令碼」\「執行」的權限,務必留白(如下圖,不打勾)。做了IIS任何設定以後,建議重新啟動網站服務並重新測試一遍,以免影響到其他功能。
以上來自 — ASP.NET 專題實務 (I) / 博碩出版