如何在微。服務中儲存敏感資訊 - 資安

Agnes avatar
By Agnes
at 2020-11-09T00:04

Table of Contents

一開始在 Python 板上看到有人提問

之後 FB/Backend 版[1] 有人提出一串可能性

原始的問題很簡單 但是在開發中很容易遇到 也就是在後端 Server 部分

如何儲存資料庫的登入資訊 或者第三方服務的認證資訊



就實務上來說:敏感資訊可以是 帳號、密碼、API Secret Key 等等

在一開始開發過程中最常使用的應該就是 hard-code 寫死或者 command-line 輸入

但是準備上到正式環境 這種作法很顯然的是不被允許的 (如果貴單位有要求的話)


接下來的方式轉為透過外部設定檔 (e.g. staging.conf / production.conv)

各自切換適合的執行環境參數 這也是有多種環境時會使用的一種技巧

不巧的是 當使用微。服務 (已 docker 為例) 就變成你 docker image 含有敏感資訊了

能夠下載 docker image 的人同時擁有敏感資訊


再者 也是常見的方式則是透過環境變數 讓執行程式可以獲取登入資訊

但這樣的問題就會變成 確保環境內的每個環節都要是可信任的


最後 也會有人試著在上述幾種方式中 額外再針對敏感資訊進行第二次加密

透過額外的加密來增加安全性


----
我個人是覺得 透過資料庫限制來源 IP + 帳號、密碼保護就夠了

怎樣傳遞帳號、密碼 到 docker 環境的方式不要太蠢就好 (像是 hard-code 寫死...)

如果攻擊者能夠拿到 reverse-shell 那其實資料庫密碼也不是太重要

如果僅能夠 dump 帳號、密碼的話 用限制來源 IP 也可以滿足安全上的需求



[0]: https://www.facebook.com/groups/pythontw/permalink/10160690779908438/
[1]: https://www.facebook.com/photo/?fbid=10158521358918955&set=gm.2197133700420494

--
Tags: 資安

All Comments

Ivy avatar
By Ivy
at 2020-11-11T13:19

GPG 101 簡單、沒意義教學

Tristan Cohan avatar
By Tristan Cohan
at 2020-10-29T23:23
不知道這年頭還有沒有人使用 GPG [0] 不過就在剛剛寄信的時候 因為對方要求 所以還是使用了一下 順便簡單分享一下使用方式跟背後的含義 # 使用情境 # 今天當你需要寄送機密資料給對方時 會遇到的一個情境是 (其實是兩個問題) - 如何證明這是你寄出去的 (不可否認) - 如何避免其他 ...

網頁被DDOS如何加入身份驗證

Edith avatar
By Edith
at 2020-10-17T14:24
這幾年國外金融網頁被DDOS騷擾,剛好公司在做金融綱頁的項目,怕被打下來,除了用CDN隱藏自己的IP之外 ,可不可以在server 加入身份驗證嗎,要怎麼加 - ...

We Hacked Apple for 3 Months

Tracy avatar
By Tracy
at 2020-10-13T10:57
分享一下都市傳說:We Hacked Apple for 3 Months [0] 簡單來說:有一小群人用了三個月的時間 成功打進 Apple (就是你知道的那個 Apple) 按照他的用詞是 fully compromise both customer and employee application ...

分享器借別人

Daniel avatar
By Daniel
at 2020-09-14T01:19
如題目所言 問題發生在學校宿舍 同房室友手機沒繳錢被停話 原本是要跟我借行動wifi 基於資安與個人權利 還有網路責任問題 不願借他 後來我想說宿舍每人都有自己的 ip 遮罩 dns 對方也只有手機 無電腦 幫他設定好就接到他的網路孔 想請問借分享器是否有要注意的地方 ? - ...

乙方可以拒絕 VA跟PT嗎?

Edwina avatar
By Edwina
at 2020-09-12T03:01
如題 最近中途加入了個專案 我是甲方的user 向乙方購買了套web服務 已經快建置完畢了,但最近遇到了個狀況,因為我們公司有要求 服務上線前必須要通過公司資安部門的PT、VA、WEBVA且中高風險都修復完畢 但乙方告知他們的產品是租用給我們的,我們無權對他的產品做任何資安測試 因為我是中途才加入案子的, ...