ThaiCERT: Thai Computer Emergency Response Team
ศูนย์ประสานงานการรักษาความปลอดภัยคอมพิวเตอร์ ประเทศไทย 
 
 
 



ชื่อเรื่อง : Hotfix Management for Windows 2000 running IIS5
ที่มา : http://www.sans.org
เรียบเรียงโดย : ภูวดล ด่านระหาญ
เรียบเรียงเมื่อ : 9 กรกฏาคม 2544

ข้อควรระวัง : เอกสารฉบับนี้จัดทำขึ้นในช่วงเวลาหนึ่งเท่านั้น ดังนั้นก่อนที่ท่านจะใช้ เครื่องมือ (tools) ใดๆ กรุณาทดสอบกับเครื่องที่ใช้ทดสอบก่อน เนื่องจากซอฟแวร์ต่างๆ มีการปรับปรุงแก้ไขตลอดเวลา

ผลิตภัณฑ์โดยส่วนใหญ่ของ Microsoft นั้น จะมีทั้ง service pack และ hotfix ออกมาเป็นระยะๆ เนื่องจากมีการค้นพบช่องโหว่ต่างๆ เป็นประจำ โดย service pack นั้นคือการนำ hotfix หลายๆ ตัวมารวมกันและผ่านการทดสอบจาก Microsoft เรียบร้อยแล้ว ในขณะที่ hotfix เป็นเพียงโปรแกรมที่ใช้แก้ไขปัญหาเฉพาะหน้าซึ่งไม่ได้รับการทดสอบก่อนเผยแพร่แต่อย่างใด (รายละเอียดในการติดตั้ง service pack, hotfix อ่านได้ที่นี่)

จะเห็นได้ว่า เมื่อ Microsoft ได้เผยแพร่ service pack2 สำหรับ Windows 2000 ในเดือนพฤษภาคม 2544 นั้น จนถึงบัดนี้ (9 ก.ค. 2544) ได้มี hotfix ของ service pack2 นี้จำนวนทั้งสิ้น 11 hotfix สิ่งเหล่านี้จำเป็นหรือไม่สำหรับผู้ดูระบบ เขาจำเป็นต้องคอยติดตาม hotfix ทั้งหมดหรือไม่ เอกสารฉบับนี้จะให้ความกระจ่างในเรื่องการจัดการ hotfix บน Windows 2000 Server ที่ติดตั้ง IIS5 โดยจะแบ่งเป็น 5 ส่วนสำคัญคือ important, assumptions, Hotfixes practices, tools และ install hotfixes

1. ความสำคัญ (Important)
การติดตั้งโดยปกติแล้ว Windows 2000 Server ที่ติดตั้ง IIS5 + service pack1 นั้น มีช่องโหว่หลายจุดที่จะเปิดโอกาสให้ผู้บุกรุกได้ เช่น ผู้บุกรุกสามารถอ่าน เขียน ลบ รันไฟล์ใดๆ ในระบบได้โดยผ่านทาง URL ปกติ หรือสามารถทำให้ CPU ทำงานเต็ม 100% ได้ตลอดเวลา นอกจากนี้ยังสามารถขโมยข้อมูลที่สำคัญจากฐานข้อมูลได้อีกด้วย ลองนึกดูว่าถ้า server นี้ถูกใช้งานที่เกี่ยวข้องกับ e-commerce หรือ e-banking แล้ว ความเสียหายที่ตามมานั้นจะร้ายแรงเพียงใด

2. สมมุติฐาน (Assumptions)
เอกสารฉบับนี้ขอสมมุติโครงสร้างของเครือข่ายไว้ดังภาพที่ 1 คือ



ภาพที่ 1

โดยตัว server จะถูกวางไว้ใน DMZ network ซึ่งถ้า firewall อนุญาตให้มีการใช้งานเฉพาะ http, https และ ftp protocol เข้ามาจาก internal และ external network เท่านั้น จำนวนของ hotfix ที่จำเป็นต้องติดตั้งบน server ก็จะมีจำนวนน้อยลง เพราะ network traffic ของ protocol อื่นจะไม่ผ่านเข้ามาที่ server แต่ในบางหน่วยงานนั้นจะอนุญาตให้ internal network สามารถใช้งานใน DMZ network ได้อย่างเต็มที่โดยไม่จำกัด protocol ดังนั้นผู้ดูแลระบบควรติดตั้ง hotfix ทั้งหมด ทั้งนี้เพราะ Windows 2000 Server นั้นก็มีช่องโหว่ในส่วนอื่นอย่าง file and print service ด้วยเช่นกัน

