JavaWeb應用配置文件安全解決方案

這里主要說說JavaWeb應用的配置文件安全,通常JavaWeb應用多多少少會有一些配置文件,其中數據源的配置則是關系到數據庫的安全,另外還有一些基于文件的權限配置,應用程序的一些系統參數。鑒于這樣的情況,如果配置文件被非法訪問者拿到,這對于應用的安全和數據安全產生極大的危害。

??????? 常見的一種情況就是:非法用戶通過一些漏洞掃描工具,探測應用的漏洞,然后上傳腳本,遍歷應用的文件目錄結構來獲取更多有利于攻克系統的信息。對于應用程序而言,可能使用第三方框架,也可能獨立開發一些關鍵模塊,種種這些仍然可以確定和確信漏洞是存在的。


?????? 保護應用程序的敏感數據則極為重要,這些敏感數據則主要是:數據源的配置信息,系統參數,FTP配置信息,權限訪問配置等。


?????? 面對上面面臨的配置文件安全問題,下面講分享一種解決方案(配置文件加密外置法)。配置文件加密外置法即就是對配置文件的信息進行加密,然后配置文件存放在與應用程序目錄無關的目錄(地方)。

????? 從上面對配置文件加密外置的描述可以看出這種方式有明顯的好處:

????? 1.配置文件加密,使得配置文件的信息得到有效的包含

????? 2.配置文件外置,使得通過探測應用程序目錄結構并不能輕易獲取配置文件

????? 3.配置文件的訪問權限得到有效的控制


????? 下面是一張配置文件加密外置法的整體思路

???????wKioL1PYq_myGyicAAHbFfLkgnc435.jpg



?????? 參照上圖說明一下每個環節:

?????? 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,如需轉載請自行聯系原作者

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/539999.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/539999.shtml
英文地址,請注明出處:http://en.pswp.cn/news/539999.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java 免費cms_開源 免費 java CMS

Bug修復:1.菜單管理:刪除操作按鈕后不能直接進行刪除菜單操作。2.刪除單位時操作記錄不顯示單位名稱問題。3.站點管理:改變所屬站點增加改變為一級站點功能,上傳非圖片logo時雖然提示但仍上傳成功問題。4.模板文件管理:點擊查看/下…

Android加載大圖片不OutOfMemoryError

Android加載圖片時,對于分辨率小,配置低的機子,很容易發生OutOfMemoryError。手機的內存比圖片的大很多,怎么會這樣? 在設置Android虛擬機的內存時: RAM:模擬器的內存空間 VM Heap:…

任務計劃、chkconfig工具、systemd管理服務、unit、target

比如備份數據或者重啟服務。 crontab -u、-e、-l、-r(刪除) 格式:分 時 日 月 周 user command 文件/var/spool/cron/username 分范圍0-59,時范圍0-23,日范圍1-31,月范圍1-12,周1-7 可用格式1-5…

vue打卡日歷_Vue日歷

