如何處理腳本中的密碼:記憶體中 VS 檔案中

如何處理腳本中的密碼:記憶體中 VS 檔案中

我有一個在廉價雲端提供者的 VPS 上運行的腳本。場景是:我信任我的供應商,但如果他想偷我的金鑰,我寧願讓他的日子不好過。硬碟中所有感興趣的資料夾都被加密(truecrypt或類似),只有當機器啟動時才清晰(每次,但如果他們拿出hhd,他們將無法查看我的資料)

在腳本中處理 Dropbox API 金鑰的最佳解決方案是什麼?

注意:該腳本將從 FTP 取得文件,將它們上傳到 Dropbox 並從磁碟中刪除它們。

我正在考慮儲存加密檔案(openssl/pgp),當我啟動腳本(使用解密金鑰,手動鍵入)時,它將解密金鑰,將其儲存為變數並在需要時使用它(腳本將保持活動狀態)永遠)

有什麼想法/意見嗎?

答案1

你可以使用類似的東西python-gnupg使用 gnupg 加密檔案。為了實現「真正」的安全性,您需要為私鑰添加密碼,否則您將在同一伺服器中擁有包含密碼和私鑰的加密文件,因此解密該文件將是微不足道的。每次啟動腳本時都需要輸入密碼的壞處是,您需要輸入密碼,但是可以使用 gpg-agent 將其最小化,並且僅在啟動電腦時輸入密碼。

答案2

這將是透過默默無聞的安全性,但幾乎沒有其他選擇。如果您想讓潛在的小偷過不去,我建議將金鑰嵌入到腳本中,然後使用以下命令將腳本轉換為可執行文件SHC。您可能還想混淆精靈本身(混淆精靈的方法.) 但請記住,無論您做什麼,它仍然可以被拆解和研究。

相關內容