ในเอกสารฉบับนี้จะไม่พิจารณาถึง antivirus software ใดๆ ทั้งสิ้น

สำหรับผู้ดูแลระบบสามารถดาวน์โหลดเครื่องมือฟรีได้บนอินเทอร์เน็ตทั่วไป นอกจากนี้ vulnerabilities scanner หรือ scanner ที่ทำหน้าที่ตรวจสอบหาช่องโหว่ เป็นอีกตัวหนึ่งที่มีประโยชน์อย่างมากมายในการลดช่องโหว่ภายในระบบ ซึ่งมีทั้งซอฟแวร์ที่มีราคาสูงอย่าง ISS หรือดาวน์โหลดได้ฟรีอย่าง Nessus (รันบน *NIX)

3. Hotfix practices
เมื่อมีการติดตั้ง server ใหม่ จะต้องติดตั้ง service pack ล่าสุดพร้อมกับ hotfix ที่มีความจำเป็นสำหรับ server นั้นเสมอ

การติดตั้ง hotfix นั้น ควรติดตั้งใน server ที่ใช้สำหรับทดสอบก่อนเสมอ เนื่องจาก hotfix นั้นไม่ได้ผ่านการทดสอบเหมือนกับ service pack ดังนั้นจึงเป็นไปได้ที่ hotfix อาจจะเข้ากันไม่ได้กับโปรแกรมประยุกต์หรือมีปัญหากับฮาร์ดแวร์

หลังจากดาวน์โหลด hotfix ที่ต้องการแล้ว ควรติดตั้ง hotfix เหล่านั้นเรียงลำดับตามวันที่ (วันที่ที่เผยแพร่โดย Microsoft) ทางที่ดีที่สุดคือดาวน์โหลดมาเก็บไว้ในไดเรกทอรีที่ระบุวันที่ เพื่อที่จะไม่ต้องวุ่นวายในภายหลังว่า hotfix ใหนคืออะไร

การติดตั้ง hotfix นั้น แค่รัน .exe ก็สามารถติดตั้งได้แล้ว หรือติดตั้งด้วย options เพิ่มเติม

-m = ไม่ต้องการติดตั้ง (not recommended)
-y = uninstall hotfix นี้
-z = ไม่ต้อง reboot ภายหลังจากติดตั้งเสร็จ

ภายหลังจากการติดตั้ง hotfix ไปล้ว ในระบบทั่วไปอาจจำเป็นต้องมีการติดตั้งซอฟแวร์อื่นเพิ่มเติม และในการติดตั้งซอฟแวร์เพิ่มเติมนั้น อาจจะมีการ copy ไฟล์จาก Windows 2000 Server cd-rom ซึ่งไฟล์เหล่านี้บางครั้งจะไปทับไฟล์ที่ติดตั้งโดย service pack หรือ hotfix ที่ติดตั้งไปก่อนหน้านี้ ดังนั้นผู้ดูแลระบบจำเป็นต้องติดตั้ง service pack/hotfix เดิมอีกครั้งเพื่อให้ระบบมีความปลอดภัยสูงสุด และเพื่อความสะดวกผู้ดูแลระบบควรดาวน์โหลดและจัดเก็บ hotfix ต่างๆ ไว้อย่างชัดเจน

ในการติดตั้ง hotfix ในแต่ละครั้งนั้น ทาง Microsoft ให้คำแนะนำว่าควรจะมีการรีบูตทุกครั้ง อย่างไรก็ตามปัจจุบันนี้ได้มีการพัฒนา hotfix ที่ไม่จำเป็นต้องรีบูตภายหลังการติดตั้งแล้ว

