主頁 > .NET開發 > 使用AES加密加密和解密密碼與將密碼存盤在JBOSS保險庫中的優勢

使用AES加密加密和解密密碼與將密碼存盤在JBOSS保險庫中的優勢

2022-03-24 13:33:39 .NET開發

我們的安全部門不希望我們擁有 JOSS Web 組態檔 (oracle-db.properties),其中包含我們要連接的資料庫的純文本密碼。有人告訴我,我應該從 JBOSS 密碼保險庫中檢索密碼,但我很難弄清楚如何做到這一點,并發布了一個問題來嘗試找出答案。(請參閱Java/Spring:如何從 JBOSS 保險庫中檢索密碼

我正在考慮是否將密碼加密密碼存盤在 oracle-db.properties 中并使用此處顯示的 AES 加密演算法https://howtodoinjava.com/java/java-security/aes-256-encryption-decryption/來解密它(我使用加密程序來確定要放入 oracle-db.properties 檔案的加密密碼)。我在想,因為密鑰和鹽都存盤在代碼中,所以有可能對代碼進行反向編譯以獲取這些值。我想知道這種方法與從 JBOSS Vault 檢索密碼的優缺點是什么(https://access.redhat.com/documentation/en-us/red_hat_jboss_web_server/5.3/html/installation_guide/vault_for_jws_) . 對于大多數公司來說,將 AES 256 添加到我們的應用程式通常就足夠了嗎?

uj5u.com熱心網友回復:

我在想,因為 Secret key 和 salt 都存盤在代碼中,所以有可能對代碼進行反向編譯以獲取這些值。

正確的。AES 加密該密碼幾乎一無所獲,實際上使事情變得更糟:它看起來是加密的(因為它是加密的),并且人們會假設進行加密的人不會如此密集以至于將密鑰留在旁邊密碼檔案。

除了它實際上就在那里(他們必須反編譯類檔案,但這并不困難,也不會變得困難),所以你已經造成了錯誤的印象。

您的安全團隊需要為您提供威脅模型以供使用,他們不能只說“不要從檔案中讀取密碼”,因為那是不可能的。為什么你不能那樣做?他們想要減輕哪些攻擊途徑?

例子:

  • 我不希望 syadmin 隨便 - 輸入cat該檔案,從而將密碼涂抹在他們的螢屏上和他們的終端應用程式的歷史緩沖區中,讓任何人都可以隨意瀏覽。

答案:只需 base64 即可。是的,它根本不是加密貨幣,但至少它毫不含糊:人們會看到它的 base64 并假設他們不是白癡知道這意味著密碼就在那里。但它可以防止肩部沖浪和“意外”回憶(有人用眼睛看到它,因此即使他們不打算記住它也可能會記住它)。必須有人不遺余力地 unbase64 它,如果規則說你不能這樣做,至少你現在已經強迫員工徹底違反規則并可能犯罪。

  • 恐怕有人會入侵服務器,使其僅讀取檔案并將其回顯給黑客。

然后 base64 什么都不做,AES 計劃也不做(因為他們也可以讓你的網路服務器cat擁有自己的 jar 和類檔案,可能)。一種解決方案可以是啟動服務器的腳本讀取檔案(并且被操作root,在一個帳戶下運行服務器webserver) - 該腳本讀取密碼(從而允許您使該檔案由 root 擁有并且該webserver帳戶不可讀) , 將其作為引數或環境變數傳遞。當然,這要求您考慮泄漏 env var 的風險遠低于文本檔案。這當然是可能的。或者,該腳本可以將密碼寫入一個純文本檔案,該檔案可由webserver用戶,網路服務器將讀取它,然后洗掉該檔案。這并不常見,但它顯示了威脅模型的意義:一旦你知道你在戰斗什么,你就可以制定一個計劃并相應地執行。

  • 我想使用 JBoss Password Vault

這不是明智的安全策略:這不是威脅模型。JPV 沒有解決任何這些問題,啟動。

  • 我想要一個獲得對盒子的完全訪問權限的黑客,包括用戶的 root 和/或寫訪問權限,以便webserver用戶無法將其用作破解資料庫的跳板。

這是不可能的,如果安全團隊告訴你這是他們需要你減輕的威脅,你可以告訴他們去拿哈利波特的魔杖,因為沒有它,你就無法交付。例如,黑客可以簡單地重寫您自己的類/jar 以將密碼發送到黑客的服務器。這強烈表明您的安全團隊不知道如何完成他們的作業:無論多么不可能,他們都會考慮風險并要求“防范”它(這不是真正的事情;您可以減少和減輕,安全不是黑色的和白色)不考慮威脅模型或權衡。

讓他們接受教育,或者決定對他們撒謊。當他們這樣做時,您將無法獲勝。也許越過他們的頭腦,讓老板參與進來。

  • I want a hacker that manages to obtain a clone of the entire disk to not be able to access the DB.

Doable, but tricky. One easy way is that the server won't know the password either and will boot in an admin-only-mode, where the admin types the db password into a form which then unlocks the server to run properly. The server can then retain this password in memory only, thus foiling any disk copies. Except, you better turn of swap or store that on a different disk!

If you don't want that manual action, there's TPM chips (windows/linux systems generally) or T2 (apple). I don't know of any java-accessible tools that can do this, or DBs that can. These kinds of algorithms require a challenge/response model, you can't just 'store a password' in these in a meaningful way.

Ask the security team for a budget of 80k or so. If they balk, well, they've learned something. Security is a game of tradeoffs.

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/448419.html

標籤:爪哇 安全 加密

上一篇:升級Swift依賴項的加密演算法

下一篇:Flutter保密存盤

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • WebAPI簡介

    Web體系結構: 有三個核心:資源(resource),URL(統一資源識別符號)和表示 他們的關系是這樣的:一個資源由一個URL進行標識,HTTP客戶端使用URL定位資源,表示是從資源回傳資料,媒體型別是資源回傳的資料格式。 接下來我們說下HTTP. HTTP協議的系統是一種無狀態的方式,使用請求/ ......

    uj5u.com 2020-09-09 22:07:47 more
  • asp.net core 3.1 入口:Program.cs中的Main函式

    本文分析Program.cs 中Main()函式中代碼的運行順序分析asp.net core程式的啟動,重點不是剖析原始碼,而是理清程式開始時執行的順序。到呼叫了哪些實體,哪些法方。asp.net core 3.1 的程式入口在專案Program.cs檔案里,如下。ususing System; us ......

    uj5u.com 2020-09-09 22:07:49 more
  • asp.net網站作為websocket服務端的應用該如何寫

    最近被websocket的一個問題困擾了很久,有一個需求是在web網站中搭建websocket服務。客戶端通過網頁與服務器建立連接,然后服務器根據ip給客戶端網頁發送資訊。 其實,這個需求并不難,只是剛開始對websocket的內容不太了解。上網搜索了一下,有通過asp.net core 實作的、有 ......

    uj5u.com 2020-09-09 22:08:02 more
  • ASP.NET 開源匯入匯出庫Magicodes.IE Docker中使用

    Magicodes.IE在Docker中使用 更新歷史 2019.02.13 【Nuget】版本更新到2.0.2 【匯入】修復單列匯入的Bug,單元測驗“OneColumnImporter_Test”。問題見(https://github.com/dotnetcore/Magicodes.IE/is ......

    uj5u.com 2020-09-09 22:08:05 more
  • 在webform中使用ajax

    如果你用過Asp.net webform, 說明你也算是.NET 開發的老兵了。WEBform應該是2011 2013左右,當時還用visual studio 2005、 visual studio 2008。后來基本都用的是MVC。 如果是新開發的專案,估計沒人會用webform技術。但是有些舊版 ......

    uj5u.com 2020-09-09 22:08:50 more
  • iis添加asp.net網站,訪問提示:由于擴展配置問題而無法提供您請求的

    今天在iis服務器配置asp.net網站,遇到一個問題,記錄一下: 問題:由于擴展配置問題而無法提供您請求的頁面。如果該頁面是腳本,請添加處理程式。如果應下載檔案,請添加 MIME 映射。 WindowServer2012服務器,添加角色安裝完.netframework和iis之后,運行aspx頁面 ......

    uj5u.com 2020-09-09 22:10:00 more
  • WebAPI-處理架構

    帶著問題去思考,大家好! 問題1:HTTP請求和回傳相應的HTTP回應資訊之間發生了什么? 1:首先是最底層,托管層,位于WebAPI和底層HTTP堆疊之間 2:其次是 訊息處理程式管道層,這里比如日志和快取。OWIN的參考是將訊息處理程式管道的一些功能下移到堆疊下端的OWIN中間件了。 3:控制器處理 ......

    uj5u.com 2020-09-09 22:11:13 more
  • 微信門戶開發框架-使用指導說明書

    微信門戶應用管理系統,采用基于 MVC + Bootstrap + Ajax + Enterprise Library的技術路線,界面層采用Boostrap + Metronic組合的前端框架,資料訪問層支持Oracle、SQLServer、MySQL、PostgreSQL等資料庫。框架以MVC5,... ......

    uj5u.com 2020-09-09 22:15:18 more
  • WebAPI-HTTP編程模型

    帶著問題去思考,大家好!它是什么?它包含什么?它能干什么? 訊息 HTTP編程模型的核心就是訊息抽象,表示為:HttPRequestMessage,HttpResponseMessage.用于客戶端和服務端之間交換請求和回應訊息。 HttpMethod類包含了一組靜態屬性: private stat ......

    uj5u.com 2020-09-09 22:15:23 more
  • 部署WebApi隨筆

    一、跨域 NuGet參考Microsoft.AspNet.WebApi.Cors WebApiConfig.cs中配置: // Web API 配置和服務 config.EnableCors(new EnableCorsAttribute("*", "*", "*")); 二、清除默認回傳XML格式 ......

    uj5u.com 2020-09-09 22:15:48 more
最新发布
  • C#多執行緒學習(二) 如何操縱一個執行緒

    <a href="https://www.cnblogs.com/x-zhi/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/2943582/20220801082530.png" alt="" /></...

    uj5u.com 2023-04-19 09:17:20 more
  • C#多執行緒學習(二) 如何操縱一個執行緒

    C#多執行緒學習(二) 如何操縱一個執行緒 執行緒學習第一篇:C#多執行緒學習(一) 多執行緒的相關概念 下面我們就動手來創建一個執行緒,使用Thread類創建執行緒時,只需提供執行緒入口即可。(執行緒入口使程式知道該讓這個執行緒干什么事) 在C#中,執行緒入口是通過ThreadStart代理(delegate)來提供的 ......

    uj5u.com 2023-04-19 09:16:49 more
  • 記一次 .NET某醫療器械清洗系統 卡死分析

    <a href="https://www.cnblogs.com/huangxincheng/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/214741/20200614104537.png" alt="" /&g...

    uj5u.com 2023-04-18 08:39:04 more
  • 記一次 .NET某醫療器械清洗系統 卡死分析

    一:背景 1. 講故事 前段時間協助訓練營里的一位朋友分析了一個程式卡死的問題,回過頭來看這個案例比較經典,這篇稍微整理一下供后來者少踩坑吧。 二:WinDbg 分析 1. 為什么會卡死 因為是表單程式,理所當然就是看主執行緒此時正在做什么? 可以用 ~0s ; k 看一下便知。 0:000> k # ......

    uj5u.com 2023-04-18 08:33:10 more
  • SignalR, No Connection with that ID,IIS

    <a href="https://www.cnblogs.com/smartstar/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/u36196.jpg" alt="" /></a>...

    uj5u.com 2023-03-30 17:21:52 more
  • 一次對pool的誤用導致的.net頻繁gc的診斷分析

    <a href="https://www.cnblogs.com/dotnet-diagnostic/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/3115652/20230225090434.png" alt=""...

    uj5u.com 2023-03-28 10:15:33 more
  • 一次對pool的誤用導致的.net頻繁gc的診斷分析

    <a href="https://www.cnblogs.com/dotnet-diagnostic/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/3115652/20230225090434.png" alt=""...

    uj5u.com 2023-03-28 10:13:31 more
  • C#遍歷指定檔案夾中所有檔案的3種方法

    <a href="https://www.cnblogs.com/xbhp/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/957602/20230310105611.png" alt="" /></a&...

    uj5u.com 2023-03-27 14:46:55 more
  • C#/VB.NET:如何將PDF轉為PDF/A

    <a href="https://www.cnblogs.com/Carina-baby/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/2859233/20220427162558.png" alt="" />...

    uj5u.com 2023-03-27 14:46:35 more
  • 武裝你的WEBAPI-OData聚合查詢

    <a href="https://www.cnblogs.com/podolski/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/616093/20140323000327.png" alt="" /><...

    uj5u.com 2023-03-27 14:46:16 more