通常地,大多數Web站點的設計目標都是:以最易接受的方式,為訪問者提供即時的信息訪問。在過去的幾年中,越來越多的黑客、病毒和蠕蟲帶來的安全問題嚴重影響了網站的可訪問性,盡管Apache服務器也常常是攻擊者的目標,然而微軟的Internet信息服務(IIS) Web服務器才是真正意義上的眾矢之的。
高級教育機構往往無法在構建充滿活力、界面友好的網站還是構建高安全性的網站之間找到平衡點。另外,它們現在必須致力於提高網站安全性以面對縮減中的技術預算 (其實許多它們的私有部門也面臨著相似的局面)。
正因為如此,我在這裡將為預算而頭疼的大學IT經理們提供一些技巧,以幫助他們保護他們的IIS服務器。雖然主要是面對大學裡的IT專業人員的,但是這些技巧也基本上適用於希望通過少量的財政預算來提高安全性的IIS管理人員。實際上,這裡面的一些技巧對擁有強大預算的IIS管理人員也是非常有用的。
首先,開發一套安全策略
保護Web服務器的第一步是確保網絡管理員清楚安全策略中的每一項制度。如果公司高層沒有把服務器的安全看作是必須被保護的資產,那麼保護工作是完全沒有意義的。這項工作需要長期的努力。如果預算不支持或者它不是長期IT戰略的一部分,那麼花費大量時間保護服務器安全的管理員將得不到管理層方面的重要支持。
網絡管理員為各方面資源建立安全性的直接結果是什麼呢?一些特別喜歡冒險的用戶將會被關在門外。那些用戶隨後會抱怨公司的管理層,管理層人員又會去質問網絡管理員究竟發生了什麼。那麼,網絡管理員沒辦法建立支持他們安全工作的文檔,因此,沖突發生了。
通過標注Web服務器安全級別以及可用性的安全策略,網絡管理員將能夠從容地在不同的操作系統上部署各種軟件工具。
IIS安全技巧
微軟的產品一向是眾矢之的,因此IIS服務器特別容易成為攻擊者的靶子。搞清楚了這一點後,網絡管理員必須准備執行大量的安全措施。我將要為你們提供的是一個清單,服務器操作員也許會發現這是非常有用的。
1. 保持Windows升級:
你必須在第一時間及時地更新所有的升級,並為系統打好一切補丁。考慮將所有的更新下載到你網絡上的一個專用的服務器上,並在該機器上以Web的形式將文件發布出來。通過這些工作,你可以防止你的Web服務器接受直接的Internet訪問。
2. 使用IIS防范工具:
這個工具有許多實用的優點,然而,請慎重的使用這個工具。如果你的Web服務器和其他服務器相互作用,請首先測試一下防范工具,以確定它已經被正確的配置,保證其不會影響Web服務器與其他服務器之間的通訊。
3. 移除缺省的Web站點:
很多攻擊者瞄准inetpub這個文件夾,並在裡面放置一些偷襲工具,從而造成服務器的癱瘓。防止這種攻擊最簡單的方法就是在IIS裡將缺省的站點禁用。然後,因為網蟲們都是通過IP地址訪問你的網站的 (他們一天可能要訪問成千上萬個IP地址),他們的請求可能遇到麻煩。將你真實的Web站點指向一個背部分區的文件夾,且必須包含安全的NTFS權限 (將在後面NTFS的部分詳細闡述)。
4. 如果你並不需要FTP和SMTP服務,請卸載它們:
進入計算機的最簡單途徑就是通過FTP訪問。FTP本身就是被設計滿足簡單讀/寫訪問的,如果你執行身份認證,你會發現你的用戶名和密碼都是通過明文的形式在網絡上傳播的。SMTP是另一種允許到文件夾的寫權限的服務。通過禁用這兩項服務,你能避免更多的黑客攻擊。
5. 有規則地檢查你的管理員組和服務:
有一天我進入我們的教室,發現在管理員組裡多了一個用戶。這意味著這時某個人已經成功地進入了你的系統,他或她可能冷不丁地將炸彈扔到你的系統裡,這將會突然摧毀你的整個系統,或者占用大量的帶寬以便黑客使用。黑客同樣趨向於留下一個幫助服務,一旦這發生了,采取任何措施可能都太晚了,你只能重新格式化你的磁盤,從備份服務器恢復你每天備份的文件。因此,檢查IIS服務器上的服務列表並保持盡量少的服務必須成為你每天的任務。
你應該記住哪個服務應該存在,哪個服務不應該存在。Windows 2000 Resource Kit帶給我們一個有用的程序,叫作tlist.exe,它能列出每種情況運行在svchost 之下的服務。運行這個程序可以尋找到一些你想要知道的隱藏服務。給你一個提示:任何含有daemon幾個字的服務可能不是Windows本身包含的服務,都不應該存在於IIS服務器上。
6. 嚴格控制服務器的寫訪問權限:
這聽起來很容易,然而,在大學校園裡,一個Web服務器實際上是有很多"作者"的。教職人員都希望讓他們的課堂信息能被遠程學生訪問。職員們則希望與其他的職員共享他們的工作信息。服務器上的文件夾可能出現極其危險的訪問權限。將這些信息共享或是傳播出去的一個途徑是安裝第2個服務器以提供專門的共享和存儲目的,然後配置你的Web服務器來指向共享服務器。這個步驟能讓網絡管理員將Web服務器本身的寫權限僅僅限制給管理員組。
7. 設置復雜的密碼:
我最近進入到教室,從事件察看器裡發現了很多可能的黑客。他或她進入了實驗室的域結構足夠深,以至於能夠對任何用戶運行密碼破解工具。如果有用戶使用弱密碼 (例如"password"或是 changeme"或者任何字典單詞),那麼黑客能快速並簡單的入侵這些用戶的賬號。
8. 減少/排除Web服務器上的共享:
如果網絡管理員是唯一擁有Web服務器寫權限的人,就沒有理由讓任何共享存在。共享是對黑客最大的誘惑。此外,通過運行一個簡單的循環批處理文件,黑客能夠察看一個IP地址列表,利用命令尋找Everyone/完全控制權限的共享。
9. 禁用TCP/IP協議中的NetBIOS:
這是殘忍的。很多用戶希望通過UNC路徑名訪問Web服務器。隨著NETBIOS被禁用,他們便不能這麼做了。另一方面,隨著NETBIOS被禁用,黑客就不能看到你局域網上的資源了。這是一把雙刃劍,如果網絡管理員部署了這個工具,下一步便是如何教育Web用戶如何在NETBIOS失效的情況下發布信息。
10. 使用TCP端口阻塞:
這是另一個殘忍的工具。如果你熟悉每個通過合法原因訪問你服務器的TCP端口,那麼你可以進入你網絡接口卡的屬性選項卡,選擇綁定的TCP/IP協議,阻塞所有你不需要的端口。你必須小心的使用這一工具,因為你並不希望將自己鎖在Web服務器之外,特別是在當你需要遠程登陸服務器的情況下。要得到TCP端口的詳細細節,點擊這裡。
11. 仔細檢查*.bat和*.exe 文件: 每周搜索一次*.bat
和*.exe文件,檢查服務器上是否存在黑客最喜歡,而對你來說將是一場惡夢的可執行文件。在這些破壞性的文件中,也許有一些是*.reg文件。如果你右擊並選擇編輯,你可以發現黑客已經制造並能讓他們能進入你系統的注冊表文件。你可以刪除這些沒任何意義但卻會給入侵者帶來便利的主鍵。
12. 管理IIS目錄安全:
IIS目錄安全允許你拒絕特定的IP地址、子網甚至是域名。作為選擇,我選擇了一個被稱作WhosOn的軟件,它讓我能夠了解哪些IP地址正在試圖訪問服務器上的特定文件。WhosOn列出了一系列的異常。如果你發現一個家伙正在試圖訪問你的cmd.exe,你可以選擇拒絕這個用戶訪問Web服務器。當然,在一個繁忙的Web站點,這可能需要一個全職的員工!然而,在內部網,這真的是一個非常有用的工具。你可以對所有局域網內部用戶提供資源,也可以對特定的用戶提供。
13. 使用NTFS安全:
缺省地,你的NTFS驅動器使用的是EVERYONE/完全控制權限,除非你手工關掉它們。關鍵是不要把自己鎖定在外,不同的人需要不同的權限,管理員需要完全控制,後台管理賬戶也需要完全控制,系統和服務各自需要一種級別的訪問權限,取決於不同的文件。最重要的文件夾是System32,這個文件夾的訪問權限越小越好。在Web服務器上使用NTFS權限能幫助你保護重要的文件和應用程序。
14.管理用戶賬戶:
如果你已經安裝IIS,你可能產生了一個TSInternetUser賬戶。除非你真正需要這個賬戶,否則你應該禁用它。這個用戶很容易被滲透,是黑客們的顯著目標。為了幫助管理用戶賬戶,確定你的本地安全策略沒有問題。IUSR用戶的權限也應該盡可能的小。
15. 審計你的Web服務器:
審計對你計算機的性能有著較大的影響,因此如果你不經常察看的話,還是不要做審計了。如果你真的能用到它,請審計系統事件並在你需要的時候加入審計工具。如果你正在使用前面提到的WhosOn工具,審計就不那麼重要了。缺省地,IIS總是紀錄訪問, WhosOn 會將這些紀錄放置在一個非常容易易讀的數據庫中,你可以通過Access或是 Excel打開它。如果你經常察看異常數據庫,你能在任何時候找到服務器的脆弱點。
總結
上述所有IIS技巧和工具(除了WhosOn以外)都是Windows自帶的。不要忘記在測試你網站可達性之前一個一個的使用這些技巧和工具。如果它們一起被部署,結果可能讓你損失慘重,你可能需要重啟,從而遺失訪問。
最後的技巧: 登陸你的Web服務器並在命令行下運行netstat -an。觀察有多少IP地址正嘗試和你的端口建立連接,然後你將有一大堆的調查和研究要做了。