4. Tools
มีเครื่องมือหลายตัวที่ช่วยเหลือผู้ดูแลระบบในการตรวจเช็คว่า server นั้นๆ จำเป็นต้องติดตั้ง hotfix ใดหรือไม่ เช่น Microsoft Security Notification Service, HFCHECK, QFECHECK, Patchwork และ Windows Update ซึ่งเครื่องมือเหล่านี้จะทำการ scan server นั้นๆ แล้วนำ registry หรือไฟล์ของ server นั้นมาเปรียบเทียบกับฐานข้อมูลที่มีอยู่

4.1 Microsoft Security Notification Service
เป็นบริการแจ้งข่าวสารฟรีผ่านทางอี-เมล์จาก Microsoft ซึ่งสามารถสมัครฟรีได้ที่

http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/bulletin/notify.asp

โดยทาง Microsoft จะส่งข้อมูลเกี่ยวข้องกับ security ของผลิตภัณฑ์ต่างๆ ของ Microsoft เอง โดยจะมีรายละเอียดต่างๆ เช่น วันที่ที่มีการค้นพบข้อบกพร่อง วันที่เผยแพร่ ผลิตภัณฑ์ที่ได้รับผลกระทบ วิธีในการป้องกันการโจมตี หรือ hotfix เพื่อแก้ไขปัญหานั้นๆ

4.2 HFCHECK
เป็นเครื่องมือของ Microsoft ที่ใช้ตรวจสอบ hotfix ที่เกี่ยวข้องกับ IIS บน Windows 2000 ซึ่งสามารถดาวน์โหลด HFECheck ได้ที่

http://www.microsoft.com/Downloads/Release.asp?ReleaseID=24168

โดย HFCheck นี้ช่วยให้ผู้ดูแลระบบที่ติดตั้ง IIS5.0 มั่นใจได้ว่า server ได้ติดตั้ง patch ล่าสุดแล้ว เครื่องมือตัวนี้สามารถตั้งให้รันแบบครั้งเดียวหรือทำงานตามเวลาที่กำหนดเป็นระยะๆ ก็ได้ และยังสามารถรันในโหมด local และ remote ได้ นอกจากนี้ยังสามารถใช้เลือกได้ว่าจะใช้ฐานข้อมูลจาก local หรือจากเว็บไซต์ของ Microsoft เมื่อ HFCheck ตรวจพบว่ามี hotfix ที่จำเป็นต้องติดตั้งก็จะเตือนผ่าน dialog หรือ event log

จากคู่มือของ HFCheck ในไฟล์ HFCHECK.WSF จะบรรจุข้อมูลแบบ XML แสดง hotfix ทั้งหมดของ IIS จากนั้นก็จะเปรียบเทียบกับ hotfix ที่ได้ติดตั้งไปแล้วใน local system ถ้าพบว่า hotfix ติดตั้งไม่ครบ ก็จะเรียกฟังก์ชันแจ้งเตือนใน NOTIFY.JS ซึ่งสามารถแสดงผลออกทาง command line หรือแสดงผลไปที่ event log ได้ นอกจากนี้ยังสามารถแก้ไขให้สามารถแจ้งเตือนผ่านทางอี-เมล์ได้อีกด้วย

หลังจากดาวน์โหลดและรัน HFCINST.EXE แล้ว ซึ่งเป็นการขยายไฟล์ไปสู่ไดเรกทอรีซึ่งจะประกอบไปไฟล์ต่างๆ ดังนี้

EULA.txt : Microsoft License Agreement
HFCheck.doc : the instructions
Hfcheck.wsf : script file for reporting the hotfix
Notify.js : alerting script

การที่จะรันไฟล์เหล่านี้ได้ จะต้องตั้งให้ windows scripting host เป็น cscript (โดย default เป็น WScript) โดยใช้คำสั่งดังต่อไปนี้ cscript //H:cscript ซึ่งจะได้ผลลัพธ์ดังภาพที่ 2


ภาพที่ 2

จากนั้นก็สามารถรัน hfcheck.wsf บน command line ได้ทันที โดยจะได้ผลลัพธ์คล้ายกับภาพที่ 3 นี้ (service pack2)


ภาพที่ 3

จากนั้นเปิด Event Log ซึ่งจะเห็น Warning โดย WSH (Windows Scripting Host) ดังภาพที่ 4


ภาพที่ 4

