這里主要說說JavaWeb應用的配置文件安全,通常JavaWeb應用多多少少會有一些配置文件,其中數據源的配置則是關系到數據庫的安全,另外還有一些基于文件的權限配置,應用程序的一些系統參數。鑒于這樣的情況,如果配置文件被非法訪問者拿到,這對于應用的安全和數據安全產生極大的危害。
??????? 常見的一種情況就是:非法用戶通過一些漏洞掃描工具,探測應用的漏洞,然后上傳腳本,遍歷應用的文件目錄結構來獲取更多有利于攻克系統的信息。對于應用程序而言,可能使用第三方框架,也可能獨立開發一些關鍵模塊,種種這些仍然可以確定和確信漏洞是存在的。
?????? 保護應用程序的敏感數據則極為重要,這些敏感數據則主要是:數據源的配置信息,系統參數,FTP配置信息,權限訪問配置等。
?????? 面對上面面臨的配置文件安全問題,下面講分享一種解決方案(配置文件加密外置法)。配置文件加密外置法即就是對配置文件的信息進行加密,然后配置文件存放在與應用程序目錄無關的目錄(地方)。
????? 從上面對配置文件加密外置的描述可以看出這種方式有明顯的好處:
????? 1.配置文件加密,使得配置文件的信息得到有效的包含
????? 2.配置文件外置,使得通過探測應用程序目錄結構并不能輕易獲取配置文件
????? 3.配置文件的訪問權限得到有效的控制
????? 下面是一張配置文件加密外置法的整體思路
???????
?????? 參照上圖說明一下每個環節:
?????? 1.開始,準備配置文件信息
?????? 2.配置環境變量其值作為加密因子
?????? 3.使用加密工具對配置文件進行加密(依賴1,2中的信息)
?????? 4.輸出加密后的密文文件(內容組成:加密信息,加密參數)
?????? 5.配置環境變量其值是密文文件名(即密文文件的路徑)
?????? 6.應用程序中使用5中的環境變量,讀取密文文件
?????? 7.使用解密工具對密文文件解密,輸出明文信息
?????? 8.應用程序使用明文信息
?????? 上面8個環節:1-4是生成加密的配置文件, 5-8是應用程序使用配置文件。
??????
??????? 另外為了JavaWeb應用的進一步安全,可以將加密解密的工具包與應用程序分離,比如放置在JRE或者Web應用服務器下的CLASSPATH下等。
?????? 文中主要講述JavaWeb應用中敏感數據配置文件的保護策略,至于其他情況則沒有考慮,一個Web應用的安全本身涉及到多方面的安全保護,如應用程序的編碼,Web服務器相關配置,部署主機,網絡,數據庫等。
本文轉自 secondriver 51CTO博客,原文鏈接:http://blog.51cto.com/aiilive/1532884,如需轉載請自行聯系原作者