
當我設定 WiFi 時,我發現教學對我的密碼進行雜湊處理,使其不會以明文形式儲存(我們使用使用者名稱/密碼進行 wifi 存取)
network={
ssid="NETWORKNAME"
priority=1
proto=RSN
key_mgmt=WPA-EAP
pairwise=CCMP
auth_alg=OPEN
eap=PEAP
identity="USERNAME"
password=hash:HASH
phase1="peaplabel=0"
phase2="auth=MSCHAPV2"
}
哈希值在哪裡
echo -n 'YOUR_REAL_PASSWORD' | iconv -t utf16le | openssl md4
有沒有辦法對 Windows 網路安裝執行類似的操作?我目前使用mount -t cifs -o username=USERNAME,password=PASSWD //192.168.1.88/shares /mnt/share
掛載網路共享,但我想讓我的密碼遠離明文(我知道如何保護明文或使其只能由 root 讀取,這不是我想要的)。
我能否以與 WiFi 類似的方式對 cifs 網路共享的密碼進行雜湊處理?
答案1
不,您不能隱藏密碼。您的電腦需要能夠提供伺服器密碼。這意味著無論您使用什麼方法來隱藏密碼,您的電腦都必須能夠採用該隱藏形式並對其進行解碼。如果您的計算機可以做到,那麼任何人的計算機都可以做到。
EAP 的情況表面上有所不同,因為對於 EAP,客戶端需要提供密碼的 NTML 雜湊值。但這意味著實際上密碼是雜湊值,而不是人類可讀的輸入。所以事實上,即使hash:
在設定檔中,設定檔也確實包含明文的密碼。
您閱讀的教程非常具有誤導性,它暗示對文件中的 EAP 密碼進行雜湊處理具有顯著的安全優勢。事實上,如果您不將該密碼用於其他任何用途,它根本沒有任何好處,因為正如我們在上面看到的,有效密碼是雜湊值。如果相同的密碼也用於其他用途(伺服器需要密碼而不是雜湊值),那麼會有一些好處,但它是有限的,因為 MD4 很容易被暴力破解。
如果您不想每次都輸入密碼,最好的方法是將密碼儲存在密碼管理器中,並確保只有您可以存取密碼管理器。確保它在磁碟上加密,以防有人竊取您的電腦(當然這意味著您必須在 bootig 之後的某個時刻解密密碼容器)。但是,如果有人訪問您的計算機,他們就會獲得密碼。沒有辦法阻止這種情況。
如果您可以影響伺服器的配置並希望提高安全性,請考慮啟用 Kerberos 驗證,如果配置充分,您可以使用登入密碼存取網路共用。