日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux自带perl加密,关于加密:如何在Perl脚本中加密或隐藏密码?

發布時間:2023/12/9 linux 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux自带perl加密,关于加密:如何在Perl脚本中加密或隐藏密码? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我正在研究Perl腳本,它使用Expect通過telnet登錄到遠程機器(不要問,必須使用telnet)。我還根據需要執行P4登錄操作,并使用Expect-to管道輸入正確的密碼。目前,我只是從明文環境變量(即export PASSWORD=password)中讀取密碼,我知道這是不明智的安全措施。

對于需要多個系統的大量密碼的腳本,存儲密碼的最佳方法是什么?以某種方式在文本文件中加密?或者別的什么?

請記住,我不能輕易地更改現有系統,例如,我不能真正安裝ssh或類似的東西。

您試圖防御哪些類型的威脅?在你工作的盒子上,你信任(或不信任)其他用戶多少?

我只是開始這個腳本的工作,為了測試的目的,我把它作為純文本。所以有共享的用戶,很多用戶共享這個盒子。所以主要是我希望其他用戶至少不能隨意地讀取所有密碼。

也許你最好的方法是把密碼放在一個單獨的文件中,并鎖定該文件的安全性,這樣只有你有讀取權限。不幸的是,如果您在腳本中存儲加密的密碼,您還必須存儲解密方法,這樣攻擊者就可以運行解密并恢復您的密碼。

+1它是唯一合乎邏輯的解決方案,除非您想采用"通過模糊的安全"路徑。

@lacqui-您可以在xs中編寫(en de)加密代碼并編譯它,并通過perl與之接口,(為了安全起見)不使用標準的模塊分發來分發xs源代碼。但即使這樣也不完美。

前面有一個非常相似的問題,看我的答案。

簡而言之,人類必須擺脫信任鏈。其他的一切都令人困惑。

如果使用telnet,為什么要擔心腳本中的密碼?一個假定的攻擊者會發現,從網絡上捕獲數據比從遠程機器上捕獲更容易,也更容易,而且在任何情況下您都無法對其做任何處理。

這聽起來像是一個試圖把柵欄放在窗戶里,讓門搖擺不定的例子。

這是一個很好的觀點,我意識到使用telnet是一個壞主意,當然不是我的主意,但并沒有在這些方面考慮。你真的是認真的嗎?我不在乎?我想我必須關心,因為代碼審查等,但有趣的想法,盡管如此。

將原因記錄在代碼中,推動流程中的更改,并將其記錄在代碼中。加密密碼,然后通過telnet從腳本發送明文,就像用代碼寫下你的密碼,然后在一個滿是你不認識的人的房間里大喊大叫。

雖然我同意telnet,但僅僅因為前門的鎖壞了并不意味著你就把所有窗戶的鎖都拆了。當你最后把前門鎖修好時會發生什么?

當然有一個平衡。在我看來,這就像是一個有著系統性壞習慣的商店,試圖在問題上撒上一點小精靈的灰塵,并稱之為"完成"。這就是為什么我提倡記錄這些問題,并明確它們之間的相互關系。只有這樣你才能修好它們。

為了評估范圍,在分段交換網絡中讀取嗅探密碼的問題。這并不簡單,所以我認為加密腳本中使用的密碼仍然有幫助。我對你的回答投了贊成票,這當然讓我想起來了。刪除所有的telnet可能是非常昂貴的工作(數百萬)。

不過,我應該補充一點,移動到ssh是在這里發生的,并非所有機器都是一夜之間發生的。

我加入了關于telnet是這里最大的問題的討論。但我認為,當系統不能100%安全時,這種"為什么麻煩"的態度在信息安全領域太普遍了。噩夢般不安全的遺留系統無處不在,它們必須一個問題一個問題地處理。關于窗戶/門的比喻,讓門敞開并不是不在窗戶上加橫條的原因。你應該兩者兼而有之,但是即使組織或預算的限制使"關門"成為不可能,也沒有任何好的理由不關心系統的安全。

另外,對于telnet,如果在某些系統上安裝ssh是不可能的,請不要放棄。您至少可以看看明文telnet數據包在網絡中的位置。如果你有幸擁有現代交換機和管理它們的人,如果你有幸在一個或兩個系統上都有一個額外的以太網卡,那么就把它們放進自己的VLAN中。如果您幸運地擁有一個防火墻或路由器ACL可用,那么就加入第3層和第4層規則限制telnet的來源和去向。

當你使用MacOSX的時候,我發現了從你的鑰匙鏈中獲取用戶名和密碼的好方法。

更新:截至2013年7月22日,鏈接似乎已斷開。下面的bash代碼片段顯示了我如何使用該技術(下載iTunes銷售數據):

domain="itunesconnect.apple.com"

user="user@example.com"

pass=$(security find-internet-password -ws $domain -a $user)

這里的鏈接斷了…

@迪恩看到更新的答案。

既然您已經在使用expect,那么您應該考慮在包含密碼的加密文件上重定向gpg-d。在系統環境變量中存儲密碼顯然是錯誤的。用于解密GPG文件的密碼將在開始時輸入,然后從文件中加載所有密碼并運行您的資料。然后就完成了,所以密碼只在應用程序運行時以明文形式存在。

編輯就像旁注一樣,在腳本中輸入任何密碼都是不好的;請記住,腳本只是一個純文本文件,這使得查看密碼變得非常容易。同樣地,即使您編譯的應用程序也可以使用"字符串"進行反轉,該字符串可以查找代碼中包含的字符串(通常是密碼)。

所以我假設您的意思是"GNU隱私保護",它看起來并不存在于我們的盒子中,就您所知,GPG在hpux和solaris上編譯沒有問題嗎?

我不確定gpg是否有solaris和hpux,但是如果它們是基于*nix的框,那么我確定有一個源。

我喜歡前面提到的將密碼放在單獨文件中的解決方案。此外,您還可以散列實際密碼,就像/etc/passwd中所做的那樣。盡管根據應用程序的方式,您可能會對所有的哈希鍵使用相同的哈希鍵。顯然,這種方法的缺點是,必須有人輸入hashkey才能運行腳本,而這在批處理環境中是行不通的。

從這個stackoverflow問題開始學習散列技術

總結

以上是生活随笔為你收集整理的linux自带perl加密,关于加密:如何在Perl脚本中加密或隐藏密码?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。