2018年12月4日 星期二

[研究][ASP.NET] Fortify SCA 報告 Web.Config 資料庫連線字串設定有 Insecure Transport: Database 問題

[研究][ASP.NET] Fortify Static Code Analyzer (SCA) 報告 Web.Config 資料庫連線字串設定有Insecure Transport: Database 問題

2018-12-04

工具:Fortify Static Code Analyzer (SCA) 18.20
Visual Studio 2017 v15.9.3

WebForm 方案的 Web.Config 中,連線資料庫的資訊有 Password 關鍵字,每次都被 Fortify SCA 判斷有問題,雖然可以使用 .NET Framework 提供的 aspnet_regiis.exe 對 Web.Config 的連線資訊做加密,但是一般開發階段不會這樣去做,除非 deploy 到正式機後才會做。

aspnet_regiis -pe "connectionStrings" -app "/MyApplication"

於是做了個實驗,把 <connectionStrings> 和 </connectionStrings> 內容註解,再拿去 Fortify SCA 掃描,結果不會再因有 Password 關鍵字而誤判了。

(下圖) Web.Config 因有 Password 關鍵字被誤判了

(下圖) Web.Config 因有 Password 關鍵字被誤判了

(下圖) 掃描前註解掉 Web.Config 的連線字串

(下圖) 掃描後不再有誤判資訊

********************************************************************************
上面是掃描時,比較省時的作法,但比較正確的作法如下:


保護連接字串與其他設定資訊 (C#)
使用「 ASP.NET IIS 註冊工具 (aspnet_regiis.exe) 」 對 Web.Config 中 <connectionStrings> 中資訊加密。

********************************************************************************

另外發現下面也會被誤判
<add key="SSO_ForgetPwd" value="https://ec2-12-345-678-90.ap-northeast-1.compute.amazonaws.com/SSO/forgetPwd.jsp" />

但下面不會被誤判
<add key="MailPwd" value="abc123aaa" />

表示 Pwd 不是會被誤判的關鍵字,只是不清楚判斷邏輯。

(完)

相關

逐步解說:使用受保護的組態加密組態資訊
Visual Studio 2010 更新:2007 年 11 月
https://msdn.microsoft.com/zh-tw/library/dtkwfdky(v=vs.100).aspx

HOW TO:建置並執行受保護的組態提供者範例
Visual Studio 2010 更新:2007 年 11 月
https://msdn.microsoft.com/zh-tw/library/33ws57y0(v=vs.100).aspx

匯入和匯出受保護的組態 RSA 金鑰容器
Visual Studio 2010 更新:2007 年 11 月
https://msdn.microsoft.com/zh-tw/library/yxw286t2(v=vs.100).aspx

沒有留言:

張貼留言