เมื่อ ASP ได้รับความนิยมอย่างรวดเร็วในเว็บไซต์ทั่วโลกที่มีคุณสมบัติที่ยืดหยุ่นเรียบง่ายใช้งานได้จริงและมีประสิทธิภาพข้อบกพร่องและช่องโหว่ของตัวเองบางอย่างกำลังคุกคามนักพัฒนาเว็บไซต์ทั้งหมด เราจะทำการอภิปรายอย่างละเอียดเกี่ยวกับช่องโหว่ความปลอดภัย ASP และ IIS ล่าสุดในฉบับนี้
เมื่อต้นเดือนที่ผ่านมา Microsoft ถูกกล่าวหาอีกครั้งว่าไม่ให้ความสนใจกับความปลอดภัยของซอฟต์แวร์เว็บเซิร์ฟเวอร์อีกครั้ง ข้อบกพร่องที่เรียกว่าคำขอ HTR ที่ผิดกฎหมายพบได้ในผลิตภัณฑ์ยอดนิยมของ Microsoft IIS Sever 4.0 จากข้อมูลของ Microsoft ข้อบกพร่องนี้จะทำให้รหัสใด ๆ ทำงานบนฝั่งเซิร์ฟเวอร์ในบางสถานการณ์ แต่ในคำพูดของ Firas Bushnaq ซีอีโอของ EEYE บริษัท รักษาความปลอดภัยอินเทอร์เน็ตซึ่งค้นพบช่องโหว่มันเป็นเพียงส่วนเล็ก ๆ ของภูเขาน้ำแข็ง Bushnaq กล่าวว่า Microsoft ได้ปกปิดสถานการณ์บางอย่างเช่นแฮ็กเกอร์ที่สามารถใช้ช่องโหว่นี้เพื่อควบคุมเซิร์ฟเวอร์ IIS ได้อย่างเต็มที่และไซต์อีคอมเมิร์ซจำนวนมากขึ้นอยู่กับระบบนี้
รายละเอียดของช่องโหว่ของระบบ IIS นี้แสดงอยู่ด้านล่าง:
ช่องโหว่ด้านความปลอดภัยล่าสุดของ IIS
ระบบที่ได้รับผลกระทบ:
Internet InformationServer4.0 (IIS4)
ตัวเลือก Microsoft Windows NT 4.0 SP3 Pack 4
ตัวเลือก Microsoft Windows NT 4.0 SP4 Pack 4
ตัวเลือก Microsoft Windows NT 4.0 SP5 Pack 4
วันที่เผยแพร่: 6.8.1999
Microsoft ได้ยืนยันช่องโหว่ แต่ยังไม่มีแพตช์
Microsoft Security ประกาศ (MS99-019):
หัวข้อ: ช่องโหว่คำขอ HTR ผิดปกติ
เวลาวางจำหน่าย: 6.15.1999
สรุป:
Microsoft ได้ยืนยันช่องโหว่ของระบบอย่างจริงจังในผลิตภัณฑ์เว็บเซิร์ฟเวอร์ที่ปล่อยออกมา, Internet Information Server 4.0 ซึ่งส่งผลให้เกิดการโจมตีของบริการบนเซิร์ฟเวอร์ IIS ซึ่งในกรณีนี้อาจทำให้รหัสไบนารีใด ๆ ทำงานบนเซิร์ฟเวอร์ แพตช์สำหรับช่องโหว่จะได้รับการปล่อยตัวในอนาคตอันใกล้โปรดใส่ใจผู้ใช้ IIS ทุกคน
การแนะนำช่องโหว่:
IIS รองรับประเภทไฟล์ที่หลากหลายที่ต้องใช้การประมวลผลฝั่งเซิร์ฟเวอร์เช่น: ASP, ASA, IDC และ HTR อย่างไรก็ตามมีช่องโหว่ด้านความปลอดภัยที่ร้ายแรงใน ISM.DLL ซึ่งเป็นไฟล์ที่รับผิดชอบในการประมวลผลไฟล์ HTR (หมายเหตุ: ไฟล์ HTR นั้นใช้เพื่อจัดการรหัสผ่านผู้ใช้จากระยะไกล)
ช่องโหว่มีบัฟเฟอร์ที่ไม่ผ่านการตรวจสอบใน ISM.DLL ซึ่งอาจก่อให้เกิดภัยคุกคามสองประการต่อการดำเนินงานด้านความปลอดภัยของเว็บเซิร์ฟเวอร์ ก่อนอื่นมีภัยคุกคามจากการปฏิเสธการบริการ แต่เว็บเซิร์ฟเวอร์ IIS จะต้องรีสตาร์ท ภัยคุกคามอีกประการหนึ่งคือการทำให้เกิดอาการปวดหัวมากขึ้นโดยการใช้คำขอไฟล์ที่สร้างขึ้นอย่างดีจะสามารถใช้ประโยชน์จากการล้นแคชมาตรฐานหมายถึงการทำให้รหัสถังขยะทำงานบนฝั่งเซิร์ฟเวอร์ซึ่งในกรณีนี้มีอะไรเกิดขึ้น! ช่องโหว่ไม่รวมไฟล์. htr ที่ให้ฟังก์ชันการทำงานเพื่อจัดการรหัสผ่านผู้ใช้
การวิเคราะห์หลักการ:
มีการล้นในส่วนขยาย IIS อย่างน้อยหนึ่งอัน (ตัวอย่างเช่น: ASP, IDC, HTR) เราคาดการณ์ว่าการล้นจะเกิดขึ้นเมื่อ IIS ผ่าน URL เต็มไปยัง DLL เพื่อประมวลผลส่วนขยาย หาก ISAPI DLL ไม่มีช่วงการตรวจสอบที่ถูกต้องทำให้เกิดการล้นจาก inetinfo.exe ผู้ใช้จะดำเนินการรหัสไบนารีจากปลายระยะไกล วิธีการโจมตี: ส่งคำขอ HTTP ต่อไปนี้ไปที่ IIS: GET/[Overflow] .htr HTTP/1.0, IIS จะผิดพลาด [ล้น] ที่นี่สามารถเป็นรหัสยาว 3K
คุณอาจไม่คุ้นเคยกับไฟล์. htr และฟังก์ชั่นนี้ถูกนำไปใช้โดยชุดไฟล์. htr และส่วนขยาย DLL ของ ISAPI: ISM.DLL เมื่อ URL ที่สมบูรณ์ถูกส่งผ่านไปยัง ISM.DLL จะไม่มีการตรวจสอบขีด จำกัด ขนาดที่เหมาะสมการล้นจะเกิดขึ้นทำให้เซิร์ฟเวอร์ล้มเหลว HTR/ISM.DLL ISAPI เป็นการติดตั้งเริ่มต้นของ IIS4
สารละลาย:
เนื่องจาก Microsoft ไม่ได้เปิดตัวแพทช์ที่ใช้งานได้เราจึงสามารถป้องกันฉุกเฉินได้เท่านั้น
1. ลบส่วนขยาย. htr ออกจากรายการ isapi dlls
บนเดสก์ท็อป NT ของคุณคลิกเริ่ม -> โปรแกรม -> แพ็คตัวเลือก Windows NT 4.0 -> ไมค์
เซิร์ฟเวอร์ข้อมูลอินเทอร์เน็ตของ Rosoft-> Internet Service Manager; คลิกปุ่มกำหนดค่าเลือกการแมปที่เกี่ยวข้องของ .htr ในกล่องรายการแม็พแอปพลิเคชันเลือกลบและตกลง
2. ติดตั้งแพตช์ที่จัดทำโดย Microsoft โปรดใส่ใจกับเว็บไซต์ต่อไปนี้
http://www.microsoft.com/security
http://www.microsoft.com/security/products/iis/checklist.asp
เพื่อนบางคนอาจงงงวย ความตั้งใจของฉัน เราดำเนินการเขียนโปรแกรมเครือข่ายและพัฒนาเว็บไซต์แบบโต้ตอบก่อนอื่นเพื่อพัฒนาและสร้างเว็บไซต์ของเราเอง แต่สิ่งเหล่านี้ทั้งหมดขึ้นอยู่กับความปลอดภัย การป้องกันสร้างความมั่นใจในการทำงานที่ปลอดภัยและปกติของเซิร์ฟเวอร์เว็บไซต์เพื่อให้มั่นใจว่าการรักษาความปลอดภัยและการตรวจสอบข้อมูลผู้ใช้ ฯลฯ เมื่ออีคอมเมิร์ซกลายเป็นวิธีการดำเนินธุรกิจที่กว้างขวางอย่างแท้จริงในอนาคตความปลอดภัยนั้นสำคัญยิ่งกว่า เพื่อนของเราหลายคนยังเป็นความรับผิดชอบของผู้ดูแลระบบเครือข่ายในฐานะโปรแกรมเมอร์ ASP ดังนั้นในบทความนี้ในตอนท้ายผู้เขียนจะแสดงข้อเสนอแนะความปลอดภัยบางอย่างเกี่ยวกับการกำหนดค่าระบบ NT และ IIS ที่เขารวบรวมโดยหวังว่าจะช่วยคุณ
1. ใช้เวอร์ชันล่าสุดของ Microsoft Internet Information Server 4.0 และติดตั้ง NT Service Pack5 เวอร์ชันล่าสุด
2. ตั้งค่าเว็บไดเรกทอรีเช่นตัวอย่างสคริปต์ IISADMIN และ MSADC ใน IIS เพื่อห้ามการเข้าถึงที่ไม่ระบุชื่อและ จำกัด ที่อยู่ IP ก่อนที่ Microsoft จะให้แพตช์ให้ลบการแมปแอปพลิเคชันที่เกี่ยวข้องกับ ISM.DLL
3. ถ้าเป็นไปได้ให้ใช้กลไกไฟร์วอลล์
4. ไดเรกทอรีที่สำคัญเช่นไดเรกทอรีเว็บไดเรกทอรี CGI ไดเรกทอรีสคริปต์และไดเรกทอรี Winnt ควรตั้งค่าด้วยคุณสมบัติ NTFS ใช้ สำหรับไฟล์สำคัญทั้งหมดที่เกี่ยวข้องกับระบบยกเว้นผู้ดูแลระบบบัญชีอื่น ๆ ควรตั้งค่าเป็นสิทธิ์แบบอ่านอย่างเดียวมากกว่าทุกคน/การควบคุมเต็มรูปแบบ
5. เฉพาะการเปิดบริการที่คุณต้องการและบล็อกพอร์ตทั้งหมดที่ไม่ควรเปิดเช่นพอร์ต NetBiOS 139 ซึ่งเป็นพอร์ตอันตรายทั่วไป นอกเหนือจากการใช้ไฟร์วอลล์การตั้งค่า TCP/IP ของ NT ยังมีฟังก์ชั่นนี้: เปิดแผงควบคุม - เครือข่าย - โปรโตคอล - TCP/IP - แอตทริบิวต์ - ขั้นสูง - เปิดใช้งานกลไกความปลอดภัย - การกำหนดค่าซึ่งให้พอร์ต TCP และ UDP ฟังก์ชั่นการ จำกัด โปรโตคอล
6. บัญชีของผู้ดูแลระบบควรตั้งค่าไว้อย่างซับซ้อนมากขึ้นและขอแนะนำให้เพิ่มอักขระพิเศษ
7. เปลี่ยนพอร์ต TCP ของ FTP และ Telnet เป็นพอร์ตที่ไม่ได้มาตรฐาน
8. ลบหุ้นทั้งหมดที่สามารถลบได้รวมถึงการแชร์เครื่องพิมพ์และการแชร์ที่ซ่อนอยู่เช่น ICP $, Admin $ ฯลฯ Microsoft กล่าวว่าทรัพยากรที่ใช้ร่วมกันพิเศษเหล่านี้มีความสำคัญและไม่สามารถลบได้ในกรณีส่วนใหญ่ แต่ในความเป็นจริงแล้วเครื่องจักรที่วางไว้ บนอินเทอร์เน็ตมีขนาดใหญ่
IPC $: เหมาะสำหรับการจัดการคอมพิวเตอร์ระยะไกลและดูทรัพยากรที่ใช้ร่วมกัน
Admin $: จริงๆแล้วมันคือ C:/winnt และไม่จำเป็นต้องแบ่งปัน
C $: ผู้ใช้ลงชื่อเข้าใช้ผู้ดูแลระบบและสำรองข้อมูลสามารถเข้าถึงไดรฟ์ C โดย // ชื่อคอมพิวเตอร์/C $ พวกเขาควรจะปิด
พิมพ์ $: นี่คือไดเรกทอรีที่มีการวางไดรเวอร์เครื่องพิมพ์และยังเป็นรายการที่อันตรายมากเช่นเดียวกับข้างต้น
Netlogon: นี่คือส่วนแบ่งที่จัดการคำขอเข้าสู่ระบบโดเมน หากเครื่องของคุณเป็นตัวควบคุมโดเมนหลักและมีเครื่องอื่น ๆ ในโดเมนที่คุณต้องการเข้าสู่ระบบอย่าลบออกมิฉะนั้นคุณยังสามารถลบได้
จะปิดหุ้นเหล่านี้ได้อย่างไร? ใช้ Server Manager—> Share Directory—> หยุดการแบ่งปัน
9. จัดการไดเรกทอรี ASP จากส่วนกลางและตั้งค่าสิทธิ์การเข้าถึงโดยละเอียดสำหรับไดเรกทอรีโปรแกรม ASP
10. เปลี่ยนชื่อของ sam._ ไฟล์ภายใต้ winnt
การฝึกฝนได้พิสูจน์แล้วว่าไฟล์ที่อาจรั่วไหลผ่านสามารถลบรหัสผ่านได้โดยไม่ต้องลบ
11. สำหรับช่องโหว่การรักษาความปลอดภัย NT ที่รู้จักการทดสอบและการตรวจสอบควรทำในเครื่องของคุณเอง และติดตั้งแพทช์ในเวลา
12. หากจำเป็นให้ใช้กลไกการสื่อสารที่ปลอดภัยของ SSL ที่จัดทำโดย IIS4.0 เพื่อป้องกันไม่ให้ข้อมูลถูกสกัดกั้นออนไลน์