在禁用目錄瀏覽的情況下匿名託管在 IIS 上的文件的安全性如何?
為了詳細說明這一點,我想知道託管在具有以下配置的 IIS 網站上的文件的安全性:
- IIS 目錄列表已禁用
- 匿名訪問已啟用
- 站點僅通過HTTPs訪問
- 文件有很長的隨機生成的名稱(類似於 guid 加上其他字元)
我相信這是一個相對安全的設置(我知道它不如真正經過身份驗證的訪問安全。)我想知道我是否看到了這堵大牆,但它很容易被比我知識更多的人繞過。
我想我正在尋找的是可以繞過我上面概述的設置的方法。
不安全。您通過 Obscurity依賴安全性,這絕不是一個好主意。如果有人猜到您的文件名(或者您的“隨機”名稱不夠隨機,並且有人可以在看到一個名稱後得出名稱是什麼),他們可以獲取文件。
話雖如此,安全級別可能適合您嘗試執行的操作。如果不知道您的數據有多敏感,就不可能確定。
雖然大多數人不會公開承認這一點,但許多網站都是使用與您類似的方法設置的。您基本上使用文件名作為密碼。知道密碼的任何人都可以訪問該文件,但除非在 IIS 中發現漏洞或使用其他側通道攻擊,否則在不知道正確“密碼”的情況下無法遠端訪問您的文件。
您提到使用 HTTPS,這意味著URL 將被加密並且通過數據包嗅探器不可見。但是,任何接收該 URL 的客戶端都可以自由地與全世界共享該 URL。如果 Google 獲得了指向您文件的連結,它們將立即公開可用(即使是 HTML/TXT/PDF/DOC 格式的記憶體)。您可以嘗試通過更改您的 robots.txt 文件以禁止抓取來防止這種情況發生,但即使這樣也不能保證這些文件不會被公開。
由於文件名是您唯一的訪問控制機制,因此您應該確保它滿足最低複雜性要求。我建議至少 10-20 個隨機字元,這會限制暴力攻擊的有效性。此外,您可能需要考慮定期更改文件名,就像定期更改密碼一樣。此外,您可能希望調整文件夾的本地 NTFS 文件權限,以防止系統管理員和 IIS/ASP.NET 帳戶以外的任何人訪問該文件夾。
在這種情況下,您的文件將達到可接受的安全級別,但仍然容易受到普通使用者名/密碼身份驗證可以防止的攻擊。客戶的瀏覽器歷史記錄、工具欄和擴展程序等簡單的東西都可以訪問他們訪問的 URL,因此如果您的文件包含國家機密或受聯邦保護的資訊(醫療記錄、信用卡號等),您可能需要添加多一點安全。