[英]How should I protect sensitive passwords in my c# web apps/services?
我正在編寫一項服務,該服務允許公司域中的用戶執行有限的活動目錄操作。 這些用戶沒有自己的AD權限,但是網站以共享用戶身份進行身份驗證,該用戶可以執行諸如解鎖帳戶之類的操作。
我的代碼中的密碼目前為純文本格式
有沒有推薦的方法可以保護我的密碼? 顯然,有人必須對網站二進制文件進行反編譯才能訪問它,但是我覺得這還不夠。
對於背景,我正在使用C#中較新的System.DirectoryServices.AccountManagement方法來執行此操作,因此我有:
PrincipalContext pc = new PrincipalContext(ContextType.Domain, "MYDOMAIN", "theuser", "thepassword");
任何提示表示贊賞! 否則,我可能只會求助於混淆,對其進行加密,並使用幾個類似badge的類來解密值
我認為最好的方法是使應用程序池標識具有足夠的權限,以在Active Directory中進行必要的工作。 這將允許Web應用程序運行,而無需硬編碼的用戶名和密碼。 您可能需要系統管理員的幫助才能進行此設置。
請記住,混淆處理效果很好。 在執行之前,必須對混淆的代碼進行去混淆,以便處理器能夠理解它。 如果確定某人,這可以被擊敗。 但是,如果發生這種情況,那么作為安全問題,您可能還不止這些。
最后,連接到活動目錄的用戶應該具有最少的訪問權限,以減輕發現用戶名和密碼時可能造成的損害。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.