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
沒有留言:
張貼留言