我想知道人們認爲保護網站管理部分的最佳做法,特別是從認證/訪問的角度來看。保護網站管理部分的最佳做法是什麼?
當然有很明顯的事情,比如使用SSL和記錄所有訪問,但我想知道以上這些基本步驟人們認爲要設置欄。
例如:
- 你只是依靠您使用普通用戶相同的認證機制?如果不是,什麼?
- 你是否在同一個'應用程序域'中運行管理部分?
- 你採取什麼步驟使管理部分未被發現? (或者你拒絕了整個「默默無聞」的事情)
到目前爲止,從應答者的建議包括:
- 介紹人造服務器端暫停到每個管理員密碼檢查防止蠻力攻擊[開發人員藝術]
- 使用單獨的登錄頁面爲用戶和管理員使用相同的數據庫表(阻止XSRF和會話竊取授予訪問管理區域s)[Thief Master]
- 也考慮將webserver本機認證添加到管理區域(例如,通過的.htaccess)[盜賊大師]
- 考慮一些失敗的管理員登錄嘗試[盜賊法師]後阻止用戶IP
- 添加驗證碼失敗後,管理員的登錄嘗試[盜賊大師]
- 爲用戶和管理員提供同樣強大的機制(使用上述技術)(例如,不要專門對待管理員)[Lo'oris]
- 考慮二級認證(例如客戶端證書,智能卡,紙牌空間等) 。)[JoeGeeky]
- 只允許從受信任的IP /域訪問,將檢查添加到基本HTTP管道(通過例如HttpModules)如果可能的話。 [JoeGeeky]
- [ASP.NET]鎖定下來的IPrincipal &校長(使他們不變的,不可枚舉)[JoeGeeky]
- 盟員權利提升 - 例如在任何管理員權限升級時向其他管理員發送電子郵件。 [JoeGeeky]
- 考慮管理員的細粒度權限 - 例如,而不是基於角色的權利,爲每個管理員的個別操作定義權限[JoeGeeky]
- 限制創建管理員 - 例如,管理員不能更改或創建其他管理員帳戶。爲此,請使用鎖定的「superadmin」客戶端。[JoeGeeky]
- 考慮客戶機端的SSL證書,或RSA類型密鑰卡(電子令牌)[丹尼爾Papasian]
- 如果使用用於驗證餅乾,使用單獨的Cookie用於管理和正常的網頁,通過例如將管理部分放在不同的域中。 [Daniel Papasian]
- 如果可行,請考慮將管理站點保留在私有子網上,不在公共互聯網上。 [約翰Hartsock]
- 補發認證/會話票據的網站[理查德JP勒岡]的管理員/正常使用環境之間移動時
只是一個想法,但。保護管理員部分的最佳方式可能不在於公共互聯網上。您可以選擇僅將管理站點保留在私有子網上。 – 2010-05-27 20:44:27
您指定的這些想法中哪一個適用於所有用戶而不僅僅是管理員? – 2010-05-28 16:59:18
您可能想要在http://www.webloginproject.com/上檢查WebLoginProject,它是一個基於XSS,SQL注入,會話修復和CSRF漏洞的安全設計的協作登錄系統。它有ASP和PHP的源代碼,它是多語言的,看起來很酷。許多開發人員正在研究它的固定孔,以便它可以儘可能地保證安全。 – stagas 2010-05-31 11:32:06