เมื่อ double-click เพื่อดูรายละเอียดนั้น จะให้คำอธิบายสั้นๆ ของช่องโหว่นั้นๆ พร้อมกับ Url สำหรับดาวน์โหลด hotfix ดังภาพที่ 5


ภาพที่ 5

4.3 QFECHECK
เป็น command line tool จาก Microsoft ที่ช่วยผู้ดุแลระบบในการติดตามและตรวจสอบ Windows 2000 hotfix ที่ติดตั้งไปแล้ว โดยเครื่องมือตัวนี้จะแสดงรายชื่อ hotfix ที่ติดตั้งแล้วในหมวด Q (Knowledge Base article "Q" number)

หน้าที่หลักๆ ของ QFECHECK คือตรวจสอบว่า hotfix (หมวด Q) ซึ่งติดตั้งไปแล้วว่ายังมีความสมบูรณ์อยู่หรือไม่ จำเป็นต้องติดตั้งใหม่หรือไม่ โดย QFECHECK จะตรวจสอบ 2 ส่วน คือ ส่วนแรกตรวจสอบว่า hotfix นั้นติดตั้งแล้วแต่ system catalogs ไม่ถูกต้อง ส่วนที่สองตรวจสอบว่า hotfix นั้นถูกติดตั้งแล้วแต่ binary file นั้นไม่ถูกต้อง

ดาวน์โหลด QFECHECK ได้จาก http://www.microsoft.com/downloads/release.asp?ReleaseID=27333

จากนั้นก็สามารถรันไฟล์ QFECHECK.EXE ได้จาก command line ซึ่งถ้าระบบเป็นปกติไม่มีปัญหาใดๆ ก็จะมีลักษณะคล้ายภาพที่ 6


ภาพที่ 6

แต่ถ้าได้ผลลัพธ์ดังภาพที่ 7 นี้ แสดงว่า hotfix Q272743 ได้ถูกติดตั้งไปแล้ว แต่ binary file นั้นไม่ใช่ไฟล์ล่าสุด จำเป็นต้องติดตั้ง hotfix นี้ใหม่อีกครั้ง

Windows 2000 Hotfix Validation Report for \\WinAdvSrv
Report Date: 1/11/2001 9:30pm

Current Service Pack Level: Service Pack 1

Hotfixes Identified:
Q267866: Current on system.
Q272743: This hotfix should be reinstalled.

The following files are incorrect for this hotfix:
C:\WINNT\SYSTEM32\TELNET.EXE
C:\WINNT\SYSTEM32\DLLCACHE\TELNET.EXE

ภาพที่ 7

แต่ถ้าได้ผลลัพธ์ดังลักษณะด้านล่างนี้ แสดงว่า hotfix Q272743 ได้ถูกติดตั้งไปแล้ว แต่ system catalog ไม่ถูกต้อง จำเป็นต้องติดตั้ง hotfix นี้ใหม่อีกครั้ง

Windows 2000 Hotfix Validation Report for \\WinAdvSrv
Report Date: 1/11/2001 9:24pm

Current Service Pack Level: Service Pack 1

Hotfixes Identified:
Q267866: Current on system.
Q272743: This hotfix should be reinstalled.

The following files are not valid in the system catalog:
C:\WINNT\SYSTEM32\TELNET.EXE
C:\WINNT\SYSTEM32\DLLCACHE\TELNET.EXE

ภาพที่ 8

4.4 Patchwork
เขียนขึ้นโดย Steve Gibson ใช้สำหรับค้นหาช่องโหว่ของระบบ พร้อมกับแนะนำให้ติดตั้ง patch ที่จำเป็นเพื่อแก้ไขปัญหาดังกล่าว Patchwork จะทำงานโดยการตรวจสอบไฟล์ที่มีอยู่ในระบบซึ่งอาจจะถูกใช้โดย hacker โดยอาศัยข้อมูลจากงานวิจัยของ FBI นอกจากนี้ยังตรวจสอบ Windows server ว่ามีช่องโหว่ซึ่ง hacker ชาวรัสเซียใช้เจาะเข้าไปในระบบอยู่หรือไม่

