2016-12-12 28 views
-1

語境: 我試圖使用自定義的Windows帳戶的應用程序池,並啓用Oracle OS認證,這樣我們就不必存儲數據庫的用戶名和密碼,在配置文件中。保護IIS應用程序池的身份密碼

問題: 這個設置工作,但是,我注意到我能夠'恢復'密碼使用appcmd.exe。有沒有辦法確保具有管理和物理訪問權限的人不能以純文本形式讀取密碼?

這是一個Windows 2016機器,IIS 10.密碼看起來加密時查看applicationHost.config文件。 下面的命令顯示的密碼:

%systemroot%\system32\inetsrv\appcmd.exe list apppool "ImoAppPool" /text:* 

enter image description here

回答

0

回答這個問題:「有沒有一種方法,以確保有人行政和物理訪問以純文本無法讀取密碼」

不要保存在這樣一種方式,他們可以恢復密碼,遍歷一個HMAC與約100ms的時間隨機鹽和保存鹽與哈希值。使用功能,如PBKDF2又名Rfc2898DeriveBytespassword_hashBcrypt和類似的功能。將此散列值保存在數據庫中。關鍵是要讓攻擊者花費大量時間通過強力查找密碼。

如果它是你無法控制的做到這一點的解決是不安全的,不應該被使用。

保護你的用戶是非常重要的,請使用安全密碼的方法。

+0

也許我不明白答案,或者我沒有以明確的方式提出問題。 IIS需要在特定的用戶帳戶下運行。我需要提供正確的密碼,沒有辦法(我想)我可以提供一個轉換後的密碼並讓它運行。然後它選擇如何保存密碼。如果我看看配置文件中,密碼變換('密碼=「[ENC:IISWASOnlyCngProvider:cNM0PbFgUgr ...')。但是,如果我從問題運行的命令,我可以看到明文一個 –

+0

的一點是。不要將密碼保存爲可以恢復的密碼,這是不安全的,必須假設攻擊者將獲得管理員對服務器的訪問權限,並且必須保護密碼免受這種威脅。 – zaph

+0

如何保存密碼是我無法控制的。我的問題是,是否有辦法以這種方式配置服務器,它可以通過操作系統進行身份驗證,並且密碼不能以純文本格式恢復。您可以通過不同的方式實現此目的(例如, auth令牌),但是我們沒有實現一個web服務器,但是配置它。 –