[閒聊] 如何在微。服務中儲存敏感資訊

看板NetSecurity (資安 資訊安全)作者 (不要偷 Q)時間3年前 (2020/11/09 00:04), 編輯推噓0(001)
留言1則, 1人參與, 3年前最新討論串1/1
一開始在 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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.229.246 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/NetSecurity/M.1604851496.A.E43.html

11/09 01:20, 3年前 , 1F
11/09 01:20, 1F
文章代碼(AID): #1Vg1Sev3 (NetSecurity)
文章代碼(AID): #1Vg1Sev3 (NetSecurity)