เครื่องมือตัวนี้ไม่ได้ทำการตรวจสอบความสมบูรณ์ของ patch หรือ hotfix เป็นเพียงตัวช่วยตรวจสอบช่องโหว่ที่เด่นๆ เท่านั้นเอง สามารถดาวน์โหลด Patchwork ได้ที่ http://grc.com/pw/patchwork.htm

และตรวจสอบความถูกต้องของชุดโปรแกรมดังกล่าวว่าไม่ได้ถูกแก้ไขไปก่อนหน้านี้ที่ http://grc.com/pw/patchsig.htm หลังจากที่ดาวน์โหลดมาแล้วก็ติดตั้งได้ง่ายๆ เพียง double-click ถ้าระบบต้องการ patch เพิ่มเติม ก็จะมีหน้าตาดังภาพที่ 9


ภาพที่ 9

จากนั้นคลิ้กไปที่ Scan FileSystem เพื่อตรวจสอบว่าเครื่องนี้ถูกแฮ็คไปแล้วหรือไม่ จากนั้น คลิ้กไปที่แท็บ Finding ซึ่งจะปรากฏดังภาพที่ 10


ภาพที่ 10

Patchwork จะรายงานเวอร์ชันของ IIS ที่ใช้อยู่ พร้อมทั้งแจ้งว่าปลอดภัยเพียงพอหรือไม่ นอกจากนี้ยังแจ้ง URL ของ hotfix ที่จำเป็นในกรณีที่ต้องการการติดตั้งเพิ่มเติม เครื่องมือตัวนี้ยังสามารถตั้งค่าให้รันทุกๆ ครั้งที่มีการบูตเครื่องใหม่ได้ด้วย โดยคลิ้กไปที่แท็บ Options

4.5 Windows Update
เป็นเว็บไซต์ของ Microsoft ที่ http://windowsupdate.microsoft.com สำหรับใช้ update ซอฟแวร์บางส่วนของ Microsoft ถ้าเป็นการเข้ามาที่เว็บไซต์แห่งนี้เป็นครั้งแรกแล้ว จะมี dialog popup ขึ้นมาถามว่าจะ install ActiveX หรือไม่ ให้ตอบ Yes

ในส่วนของ Product update นั้นจะรัน ActiveX control เพื่อตรวจสอบเครื่องที่เชื่อมต่อในขณะนั้นกับฐานข้อมูลที่ Microsoft ว่าจำเป็นต้องติดตั้งอะไรเพิ่มเติมหรือไม่ ไม่ว่าจะเป็น system file, device drivers, service packs, critical updates หรือฟังก์ชันใหม่ๆ ของซอฟแวร์ สำหรับซอฟแวร์ที่สามารถอัปเดตผ่านทางเว็บไซต์แห่งนี้ ได้แก่ Internet Explorer หรือซอฟแวร์อื่นที่ใกล้เคียงเท่านั้น เช่น MSN Messenger Service, DirectPlay, DirectX, Netmeeting, Media Player, Microsoft's Virtual Machine และจะมีการแจ้งเตือน (alert) ในกรณีที่เราไม่ได้ติดตั้ง service pack ตัวล่าสุด หรือไม่ได้ใช้ Internet Explerer เวอร์ชันล่าสุด ( Windows Update จะไม่แจ้งเตือนใดๆ เกี่ยวกับการไม่ได้ติดตั้ง hotfix ของระบบปฏิบัติการ)

Microsoft แจ้งว่า ในระหว่างกระบวนการนี้จะไม่มีข้อมูลเกี่ยวกับเครื่องคอมพิวเตอร์ของเราถูกส่งไปยังเว็บไซต์ของของ Microsoft แต่อย่างใด

นอกจากนี้ท่านยังสามารถดูได้ว่าได้ติดตั้ง hotfix ใดไปบ้างแล้ว หลังจากการติดตั้งเรียบร้อยแล้ว จะมี popup แจ้งให้รีบูตเครื่องคอมพิวเตอร์ของท่าน

5. Installing Hotfix
สำหรับการติดตั้ง hotfix นั้น ท่านสามารถติดตามได้จากเอกสารเรื่อง วิธีการติดตั้ง Microsoft Hotfix และ Service Pack




Home || เอกสารเผยแพร่ || Microsoft

ThaiCERT Disclaimer | Copyright © 2001 ThaiCERT(NECTEC). All rights reserved.