通常地,大多數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伺服器上。想要得到Windows服務的列表並知道它們各自有什麼作用,請點擊這裏。
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位址正嘗試和你的埠建立連接,然後你將有一大堆的調查和研究要做了。