win2003WEB伺服器安全設定
初次安裝 IIS 6.0 時,Web伺服器僅服務於或顯示靜態網頁(HTML),這降低了服務於動態網頁或可執行檔案、內容而帶來的風險。預設情況下禁用 ASP 和ASP.NET。由於 IIS 6.0的預設設定禁用了 Web服務通常使用的許多功能,所以,如何在降低伺服器暴露給潛在攻擊者的程度,同時配置 Web伺服器的其他功能呢?
一、減少 Web 伺服器的攻擊面,通過減少 Web 伺服器的攻擊面,或者降低伺服器暴露給潛在攻擊者的程度,來開始保護Web伺服器的過程。例如,僅啟用 Web 伺服器正常執行所必需的元件、服務和埠:
1、 禁用面向 Internet 連線上的SMB:開始設定控制面板網路連線本地連線屬性清除“Microsoft網路客戶端”複選框清除“Microsoft網路的檔案和印表機共享”複選框,然後單擊“確定”。
SMB 使用的埠:
TCP 埠 139、TCP 和 UDP 埠 445 (SMB Direct Host)
2、禁用基於 TCP/IP的NetBIOS:我的電腦屬性硬體裝置管理”器單擊檢視顯示隱藏的裝置雙擊非即插即用驅動程式右鍵單擊“NetBiosoverTcpip”停用
NetBIOS 使用的埠:
TCP 和 UDP 埠 137(NetBIOS 命名服務)、TCP 和 UDP 埠 138(NetBIOS資料報服務)、TCP和 UDP 埠 139(NetBIOS 會話服務)
上述過程不僅禁用 TCP 埠 445 和 UDP 埠 445 上的 SMB 直接宿主偵聽者,而且禁用Nbt.sys驅動程式,並需要重新啟動系統。
3、配置 IIS 元件和服務,只選擇基本的 IIS 元件和服務。IIS 6.0 除了包括WWW服務之外,還包括一些子元件和服務,例如 FTP 服務和SMTP服務。為了最大限度地降低針對特定服務和子元件的攻擊風險,建議您只選擇網站和 Web應用程式正確執行所必需的服務和子元件。開始控制面板新增或刪除程式新增/刪除 Windows 元件應用程式伺服器單擊詳細資訊Internet 資訊服務(IIS)單擊詳細資訊然後通過選擇或清除相應元件或服務的複選框,來選擇或取消相應的 IIS元件和服務。
IIS 子元件和服務的推薦設定:
禁用:後臺智慧傳輸服務 (BITS) 伺服器擴充套件;FTP 服務;FrontPage 2002ServerExtensions;Internet 列印;NNTP 服務
啟用:公用檔案;Internet 資訊服務管理器;全球資訊網服務
二、建議您刪除未使用的帳戶,因為攻擊者可能發現這些帳戶,然後利用這些帳戶來獲取您伺服器上的資料和應用程式的訪問權。始終使用強密碼,因為弱密碼增加了成功進行強力攻擊或字典攻擊(即攻擊者竭盡全力地猜密碼)的可能性。使用以最低特權執行的帳戶。否則,攻擊者可以通過使用以高階特權執行的帳戶來獲取未經授權的資源的訪問權。
1、禁用來賓帳戶(Guest),採用匿名連線來訪問 Web 伺服器時,使用來賓帳戶。在預設安裝 WindowsServer2003 時,禁用來賓帳戶。 要限制對伺服器的匿名連線,請確保禁用來賓帳戶。
2、重新命名管理員帳戶,預設的本地管理員帳戶因其在計算機上的更高特權而成為惡意使用者的目標。要增強安全性,請重新命名預設的管理員帳戶並分配一個強密碼。
3、重新命名 IUSR 帳戶,預設的匿名 Internet 使用者帳戶 IUSR_ComputerName 是在IIS安裝期間建立的。ComputerName 的值是安裝 IIS 時伺服器的 NetBIOS 名稱。
4、在 IIS 元資料庫中更改 IUSR帳戶的值:單擊“開始”,單擊“控制面板”,再單擊“管理工具”,然後雙擊“Internet資訊服務 (IIS) 管理器”,右鍵單擊“本地計算機”,然後單擊“屬性”。 選中“允許直接編輯配置資料庫”複選框,然後單擊“確定”。瀏覽至 MetaBase.xml檔案的位置,預設情況下為 C:\Windows\system32\inetsrv。右鍵單擊MetaBase.xml檔案,然後單擊“編輯”。搜尋“AnonymousUserName”屬性,然後鍵入IUSR帳戶的新名稱。在“檔案”選單上,單擊“退出”,然後單擊“是”。
三、使用應用程式池來隔離應用程式,使用 IIS 6.0,可以將應用程式隔離到應用程式池。應用程式池是包含一個或多個URL的一個組,一個工作程序或者一組工作程序對應用程式池提供服務。因為每個應用程式都獨立於其他應用程式執行,因此,使用應用程式池可以提高Web伺服器的可靠性和安全性。在Windows作業系統上執行程序的每個應用程式都有一個程序標識,以確定此程序如何訪問系統資源。每個應用程式池也有一個程序標識,此標識是一個以應用程式需要的最低許可權執行的帳戶。可以使用此程序標識來允許匿名訪問您的網站或應用程式。
1、建立應用程式池:單擊“開始”,單擊“控制面板”,再單擊“管理工具”,然後雙擊“Internet 資訊服務 (IIS)管理器”。雙擊本地計算機,右鍵單擊“應用程式池”,單擊“新建”,然後單擊“應用程式池”。在“應用程式池ID”框中,為應用程式池鍵入一個新ID(例如,ContosoAppPool)。在“應用程式池設定”下,單擊“Use defaultsettings for thenew application pool”(使用新應用程式池的預設設定),然後單擊“確定”。
2、將網站或應用程式分配到應用程式池:單擊“開始”,單擊“控制面板”,再單擊“管理工具”,然後雙擊“Internet資訊服務(IIS) 管理器”。右鍵單擊您想要分配到應用程式池的網站或應用程式,然後單擊“屬性”。根據您選擇的應用程式型別,單擊“主目錄”、“虛擬目錄”或“目錄”選項卡。如果您將目錄或虛擬目錄分配到應用程式池,則驗證“應用程式名”框是否包含正確的網站或應用程式名稱或者如果在“應用程式名”框中沒有名稱,則單擊 “建立”,然後鍵入網站或應用程式的名稱在“應用程式池”列表框中,單擊您想要分配網站或應用程式的應用程式池的名稱,然後單擊“確定”。
四、配置檔案和目錄的安全使用強訪問控制來幫助保護敏感的檔案和目錄。在多數情況下,允許對特定帳戶的訪問比拒絕對特定帳戶的訪問更加有效。如有可能,請將訪問設定在目錄級。當檔案新增到資料夾時,它們繼承資料夾的許可權,因此您不需要採取進一步的措施。
1、重新定位和設定 IIS 日誌檔案的許可權,為了增強IIS日誌檔案的安全,您應該將檔案重新定位到非系統驅動器,此驅動器格式化為使用NTFS檔案系統。此位置應該與網站內容的位置不同。單擊“開始”,右鍵單擊“我的電腦”,然後單擊“資源管理器”。 瀏覽至您想要重新定位IIS日誌檔案的位置。右鍵單擊您想要重新定位 IIS 日誌檔案的上一級目錄,單擊“新建”,然後單擊“資料夾”。鍵入資料夾的名稱,例如ContosoIISLogs,然後按 Enter鍵。單擊“開始”,單擊“控制面板”,再單擊“管理工具”,然後雙擊“Internet資訊服務 (IIS) 管理器”。右鍵單擊網站,然後單擊“屬性”。單擊“網站”選項卡,然後單擊“啟用日誌記錄”框架中的“屬性”。在“常規屬性”選項卡中,單擊“瀏覽”,然後導航到您剛才建立的資料夾以儲存IIS 日誌檔案,再確定。(注意:如果您在原來的位置Windows\System32\Logfiles 上有 IIS日誌檔案,則必須將這些檔案手動移動到新位置。IIS不為您移動這些檔案。)
2、設定 IIS 日誌檔案的ACL,單擊“開始”,右鍵單擊“我的電腦”,然後單擊“資源管理器”。瀏覽至日誌檔案所在的資料夾。右鍵單擊此資料夾,單擊“屬性”,然後單擊“安全”選項卡。在頂部窗格中,單擊“Administrators”(管理員),確保底部窗格中的許可權設定為“完全控制”。在頂部窗格中,單擊 “System”(系統),確保底部窗格中的許可權設定為“完全控制”,然後單擊“確定”。
3、配置 IIS 元資料庫許可權,單擊“開始”,右鍵單擊“我的電腦”,然後單擊“資源管理器”。瀏覽至Windows\System32\Inetsrv \MetaBase.xml檔案,右鍵單擊此檔案,然後單擊“屬性”。單擊“安全”選項卡,確認只有 Administrators 組的成員和LocalSystem帳戶擁有對元資料庫的完全控制訪問權,刪除所有其他檔案許可權,然後單擊“確定”。
4、禁用 FileSystemt 元件,ASP、Windows 指令碼主機和其他編寫指令碼的應用程式使用FileSystemt(FSO) 元件來建立、刪除、獲取資訊以及操縱驅動器、資料夾和檔案。可考慮禁用FSO元件,但要注意,這也將刪除字典物件。另外,驗證是否沒有其他程式需要這個元件:單擊“開始”,單擊“執行”,在“開啟”框中鍵入cmd,然後單擊“確定”。切換到 C:\Windows\system32 目錄。在命令提示符處,鍵入 regsvr32scrrun.dll /u ,然後按Enter 鍵。出現:DllUnregisterServer in scrrun.dllsucceeded,再確定。
五、保護網站和虛擬目錄,將Web根目錄和虛擬目錄重新定位到非系統分割槽,以幫助防禦目錄遍歷攻擊。這些攻擊允許攻擊者執行作業系統程式和工具。由於這種攻擊不能遍歷所有驅動器,因此,將網站內容重新定位到另一個驅動器可以增強對這些攻擊的防護。
1、將網站內容移動到非系統驅動器,不要使用預設的 \Inetpub\Wwwroot目錄作為網站內容的位置。例如,如果系統安裝在C: 驅動器,則將內容目錄移動到 D: 驅動器,以減輕目錄遍歷攻擊(這種攻擊試圖瀏覽Web伺服器的目錄結構)帶來的危險。一定要驗證是否所有的虛擬目錄都指向新驅動器。
2、刪除系統驅動器上的網站內容
六、配置網站許可權 可以為您的Web伺服器配置特定站點、目錄和檔案的訪問權。這些許可權可以應用於所有使用者,無論使用者有何特定的訪問權。
七、配置檔案系統目錄的許可權 ,IIS 6.0 依靠NTFS許可權來幫助保護單個檔案和目錄不會受到未經授權的訪問。網站許可權應用於試圖訪問網站的任何人,與此不同的是,您可以使用NTFS許可權來定義哪些使用者可以訪問您的內容,以及如何允許這些使用者操作這些內容。為了增強安全性,同時使用網站許可權和 NTFS許可權。
1、訪問控制列表 (ACL)指示哪些使用者或組有訪問或修改特定檔案的許可權。不是在每個檔案上設定ACL,而是為每種檔案型別建立新目錄,在每個目錄上設定ACL,然後允許檔案從它們所在的目錄中繼承這些許可權。單擊“開始”,右鍵單擊“我的電腦”,然後單擊“資源管理器”。瀏覽至包含網站內容的檔案,然後單擊網站內容的最上層的資料夾。在“檔案”選單中,單擊“新建”,然後單擊“資料夾”,以便在網站的內容目錄中建立一個新資料夾。為資料夾命名,然後按Enter鍵。按 Ctrl 鍵,然後選擇您想要保護的每個網頁。右鍵單擊這些網頁,然後單擊“複製”。右鍵單擊新資料夾,然後單擊“貼上”。(注意:如果您已經建立了到這些網頁的連結,則必須更新這些連結以便反映站點內容的新位置。)
2、設定 Web 內容的許可權,單擊“開始”,單擊“控制面板”,再單擊“管理工具”,然後雙擊“Internet 資訊服務(IIS)管理器”。右鍵單擊您想要配置的網站的資料夾、網站、目錄、虛擬目錄或檔案,然後單擊“屬性”。根據您想要授權或拒絕訪問的型別,選擇或清除下列任何複選框(如果可用):
指令碼原始檔訪問。使用者可以訪問原始檔。如果選擇“讀”,則可以讀原始檔;如果選擇“寫”,則可以寫原始檔。指令碼源訪問包括指令碼的原始碼。如果“讀”或“寫”均未選擇,則此選項不可用。
讀(預設情況下選擇)。使用者可以檢視目錄或檔案的內容和屬性。
寫。使用者可以更改目錄或檔案的內容和屬性。
目錄瀏覽。使用者可以檢視檔案列表和集合。
日誌訪問。對網站的每次訪問建立日誌項。
檢索資源。允許檢索服務檢索此資源。這允許使用者搜尋資源。
在“執行許可權”列表框中,選擇指令碼執行的相應級別:
無。不在伺服器上執行指令碼和可執行檔案(例如,檔案型別為 .exe 的檔案)。
僅指令碼。只在伺服器上執行指令碼。
指令碼和可執行檔案。在伺服器執行指令碼和可執行檔案。
單擊“確定”。如果目錄的子節點配置了不同的網站許可權,則出現“繼承覆蓋”框。如果出現“繼承覆蓋”框,在“子節點”列表中選擇您想要應用目錄的Web許可權的子節點或者單擊“全選”來設定屬性,以便將Web許可權應用到所有子節點。如果您不只看到一個“繼承覆蓋”對話方塊,則從“子節點”列表中選擇子節點,或者單擊“全選”,然後單擊“確定”,以便將此屬性的Web許可權應用到子節點。如果一個子節點屬於您已經更改了網站許可權的目錄,此節點還為特定選項設定了網站許可權,則子節點的許可權將覆蓋您為目錄設定的許可權。如果您想要將目錄級的Web許可權應用到子節點,則必須在“繼承覆蓋”框中選擇這些子節點。
八、在 Web 伺服器上配置安全套接字層 (SSL)安全功能,以便驗證內容的完整性,驗證使用者身份並對網路傳輸加密。SSL安全依靠伺服器證書,此證書允許使用者在傳輸個人資訊(例如信用卡帳號)之前驗證Web 網站的身份。每個網站只能有一個伺服器證書。
1、獲取並安裝伺服器證書,證書由稱作證書頒發機構 (CA) 的非 Microsoft 組織頒發。伺服器證書通常與Web伺服器有關,尤其與配置了 SSL 的網站有關。您必須生成證書請求,將此請求傳送到 CA,然後在接收到CA的證書之後安裝此證書。證書依靠一對加密金鑰(一個公鑰和一個私鑰)來確保安全。當您生成伺服器證書請求時,您實際上正在生成私鑰。從CA接收到的伺服器證書包含公鑰。單擊“開始”,右鍵單擊“我的電腦”,然後單擊“管理”。雙擊“服務和應用程式”部分,然後雙擊 “Internet 資訊服務”。右鍵單擊您想要安裝伺服器證書的網站,然後單擊“屬性”。單擊“目錄安全”選項卡。在“安全通訊”部分中,單擊“伺服器證書”,以啟動 “Web伺服器證書嚮導”,然後單擊“下一步”。單擊“建立一個新證書”,然後單擊“下一步”。單擊“立即準備請求,但稍後傳送”,然後單擊“下一步”。在“名稱”框中,鍵入容易記住的名稱。(預設的名稱是您正在生成證書請求的網站名,例如http://www.cngxr.com) 指定位長度,然後單擊“下一步”。加密金鑰的位長度確定了加密的強度。大多數非Microsoft CA 都希望您最少選擇1024位。在“組織”部分,鍵入您的組織和組織單位資訊。確保此資訊的準確性,並且“組織”欄位中不包含逗號,然後單擊“下一步”。在 “站點的公用名稱”部分,鍵入含域名的宿主計算機的名稱,然後單擊“下一步”。鍵入您的地理資訊,然後單擊“下一步”。 將此檔案儲存為.txt 檔案。(預設的檔名和位置是C:\certreq.txt。)以下示例顯示證書請求檔案的特徵:
-BEGIN NEW CERTIFICATE REQUEST-
MIIDATCCAmoCAQAwbDEOMAwGA1UEAxMFcGxhbjgxDDAKBgNVBAsTA1BTUzESMBAG
A1UEChMJTWljcm9zb2Z0MRIwEAYDVQQHEwlDaGFybG90dGUxFzAVBgNVBAgTDk5v
cnRoIENhcm9saW5hMQswCQYDVQQGEwJVUzCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
gYkCgYEAtW1koGfdt+EoJbKdxUZ+5vE7TF1ZuT+xaK9jEWHESfw11zoRKrHzHN0f
IASnwg3vZ0ACteQy5SiWmFaJeJ4k7YaKUb6chZXG3GqL4YiSKFaLpJX+YRiKMtmI
JzFzict5GVVGHsa1lY0BDYDO2XOAlstGlHCtENHOKpzdYdANRg0CAwEAAaCCAVMw
GgYKKwYBBAGCNw0CAzEMFgo1LjAuMjE5NS4yMDUGCisGAQQBgjcCAQ4xJzAlMA4G
A1UdDwEB/wQEAwIE8DATBgNVHSUEDDAKBggrBgEFBQcDATCB/QYKKwYBBAGCNw0C
AjGB7jCB6wIBAR5aAE0AaQBjAHIAbwBzAG8AZgB0ACAAUgBTAEEAIABTAEMAaABh
AG4AbgBlAGwAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBp
AGQAZQByA4GJAGKa0jzBn8fkxScrWsdnU2eUJOMUK5Ms87Q+fjP1/pWN3PJnH7x8
MBc5isFCjww6YnIjD8c3OfYfjkmWc048ZuGoH7ZoD6YNfv/SfAvQmr90eGmKOFFi
TD+hl1hM08gu2oxFU7mCvfTQ/2IbXP7KYFGEqaJ6wn0Z5yLOByPqblQZAAAAAAAA
AAAwDQYJKoZIhvcNAQEFBQADgYEAhpzNy+aMNHAmGUXQT6PKxWpaxDSjf4nBmo7o
MhfC7CIvR0McCQ+CBwuLzD+UJxl+kjgb+qwcOUkGX2PCZ7tOWzcXWNmn/4YHQl0M
GEXu0w67sVc2R9DlsHDNzeXLIOmjUl935qy1uoIR4V5C48YNsF4ejlgjeCFsbCoj
Jb9/2RM=
-END NEW CERTIFICATE REQUEST-
確認請求的詳細資訊,單擊“下一步”,然後單擊“完成”。
2、 提交伺服器證書請求,聯絡 CA,查詢提交請求的要求。將上述過程中建立的 .txt 檔案的內容複製成CA要求的請求格式。將請求傳送給您的 CA。接收到 CA 的證書後,準備在您的 Web 伺服器上安裝此證書。
3、 安裝伺服器證書,將證書 (.cer) 檔案複製到C:\Windows\System32\CertLog資料夾。單擊“開始”,單擊“控制面板”,再單擊“管理工具”,然後雙擊 “Internet資訊服務 (IIS)管理器”。右鍵單擊您想要安裝伺服器證書的網站,然後單擊“屬性”。單擊“目錄安全”選項卡。在“安全通訊”部分中,單擊“伺服器證書”,以啟動“Web伺服器證書嚮導”,然後單擊“下一步”。單擊“處理掛起的請求並安裝證書”,然後單擊“下一步”。 瀏覽至您接收到的 CA證書。單擊“下一步”兩次,然後單擊“完成”。
4、 在 Web 伺服器上強制和啟用 SSL 連線,
A 、強制SSL連線:安裝伺服器證書之後,必須在 Web 伺服器上強制 SSL 連線。然後,必須啟用SSL連線。單擊“開始”,單擊“控制面板”,再單擊“管理工具”,然後雙擊“Internet 資訊服務 (IIS)管理器”。右鍵單擊您想要強制 SSL 連線的網站,然後單擊“屬性”。單擊“目錄安全”選項卡。在“安全通訊”部分,單擊“編輯”。單擊“要求安全通道 (SSL)”,選擇加密長度,然後單擊“確定”。注意:如果您指定 128 位加密,使用 40 位或 56位長度瀏覽的客戶端計算機不能與您的站點通訊,除非將其瀏覽器升級到支援 128位加密的版本。
B 、啟用 SSL 連線:單擊“開始”,單擊“控制面板”,再單擊“管理工具”,然後雙擊“Internet 資訊服務(IIS)管理器”。 鍵單擊您想要啟用 SSL 連線的網站,然後單擊“屬性”。單擊“網站”選項卡。在“網站標識”部分,驗證“SSL埠”是否填充了數值443。然後單擊“高階”。通常出現兩個對話方塊,在“此網站的多個標識”框中列出此網站 IP地址和埠。在“此網站的多個 SSL標識”欄位下,如果還沒有列出埠 443,則單擊“新增”。選擇伺服器的 IP地址,在“SSL埠”框中鍵入數值“443”,然後單擊“確定”。
現在IIS已經安全很多了,但是,黑客會不斷尋找新漏洞來攻破你的系統,所以這種安全性設定只是與黑客進行的第一場戰役。