new Vue({el: ‘#calendar‘,data: {currentDay: 1,currentMonth: 1,currentYear: 1970,currentWeek: 1,days: [],addDay: [],},created: function() {this.initData(null);var $this this;//請求數據$.ajax({url: "這里填接口名稱",type: "POST",data: {…

android Intent機制詳解

原文出處:http://blog.csdn.net/t12x3456/article/details/7688154 什么是Intent Intent是一種運行時綁定(run-time binding)機制,它能在程序運行過程中連接兩個不同的組件。通過Intent,你的程序可以向Android表達某種…

python基本數據類型(四)-集合與運算符-python3筆記

1.集合 2.字典 3.運算符優先級 1.集合 創建:() set() 注意:創建空的集合要用set() 特點:元素唯一,無序 運算: &(交集) |(并集) -(差集&#xff0…

Android的權限

Android有四種權限: 1、Permission 權限 2、Root權限 3、Bootloader的解鎖 4、Radio(基帶)解鎖 ------------------------------------ 1、Permission 我們在開發中經常使用到 Permission 權限,即一系列"Android.Permission.*"對象。…

hive2 java連接_用Java代碼通過JDBC連接Hiveserver2

1.在終端啟動hiveserver2#hiveserver22.使用beeline連接hive另外打開一個終端,輸入如下命令(xavierdb必須是已經存在的數據庫)#beeline -u jdbc:hive2://localhost:10000/xavierdb -n hive -p hive3.添加maven依賴org.apache.hivehive-jdbc1.1.0junitjunit4.9org.ap…

java 向上拋異常_Java 異常的處理方式throws

在昨天的文章《Java 異常的分類與處理》中我們簡單地了解了一下在方法聲明的位置上使用throws關鍵字向上拋出異常,下面深入講解異常的第一種處理方式throws。下面深入講解異常的第一種處理方式throws。看以下例子:import java.io.*;public class Excepti…

Jquery mobile 解決IOS9selectli閃退問題

升級IOS9后&#xff0c;JQuery mobile 出現了個bug問題。<select>&#xff0c;<ul><li></li></ul> 出現閃退。 解決方法&#xff1a; 必須加在 jquery.js 和 jquerymobile.js 中間 <script src"......../...../jquery-2.0.0.min.js&qu…

JAVA通過SSL證書創建MS AD賬戶及設置密碼

近期由于工作需要整理一下自動化的東西&#xff0c;因為公司去年上線了OA&#xff0c;所以公司的入職系統會提交用戶的信息到IT部門&#xff0c;最早的做法是入職到了&#xff0c;IT部門收集用戶信息在AD中創建對應的用戶信息&#xff0c;所以為了提高管理員的工作效率&#xf…

java 實體類規范_實體類的規范

1.Boolean類型1.1.使用Boolean類型,而不是Byte類型1.2.數據庫字段名使用is_開頭1.3.實體類字段名不使用is開頭例子/*** 是否為新消息*/Column(name "is_new_message", nullable false)private Boolean newMessage;2.Enum類型1.使用Convert注解, 并指定coverter類例…

01電話撥號器

實例非常簡單&#xff0c;意在體驗Android的Intent&#xff0c;用戶權限。 Intent 見 http://blog.csdn.net/zengmingen/article/details/49586045 用戶權限 見 http://blog.csdn.net/zengmingen/article/details/49586569 --------------------------------------------------…

微信小程序筆記六模塊化 —— module.exports

微信小程序中所有 js 文件作用域皆為獨立的&#xff0c;每一個 js 文件即為一個模塊。模塊與模塊之間的引用通過 module.exports 或 exports 對外暴露接口。 注意&#xff1a; exports 是 module.exports 的一個引用&#xff0c;因此在模塊里邊隨意更改 exports 的指向會造成未…

java常用的統計_(OJ)Java常用類-統計數字次數

統計數字次數Problem Description命令行輸入一個由數字組成的任意字符串,統計出每個數字出現的次數。Input Description1239586838Output Description0 counts:01 counts:12 counts:13 counts:24 counts:05 counts:16 counts:17 counts:08 counts:39 counts:1解題代碼import ja…

02發送短信

使用SmsManager發送短信java.lang.Object ?android.telephony.SmsManagerManages SMS operations such as sending data, text, and pdu SMS messages. Get this object by calling the static method SmsManager.getDefault().管理短信操作&#xff0c;如發送數據&#xff…

Python運行環境與異常處理

Python的命令格式&#xff1a; python [option] ... [-c cmd | -m mod | file | -] [arg] ... 選項描述-J 啟動將從Python3中刪除或更改某些功能的警告 -B阻止在導入時創建.pyc或.pyo文件-E忽略環境變量-h打印所有可用命令行選項的列表-i在程序執行后進入交互模式-m module以腳…

Java應用一般架構

原文鏈接&#xff1a;http://www.iteye.com/news/31115 當我們架設一個系統的時候通常需要考慮到如何與其他系統交互&#xff0c;所以我們首先需要知道各種系統之間是如何交互的&#xff0c;使用何種技術實現。 1. 不同系統不同語言之間的交互 現在我們常見的不同系統不同語…

Mac MongoDB未正常關閉導致重啟失敗

你可以刪除掉mongod.lock文件&#xff0c;然后重新啟動&#xff0c;如果還是不可以&#xff0c;你可以查看一下進程&#xff0c;然后殺掉&#xff1a; ps -aef | grep mongo sudo kill 1076 再重啟數據庫即可。

微信企業號讓IOS不要識別數字為電話號碼的方法

最近在開發一個聯系人查看功能時&#xff0c;發現IOS端把 8位&#xff0c;11位的數字識別為了 電話號碼。 本來是黑色的樣式&#xff0c;變成了藍色的樣式&#xff0c;還添加了下劃線。點擊一下&#xff0c;還可以撥打電話。 這個問題要改&#xff0c;解決方法很簡單&#xf…