我可以有把握地說,對(duì)于Windows服務(wù)器管理員來說普遍的目標(biāo)是擁有適當(dāng)彈性的系統(tǒng)。世界上有很多網(wǎng)絡(luò)安全威脅,你最不希望發(fā)生的是在世界的另一頭,或者在你的組織內(nèi)部有人利用了IIS或者Windows的漏洞,而這一切都是本來可以避免的。
你可能無法觸及應(yīng)用層面的漏洞,但是在服務(wù)器層面你有很多事情可以做到使基于IIS的系統(tǒng)更加安全。通過回顧我多年的網(wǎng)站安全評(píng)估項(xiàng)目,可以指出以下最影響Windows服務(wù)器的IIS漏洞。
未處理異常(HTTP 500 錯(cuò)誤)的產(chǎn)生
這會(huì)泄露敏感的配置信息和促進(jìn)SQL注入攻擊。在服務(wù)器方面的解決方法是在以下服務(wù)器的web.conf文件中取消詳細(xì)的錯(cuò)誤信息。
視圖狀態(tài)加密和MAC被禁用
這會(huì)導(dǎo)致攻擊者篡改敏感參數(shù)從而獲得非授權(quán)訪問。在服務(wù)器方面的解決方法是在以下服務(wù)器的web.conf文件中對(duì)所有的應(yīng)用頁(yè)面啟用視圖狀態(tài)哈希和MAC。
非加密的HTTP連接被允許
這會(huì)導(dǎo)致登錄信息和其他敏感信息的暴露,因?yàn)槿魏闻cWeb服務(wù)器來往的信息都會(huì)以明文方式傳輸。在服務(wù)器方面的解決方法是使其需要TLS版本1.1以及對(duì)整個(gè)網(wǎng)頁(yè)/應(yīng)用都進(jìn)行加密。
SSL版本2和3以及弱加密算法被啟用
這可以促進(jìn)中間人攻擊以及導(dǎo)致敏感信息泄露。服務(wù)器端解決的方法是使其需要TLS版本1.1和取消弱密碼算法例如RC4。
跨框架腳本成為可能
這可以促進(jìn)點(diǎn)擊挾持和誤導(dǎo)用戶點(diǎn)擊一些不同于他們認(rèn)為正在點(diǎn)擊的內(nèi)容。服務(wù)器端的解決方法是根據(jù)你的具體需求設(shè)置X-Frame-Options頭部為DENY,SAMEORIGIN 或 ALLOW-FROM。
敏感的服務(wù)器目錄和文件是公眾可以訪問的
這可以暴露系統(tǒng)配置信息,代碼和敏感信息。服務(wù)器的解決方法對(duì)于公眾用戶只開放必要的權(quán)限。
沒有打Windows補(bǔ)丁
這可能導(dǎo)致任何攻擊,小至拒絕服務(wù)攻擊,大至使用例如Metasploit工具得到Web服務(wù)器的完整遠(yuǎn)程權(quán)限。服務(wù)器方面的解決方法是給你的服務(wù)器打補(bǔ)丁,這個(gè)操作很簡(jiǎn)單。即使你打算將來這個(gè)服務(wù)器需要從生產(chǎn)環(huán)境中下線,你也需要始終全盤的為服務(wù)器打補(bǔ)丁,這樣才能打造一個(gè)安全的Web環(huán)境。
大多數(shù)的漏洞可能不會(huì)被認(rèn)為是“關(guān)鍵的”,但是它們一定是長(zhǎng)期會(huì)有問題的。如你所見,他們解決起來是相對(duì)簡(jiǎn)單的。事實(shí)上,解決他們唯一的消耗只是你的時(shí)間而已。找到并且解決這些問題,業(yè)務(wù)的安全會(huì)取得成功,并且會(huì)有助于漏洞掃描和安全評(píng)估報(bào)告看上去很干凈。
一旦你處理完網(wǎng)頁(yè)服務(wù)器基本面的安全之后,你可以為你的Web應(yīng)用向更大——一般也更復(fù)雜——的安全缺陷考慮。這包括了跨站腳本(一種最常見的漏洞)、SQL注入(一種沒那么常見但很致命的漏洞)、弱用戶認(rèn)證和會(huì)話管理。到了這里,才是樂趣的真正開始。