|
|
|||||||
เอกสารฉบับนี้จะแสดง checklist ซึ่งเป็นรายการตรวจสอบความปลอดภัยขั้นพื้นฐานสำหรับเครื่องคอมพิวเตอร์ที่ใช้งาน Windows 2000 Professional เอกสารฉบับนี้ไม่ได้กล่าวถึงการปรับปรุงความปลอดภัยบางส่วน เช่น Encrypting File System (EFS), Kerberos, IPSEC, PKI และ IE Security
ตัวแปรเบื้องต้นที่ควรทราบ
คำเตือน
|
Windows 2000 Server Configuration
ตาราง - แสดง security checklist สำหรับ windows 2000ควรให้ความสำคัญกับสถานที่ตั้งเครื่องคอมพิวเตอร์ เพราะหากมีการเข้าถึงโดยไม่ได้รับอนุญาตก็อาจจะทำให้เป็นอันตรายต่อระบบได้ อาจจะพิจารณาสร้างห้องที่มีความแข็งแรง มีกลไกป้องกันการเข้าถึง เช่น ล็อคเครื่องคอมพิวเตอร์ด้วยกุญแจ หรือติดตั้งประตูอิเล็กทรอนิกส์
มีความสำคัญเป็นอย่างมากโดยเฉพาะกับเครื่องคอมพิวเตอร์พกพา หรือแม้แต่เครื่อง server และ workstation เองก็ตาม เพราะเป็นการป้องกันข้อมูลสูญหาย และยังป้องกันการสั่งให้รีสตาร์ทเครื่องผ่านทางไกล ทั้งนี้การป้องกันดังกล่าวอาจจะไม่เป็นผลถ้าผู้บุกรุกสามารถเข้าถึงเครื่องคอมพิวเตอร์ได้โดยตรง
เนื่องจาก NTFS สามารถควบคุมการเข้าถึงได้ดีกว่า FAT, FAT32, FAT32x หากจำเป็นก็ควรทำการ convert จาก FAT เป็น NTFS โดยใช้คำสั่ง %SystemRoot%\System32\convert.exe โดยลักษณะของคำสั่งคือ
convert volume /FS:NTFS [/V]
หมายเหตุ : volume หมายถึง drive ที่ต้องการ convert เช่น C:
/V หมายถึงให้ทำงานใน verbose mode หรือให้แสดงรายละเอียดออกมาที่ output ด้วย
ข้อควรระวัง : ภายหลังการ convert แล้ว ACL จะถูกตั้งให้เป็น Everyone : Full Control ซึ่งเป็นอันตรายอย่างยิ่ง กรุณาศึกษาวิธีนำค่าดีฟ้อลต์ของ NTFS permission มาติดตั้งใน Windows 2000 ที่ Appendix A Default Security Template
Windows 2000 อนุญาตให้ใช้รหัสผ่านที่ยาวสูงสุดได้ถึง 127 ตัวอักษร โดยรหัสผ่านที่ยาวมากกว่าย่อมมีความปลอดภัยมากกว่า แต่ทั้งนี้ควรมีการผสมผสานระหว่าง ตัวอักษร ตัวเลข อักขระพิเศษ หรืออักษรที่ไม่สามารถมองเห็นได้ (ใช้ ALT ร่วมกับ ASCII code) ซึ่งจะช่วยให้ยากต่อการโจมตีหรือแคร็คได้ดีกว่ารหัสผ่านที่เป็นตัวอักษรอย่างเดียว ความยาวของรหัสผ่านจะต้องมากกว่า 9 ตัวอักษร และควรใช้รหัสผ่านที่แตกต่างกันในแต่ละเครื่อง ไม่ควรใช้รหัสผ่านเดียวกันกับรหัสผ่านสำหรับอี-เมล์เป็นอันขาด
ภายหลังการติดตั้ง Windows 2000 ควรยกเลิกบริการ(network service) ที่ไม่จำเป็น เช่น การติดตั้ง IIS ซึ่งอาจจะไม่จำเป็นสำหรับบางเครื่อง
โดยสามารถยกเลิกบริการที่ไม่จำเป็นได้ ผ่านทาง Administrative Tools | Services และต้องมั่นใจว่าได้เลือก Manual หรือ Disable ไม่เช่นนั้น service นั้นจะรันได้อีกเมื่อเครื่องคอมพิวเตอร์รีสตาร์ทใหม่
ควรยกเลิกหรือลบ account ที่ไม่ได้ใช้งานอีกต่อไป
มีวิธีตรวจสอบ permission ของไฟล์หรือโฟลเดอร์คือ เปิด windows explorer, เลือก Properties จากเมนู, เลือก Security tab, คลิ้ก Advanced เพื่อดูรายละเอียด permission
ตาราง - แสดง File Permissions and Descriptions| Special Permission | Description |
| Traverse Folder/Execute File |
Travese Folder อนุญาตให้ผู้ใช้สามารถเคลื่อนที่ผ่าน โฟลเดอร์หรือไฟล์ของผู้อื่นได้ โดยไม่สนใจว่าจะมี permission บนไฟล์หรือโฟลเดอร์ดังกล่าวนั้นหรือไม่ ซึ่ง permission นี้มีประโยชน์เมื่อผู้ใช้คนดังกล่าวไม่มีสิทธิ์ใน Bypass Traverse Checking Execute File : อนุญาตให้ผู้ใช้สามารถรันไฟล์โปรแกรมนั้นได้ |
| List Folder/Read Data |
List Folder: อนุญาตให้มีสิทธิ์อ่านไฟล์และโฟลเดอร์ภายใต้โฟลเดอร์นั้นๆ Read Data: อนุญาตให้อ่านไฟล์นั้นได้ |
| Read Attributes | อนุญาตให้มองเห็น NTFS attribute เช่น "Read Only", "Hidden" |
| Read Extended Attributes | อนุญาตให้มองเห็น extended attributes ได้ ซึ่งขึ้นอยู่กับแต่ละโปรแกรม |
| Create Files/Write Data |
Create Files: อนุญาตให้สร้างไฟล์ใหม่ภายใต้โฟลเดอร์นั้นได้ Write Data: อนุญาตให้แก้ไขข้อมูลในไฟล์และเขียนทับไฟล์ที่มีอยู่แล้วได้ |
| Create Folders/Append Data |
Create Folder: สามารถสร้างโฟลเดอร์ภายใต้โฟลเดอร์ที่ระบุไว้ได้ Append Data: อนุญาตให้เพิ่มเติมข้อมูลต่อท้าย (append) ไฟล์(เท่านั้น)ได้ |
| Write Attributes | อนุญาตให้แก้ไข NTFS atrribute ได้ เช่น "Read Only", "Hidden" |
| Write Extended Attributes | อนุญาตให้แก้ไข extended attributes ได้ ซึ่งขึ้นอยู่กับแต่ละโปรแกรม |
| Delete Subfolders and Files | อนุญาตให้ลบข้อมูลไฟล์และโฟลเดอร์ที่อยู่ภายใต้ได้ โดยไม่สนใจว่ามี Delete permission ในซับโฟลเดอร์หรือไฟล์หรือไม่ |
| Delete | อนุญาตให้ลบไฟล์หรือโฟลเดอร์ได้ |
| Read Permissions | อนุญาตให้ดู permission ของไฟล์และโฟลเดอร์ได้ |
| Change Permissions | อนุญาตให้เปลี่ยน permission ของไฟล์และโฟลเดอร์ได้ |
| Take Ownership | อนุญาตให้เป็นเจ้าของไฟล์และโฟลเดอร์ได้ |
การเปลี่ยนแปลง permisson สามารถทำได้สองวิธีคือ ใช้ Microsoft management Console (MMC) Security Templates ซึ่งจะแก้ไข permission ตามที่เทมเพลตระบุไว้ ส่วนอีกวิธีหนึ่งคือการแก้ไขในแต่ละไฟล์และโฟลเดอร์เอง
การแก้ไข permission โดยใช้ MMC security template สามารถทำได้โดย เลือก Security Templates ไปยังไดเรกทอรี %SystemRoot%\Security\Templates แล้วเลือกไฟล์เทมเพลตที่ต้องการ แล้วจึงเลือก File System ทั้งนี้ขอแนะนำให้เพิ่มโฟลเดอร์ %SystemRoot%\$NtUninstall* โดยให้มี permission สำหรับ Administrators, System เป็น Full Control
กรณีที่ upgrade จาก Windows NT ต้องลบไดเรกทอรีที่ตกค้างมา ดังนี้
การป้องกันการนำข้อมูลกลับมาใช้
ไฟล์ที่ถูกลบโดยใช้ Windows Explorer จะถูกนำไปเก็บไว้ใน Recycled Bin ซึ่งบางครั้งไฟล์ดังกล่าวเป็นไฟล์ที่มีความสำคัญต่อระบบ
ควรป้องกันการนำไฟล์ที่เก็บไว้ใน Recycle Bin กลับไปใช้ใหม่ โดยการตั้งออพชันให้ลบไฟล์ไปจริงๆ
ดังนี้
นอกจากนี้ยังควรป้องกันการนำข้อมูลของ System Page File ซึ่งเป็นข้อมูลที่เกิดจากระบบ Virtual Memeory ใน Windows 2000 กลับมาใช้ โดยปกติแล้วข้อมูลดังก่าวได้รับการป้องกันเป็นอย่างดีจากระบบปฏิบัติการ อย่างไรก็แล้วแต่ควรสั่งการให้ Windows 2000 ลบข้อมูลดังกล่าวทิ้งเมื่อ Windows 2000 shutdown โดย
ควรยกเลิกการแชร์ไฟล์ที่ไม่จำเป็นทั้งหมด ในกรณีที่จำเป็นต้องทำการแชร์ไฟล์ มีคำแนะนำดังนี้
นอกจากนี้ควรจำกัดการเข้าถึงไฟล์ที่แชร์ไว้ของ anonymous ซึ่งเป็นที่รู้จักกันดีในชื่อ NULL session connection ที่ใช้เพื่อแสดงรายชื่อ account และ shares name ที่มีอยู่ทั้งหมด ซึ่งสามารถป้องกันได้โดย
นอกจากนี้ควรยกเลิกการแชร์ไฟล์โดยดีฟ้อลต์ของ Windows 2000 ซึ่งตรวจสอบได้โดยใช้คำสั่ง net share เพื่อดูว่ามีข้อมูลอะไรถูกแชร์ไว้บ้าง ซึ่งสามารถยกเลิก administrative share ได้ 2 วิธีคือ
| Share | Path and Function |
| C$ D$ E$ | เป็น root ของแต่ละ partition ใน Windows 2000 Professional มีเฉพาะผู้ใช้ที่เป็น Administrators หรือ Backup Operators group เท่านั้นที่สามารถเข้าใช้แชร์โฟลเดอร์ดังกล่าว |
| ADMIN$ | %SYSTEMROOT% แชร์นี้ถูกใช้โดยระบบในระหว่างการทำ remote administration ซึ่ง path ดังกล่าวมักจะเป็น Windows 2000 system root (ปกติมีค่าเป็น C:\Winnt). |
| FAX$ | มีเฉพาะใน Windows 2000 server ถูกใช้โดย fax client เพื่อใช้ในการส่งข้อมูลแฟกซ์ |
| IPC$ | ใช้เป็นช่องทางการสื่อสารระหว่างโปรแกรม ถูกใช้เมื่อเรียกดูทรัพยากรที่ถูกแชร์ไว้ในเครื่องคอมพิวเตอร์ |
| NetLogon | ถูกใช้โดย Net Logon service ใน Windows 2000 Server ในระหว่างการร้องขอล็อกออน |
| PRINT$ | %SYSTEMROOT%\SYSTEM32\SPOOL\DRIVERS ถูกใช้เพื่อการควบคุม printer ในระยะไกล |
ในการแชร์ไฟล์ปกติ ผู้ใช้ทุกคนจะมีสิทธิ์เป็น Full Control เสมอ ดังนั้นในการแชร์ไฟล์ทุกครั้งควรตั้งค่า permission ที่เหมาะสม เช่น Everyone = Read
เพื่อเป็นการตรวจจับการบุกรุกที่อาจจะเกิดขึ้น จึงควร enable auditing ในบางเหตุการณ์ ดังนี้
ตาราง - แสดงรายชื่อเหตุการณ์ที่ควร audit (เป็นอย่างน้อย)| Event | Level of Auditing |
| Account logon events | Success, failure |
| Account management | Success, failure |
| Logon events | Success, failure |
| Object access | Success |
| Policy change | Success, failure |
| Privilege use | Success, failure |
| System events | Success, failure |
สามารถกำหนดให้ทำการ audit เหตุการณ์ได้ผ่านทาง Administrative Tools | Local security Policies | Local Policies | Audit Policy
โดยปกติแล้วเมื่อกดปุ่ม Ctrl-Alt-Del ใน login dialog box จะมองเห็นรายชื่อผู้ใช้คนล่าสุดที่ล็อกอินเข้าสู่ระบบ ซึ่งถือว่าง่ายต่อการทำ password cracking ดังนั้นจึงควรป้องกันการแสดงผลดังกล่าว โดย
เมื่อระบบมีปัญหาไม่สามารถทำงานต่อไปได้ อาจจะเกิดจากตัวระบบเองหรือโปรแกรมใช้งานก็แล้วแต่ ซึ่งบางครั้งจะเกิด "Blue Screen of Death" จะมี dump file เกิดขึ้นจากเหตุการณ์ดังกล่าว ภายในไฟล์นั้นอาจจะมีข้อมูลที่มีความสำคัญกับระบบมาก หากผู้บุกรุกได้ข้อมูลดังกล่าวไปก็อาจจะมีผลกับความมั่นคงของระบบ ดังนั้นผู้ดูแลระบบควรป้องกันการสร้าง dump file (สามารถกำหนดให้สร้าง dump file กลับเหมือนเดิมได้) โดยเข้าไปที่ Control Panel > System Properties > Advanced > Startup and Recovery และเปลี่ยนออพชันของ "Write Debugging Information" ให้เป็น None
โดยปกติแล้วรายชื่อผู้ใช้ Guest จะถูก disable อยู่แล้ว หากมัน enable ให้ disable เสีย
โดยปกติ Windows 2000 อนุญาตให้ Administrator และ Backup Operators สามารถเข้าถึงและแก้ไขข้อมูลเรจิสทรีผ่านทางเครือข่ายได้ ซึ่งสามารถป้องกันการเข้าถึงได้โดยการแก้ไข permission ของ เรจิสทรีคีย์ด้านล่าง
| Hive | HKEY_LOCAL_MACHINE \SYSTEM |
| Key | \CurrentControlSet\Control\SecurePipeServers |
| Value Name | \winreg |
หมายเหตุ การแก้ไขเรจิสทรีอาจทำให้เกิดความเสียหายต่อระบบได้ กรุณาใช้ด้วยความระมัดระวัง
ทั้งนี้การแก้ไขเรจิสทรีดังกล่าวอาจจะมีผลกระทบกับการใช้งานในบางหน้าที่ เช่น Directory Replicator และ Spooler service ซึ่งต้องอาศัยการเข้าถึงเรจิสทรีผ่านเครือข่าย ซึ่งสามารถแก้ไขได้โดยเพิ่ม service ที่ต้องการให้เข้าถึงได้ผ่านทางเครือข่าย ไปยังเรจิสทรีคีย์ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\ winreg\AllowedPaths เช่น
Value: Machine Value Type: REG_MULTI_SZ - Multi string Default Data: System\CurrentControlSet\Control\ProductOptions
System\CurrentControlSet\Control\Print\Printers
system\CurrentControlSet\control\Server Applications
System\CurrentControlSet\Services\Eventlog
Software\Microsoft\Windows NT\CurrentVersionValue: Users - Does not exist by default.
รายละเอียดเพิ่มเติมในการแก้ไขเรจิสทรีดังกล่าว โปรดศึกษาจาก Q153183
อ้างอิงจาก Default
Access Control Settings in Windows 2000 สามารถปรับเปลี่ยน registry ACLs
ได้ตามความเหมาะสม โดยมีดีฟ้อลต์ที่ตั้งค่าไว้แล้วตามตารางด้านล่างนี้
| Registry Object | Default Power User Permissions | Default User Permissions |
|---|---|---|
| HKEY_LOCAL_MACHINE |
|
|
| HKLM\Software |
Modify | Read |
| HKLM\SW\Classes\helpfile |
Read | Read |
| HKLM\SW\Classes\.hlp | Read | Read |
| HKLM\SW\MS\Command Processor | Read | Read |
| HKLM\SW\MS\Cryptography | Read | Read |
| HKLM\SW\MS\Driver Signing | Read | Read |
| HKLM\SW\MS\EnterpriseCertificates | Read | Read |
| HKLM\SW\MS\Non-Driver Signing | Read | Read |
| HKLM\SW\MS\NetDDE | None | None |
| HKLM\SW\MS\Ole | Read | Read |
| HKLM\SW\MS\Rpc | Read | Read |
| HKLM\SW\MS\Secure | Read | Read |
| HKLM\SW\MS\SystemCertificates | Read | Read |
| HKLM\SW\MS\Windows\CV\RunOnce | Read | Read |
| HKLM\SW\MS\W NT\CV\DiskQuota | Read | Read |
| HKLM\SW\MS\W NT\CV\Drivers32 | Read | Read |
| HKLM\SW\MS\W NT\CV\Font Drivers | Read | Read |
| HKLM\SW\MS\W NT\CV\FontMapper | Read | Read |
| HKLM\SW\MS\W NT\CV\Image File Execution Options | Read | Read |
| HKLM\SW\MS\W NT\CV\IniFileMapping | Read | Read |
| HKLM\SW\MS\W NT\CV\Perflib | Read (via Interactive) | Read (via Interactive) |
| HKLM\SW\MS\W NT\CV\SecEdit | Read | Read |
| HKLM\SW\MS\W NT\CV\Time Zones | Read | Read |
| HKLM\SW\MS\W NT\CV\Windows | Read | Read |
| HKLM\SW\MS\W NT\CV\Winlogon | Read | Read |
| HKLM\SW\MS\W NT\CV\AsrCommands | Read | Read |
| HKLM\SW\MS\W NT\CV\Classes | Read | Read |
| HKLM\SW\MS\W NT\CV\Console |
Read | Read |
| HKLM\SW\MS\W NT\CV\ProfileList |
Read | Read |
| HKLM\SW\MS\W NT\CV\Svchost | Read | Read |
| HKLM\SW\Policies | Read | Read |
| HKLM\System | Read | Read |
| HKLM\SYSTEM\CCS\Control\ SecurePipeServers\winreg |
None | None |
| HKLM\SYSTEM\CCS\Control\ Session Manager\Executive |
Modify | Read |
| HKLM\SYSTEM\CCS\Control\ TimeZoneInformation |
Modify | Read |
| HKLM\SYSTEM\CCS\Control\ WMI\Security |
None | None |
| HKLM\Hardware | Read (via Everyone) | Read (via Everyone) |
| HKLM\SAM | Read (via Everyone) | Read (via Everyone) |
| HKLM\Security | None | None |
| HKEY_USERS | ||
| USERS\.DEFAULT | Read | Read |
| USERS\.DEFAULT\SW\MS\NetDDE | None | None |
| HKEY_CURRENT_CONFIG |
= HKLM\System\CCS\HardwareProfiles\Current |
| HKEY_CURRENT_USER | Full Control | Full Control |
| HKEY_CLASSES_ROOT | = HKLM\SW\Classes |
ควรจำกัดการเข้าถึงแบบ anonymous มายัง LSA ซึ่งเป็นจุดที่ใช้เก็บข้อมูลการดูแลระบบของเครื่องปัจจุบัน รวมทั้งข้อมูลการจำกัดการเข้าถึงและสิทธิ์ต่างๆ เพื่อป้องกันการเข้าถึงจาก anonymous ให้แก้ไขเรจิสทรีดังนี้
| Hive | HKEY_LOCAL_MACHINE \SYSTEM |
| Key | CurrentControlSet\Control\LSA |
| Value Name | RestrictAnonymous |
| Type | REG_DWORD |
| Value | 1 |
นำ Domain Security Policy หรือ Local Security Policy มาใช้เพื่อเพิ่มความมั่นคงของรหัสผ่าน โดยรหัสผ่านควร
Windows 2000 สามารถทำการล็อค account ที่ป้อนรหัสผ่านผิดพลาด 3-5 ครั้งได้ โดยอาจจะตั้งให้ปลดล็อดเองหลังจากเวลาผ่านไป 30 นาที หรือต้องให้ผู้ดูแลระบบเป็นผู้ปลดล็อคให้เท่านั้น ("Forever (until admin unlocks)")
โดยใน Windows NT Server Resource Kit มีเครื่องมือชื่อ passprop.exe ที่อนุญาตให้ปรับเปลี่ยนค่าคุณสมบัติบางอย่างที่ไม่สามารถทำได้ผ่านทางเครื่องมือที่มีมาให้กับ Windows 2000 เช่น อนุญาตให้ทำการล็อค account Adinistrator ได้
เนื่องจาก account Administrator ถูกติดตั้งมาโดยอัตโนมัติใน Windows 2000 ซึ่งทำให้ง่ายต่อผู้บุกรุกในการพยายามเจาะเข้าระบบ ดังนั้นควรกระทำการกับ account นี้ดังนี้
ติดตั้งซอฟต์แวร์ป้องกันไวรัส และปรับปรุงข้อมูลไวรัสเสมอทั้งในระบบอินเทอร์เน็ตและอินทราเน็ต โดยสามารถตรวจสอบรายชื่อซอฟต์แวร์ป้องกันไวรัสได้จาก http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/virus/virus.asp
ติดตั้ง Service Pack ล่าสุดเสมอ โดยปัจจุบัน (ขณะเรียบเรียง) Service Pack ล่าสุดคือ Windows 2000 SP2
ไมโครซอพท์มีบริการแจ้งเตือน security bulletin หรือข่าวสารที่เกี่ยวข้องกับ security ผ่านทางอี-เมล์ (Security Notification Service) ซึ่งควรพิจารณาติดตั้ง hot-fix ที่เกี่ยวข้องกับระบบของตนเองทันที
สามารถตรวจสอบรายชื่อ post-service pack security hotfixes ได้ที่ HotFix & Security Bulletin Service และศึกษารายละเอียดเพิ่มเติมได้จาก วิธีการติดตั้ง Microsoft Hotfix และ Service Pack
มีไฟล์หลายไฟล์ที่เป็นเทมเพลตหรือต้นแบบสำหรับ security setting สำหรับ Windows 2000 ที่ติดตั้งแบบ clean-installed (ไม่ได้ upgrade) โดยไฟล์เหล่านี้จะอยู่ภายใต้ %SystemRoot%\inf ซึ่งจะมีประโยชน์ในกรณีที่ต้องการติดตั้ง default security setting สำหรับระบบที่ผ่านการ convert FAT==>NTFS โดยการใช้คำสั่ง secedit.exe ร่วมกับไฟล์ที่เป็นเทมเพลต
| File Name | Platform |
| Defltsv.inf | Windows 2000 Server/Advanced Server |
| Defltwk.inf | Windows 2000 Professional |
ศึกษารายละเอียดการใช้คำสั่ง secedit ได้โดยการรันคำสั่งดังกล่าว ซึ่งจะปรากฏ
HTML help ที่แสดงรายละเอียดและวิธีการใช้งาน
| Home
|| เอกสารเผยแพร่ || Microsoft
ThaiCERT Disclaimer | Copyright © 2001 ThaiCERT(NECTEC). All rights reserved. |