กรุณาปิด AdBlock!

Cancel your adBlock please.

ขยายหน้าเว็บRegister Login
 โฆษณา
หน้า: [1]  ลงล่าง
  พิมพ์  
topic

Apache, IIS มันคืออะไร ?  (อ่าน 30131 ครั้ง)

ไอที
« เมื่อ: 13, 08 2007, 08:09:18 PM »
Apache, IIS มันคืออะไร ?

มารู้จัก Apache กันเถอะ มันคืออะไร ?

Apache ทำไมมาอยู่ใน Security คือวันก่อนมีคนถามผม
เกี่ยวกะไวรัสและเห็นว่าเกี่ยวข้องกะserverของเขาคือ Apache ด้วยแต่นั่นไม่
ใช่ประเด็น
เหตุที่ผมนำมันมาใส่ในหัวข้อนี้ เพราะว่า Web และ database server เป็น
หัวใจสำคัญของการใช้งานอินเทอร์เน็ตไปแล้ว ดังนั้น Web และ database
server มีความสำคัญในการทำงานของ Application บนอินเทอร์เน็ต นี่คือ
สาเหตุที่ทำให้ hacker สนใจเหล่า Web และ database server เพราะหาก
พวกเขาเจาะทาง Application ได้ เข้าก็มีโอกาศควบคุม server นั้นๆ ได้เลย
ดังนั้น ในการสร้างความปลอดภัยให้ Web และ database server คุณจำเป็น
ต้องรู้เทคโนโลยี้พื้นฐานและการทำงานของมันก่อน และรวมไปถึงจุดอ่อนที่เป็น
เป้าหมายในการ hack ได้
ในหัวข้อนี้จะทำความรู้จักกับ Web และ database server ยอดนิยมสอง
ประเภทคือ Apache และ IIS ของไมโครซอฟต์ ผมจะอธิบายพื้นฐานของมัน
ความสลับซับซ้อน และความปลอดภัย
-ต้องขออภัยที่บางส่วนของเนื้อหา อาจดูเป็น Advance เกินไปนะครับ

Apache
ดังที่ได้เขียนไว้ในเว็บไซต์ของเจ้า Apache เอง ว่า "Apache เป็นเว็บเซอร์
เวอร์ ที่ได้รับความนิยมมากที่สุดบนอินเทอร์เน็ตตั้งแต่เดือนเมษายน 1996"
หากเหตุสำคัญที่ทำใหัมัน ได้รับความนิยมมี 3 ประการคือ ได้แก่ มันทำงานได้
หลาย OS (แพล็ตฟอร์ม) ฟีเจอร์ที่มีมาก+กับต้นทุนต่ำ Apache ทำงานได้
เกือบทุก แพล็ตฟอร์มในปัจจุบัน และมีฟีเจอร์ที่หลากหลายเพื่อให้นักพัฒนาเว็บ
สามารถสร้างและเพิ่มขยายขีดความสามารถในการออกแบบเว็บได้ และสุด
ท้ายมันให้ราคาที่ดีที่สุดคือ "ฟรี"
มี web server มากมายบนอินเทอร์เน็ตใช้ Apache จึงไม่ต้องแปลกใจที่มัน
จะเป็นเป้าหมายของเหล่า hacker ในทุกๆ OS (แพล็ตฟอร์ม) มักจะมีฟีเจอร์
ที่แถมมา ล่วนแต่ให้โอกาศ hacker ฉวยโอกาศในการเจาะได้ มันแปลก แต่จริง
Apache มีฟีเจอร์ที่เราควรตระหนักในความปลอดภัยคือ
-Virtual Hosts
-การสร้างไดนามิกคอนเท็นด้วย CGI
-handler
-IIS (Internet Information Server)
ฟีเจอร์มากมายที่น่าสนใจของ Apache นั้นล้วนดึงดูด ทั้งในแง่การนำไปพัฒนา
และในแง่ของการ เจาะ

Virtual Host (เวอร์ชวล โฮสต์)
แบ่งได้ 2 ประเภท

1. กลไกแบบ Named-based
กลไกแบบ Named-based จะบังคับให้ผู้ใช้ต้องระบุชื่อเฉพาะของแต่ละ HTTP
request โดยทั่วไปจะใช้ชื่แบบ DSN (เด๋วคงต้องไปเขียนกระทู้เอธิบายเจ้า
DNS อีกแน่เลย) คือการให้ผู้ใช้นั้น ส่งการ้องขอมาในรูปของชื่อ (คือการพิมพ์
www.example.com link ลงไปใน brouser) โดย DSN server ของผู้ให้บริการ
ต้องสร้างเรคคอร์ดประเภท CNAME ไว้ใน DSN server ของตัวเอง ซึ่งจะ
ต้องชี้ไปที่ IP หมายเลขเดียวกัน ยกตัวอย่างง่ายๆ บางเว็บนั้น มีชื่อมากกว่า 1
ชื่อแต่ เข้าไปที่เว็บเดียวกัน (ทดลองได้โดยนำชื่อเว็บมาทำการ ping แล้วมัน
จะแจ้งไปที่ IP เดียวกัน
2. กลไกแบบ IP-based
กลไกแบบ IP-based ตัว server ต้องมีหลาย IP ที่แตกต่างกันสำหรับแต่ละเว็บ
เหมือนกับการเซ็ต IP ที่สอง (secondary IP address) บนเครื่องวินโดวส์
และยูนิกซ์
ที่ไม่เหมือนกับ กลไกแบบ Named-based อีกอย่างคือการตรวจเช็ค Vitual
Hosts แบบ IP-based นั้นยากกว่า เพราะแต่ละเว็บเซอร์เวอร์จะมี IP ที่แตก
ต่างกัน แต่ก็ยังมีวิธีค้นหา คือการดูที่ MAC address ของแต่ละ IP การใช้วิธี
นี้จำเป็นต้องเข้าถึง LAN ให้ได้ไม่เช่นนั้นจะไม่สามารถแยกแยะ MAC
address ได้เลย
Vitual Hosts นั้นดูๆ แล้วอาจไม่เกี่ยวกับความปลอดภัยแต่มันก่อให้เกิดผล
กระทบได้เพราะทันทีที่หนึ่ง เว็บไซต์ที่อยู่บน vitual hosts เดียวกันโดนเจาะ
มันจะพลอยทำให้เว็บไซต์อื่นๆ โดนเจาะไปด้วย

CGI
CGI เป็นหนึ่งในกลไกดั้งเดิมที่ได้รับการพัฒนาขึ้นมาสำหรับนำเสนอไดนามิกคอนเท็น บนเว็บ Apache นั้นสนับสนุน CGI และการติดตั้ง CGI ก็เปงเรื่องง่าย
ไดเรคทีฟ ScriptAlias จะบอก Apache ว่าไดเรกทีฟต่อ
ไปนี้เก็บสคริปต์ที่สามารถ เอ็กซีคิวต์ ได้ โดย มันบอก Apache ว่าการร้องขอ
หรือ URL request ใดๆ ที่ขึ้นต้นด้วยการอ้างถึงไดเรกทอรี \cgi-bin จะถูก
แมปไปที่ไดรเกทอรี \opt\apache\cgi-bin ScriptsAlias เป็นวิธีการสร้าง
ความปลอดภัยให้กับ webserver เพราะมันช่วยควบคุมว่าสคริปต์ที่เก็บไว้ในได
เรกทอรีใดบ้างที่สามารถถูก เอ็กซีคิวต์ ได้

แฮนเดลอร์ (Handlers)
แฮนเดลอร์ ในโลกของเว็บเป็นกลไกการจัดการ้องขอเว็บเพจโดยดูจากชื่อไฟล์
ซึ่งนี่เป็นอีกเทคนิคหนึ่งที่ใช้กันในโลกของอินเทอร์เน็ตปัจจุบัน ไฟล์บางไฟล์เช่น
*.ASP *.JSP และอื่นๆ ต้องอาศัยการกระทำหรือ Action บางอย่างเช่นอาศัย
จาวาเอนจิ้น (java engine) และ asp engine นั้นตั้งแต่การถือกำเนิดของ
Apache 1.1 Webserver มีความสามารถในการกำหนดโดยชัดเจนถึง
พฤติกรรมหรือ action ที่ webserver ต้องการะทำกับไฟล์โดยดูจากชื่อไฟล์
ดังนั้นนักพัฒนาเว็บสามารถแมปแฮนเดลอร์เข้ากับชื่อไฟล์นอกจากมาตรฐานได้
IIS (Internet Information Server) ของไมโครซอฟต์
ไมโครซอฟได้พัฒนา IIS ขึ้นมาเพื่อส่งเสริมกลยุทธ์ด้านอินเทอร์
เน็ตของตนเอง และเพื่อให้องค์กรต่างๆ ใช้งานมันถึงได้ผนวกเอา IIS ขึ้นมาเป็น
webserver หนึ่งในระบบวินโดวส์ ตั้งแต่รุ่น NT 4.0 ถึงแม้ IIS จะมีส่วนแบ่ง
ในตลาดไม่สูงเท่ากับ Apache แต่มันก็เป็นซอฟต์แวร์ที่มีจุดเด่นหลายอย่าง แต่
โดยค่า default ของ IIS นั้นมีช่องโหว่มากมาย

มาดูช่องโหว่ของ IIS กัน
ISAPI Applications
ISAPI Applications นั้นคืออะไร มันคือ สิ่งที่ IIS สร้างไว้เพื่อเพิ่มขึดความ
สามารถ ของ webserver โดยเปิดโอกาศให้เว็บโปรแกรมเมอร์ เขียน
โปรแกรมขึ้นมาเองเพื่อประมวลผลและจัดการข้อมูลและการร้องขอต่างๆ
ISAPI Applications ยังอนุญาตให้นักพัฒนา "ดักจับ" ทุกแพ็กเก็ตที่วิ่งเข้ามา
ได้ และสามารถที่จะประมวลผลล่วงหน้า (pre-process) ก่อน ดูเหมือนว่า น่า
จะเป็นสิงที่ดี อืม มันก็อำนวยความสะดวกแก่เราจริง แต่ในทางเดียวกันมันก็
อำนวยความสะดวกสำหรับเหล่า hacker ด้วย โดยค่า default แล้ว IIS ติดตั้ง
ISAPI filters ไว้จำนวนมาก และถูกนำมาใช้เพื่อเจาะระบบได้
ถึงแม้ว่า ISAPI filters จะเพิ่มพังก์ชั่นการทำงานที่มากมายให้กับ webserver
แต่มันก็ต้องรับผิดชอบต่อความเสียหายที่เกิดจากเจ้า CodeRed worm และ
Nimda worm ซึ่งมูลค่าเสียหายว่า $100,000 ที่เกิดขึ้น โดย CodeRed
worm อาศัยช่องโหว่จากเงื่อนไขการเกิด bufferover flow ในส่วนขยายของ
.ida โดยมันจะฉวยโอกาศจากช่องโหว่ของ .ida ที่มีอยู่บน Index Server ซึ่ง
จะเปิดโอกาศให้ ้hacker ร้องขอ (request) ไปยัง webserver และกระตุ้นให้
เกิด overflow บน DLL ที่ทำหน้าที่ประมวลผลการร้องขอนั้น และนำไปสู่การ
เอ็กซีคิวต์คำสั่งใดๆ ก็ได้บน server และสามารถเข้าครอบครองเครื่องนั้นได้
อย่างสมบูรณ์
ไม่เพียงแค่นั้น ใน IIS รุ่นเก่าๆ (ตั้งแต่ version 4 ลงไป) มีจุดอ่อนที่ที่ใหญ่
หลวงคือ ช่องโหว่ในการส่ง request ในลักษณะอักขระ / และ \ เข้าไป เพื่อ
หลอกให้ server หลงทาง และเผย shell ออกมา ทำให้ hacker เจาะผ่าน
webbrouser ได้อย่างง่ายดาย และการเจาะผ่าน webbrouser นั้น ต่อให้ไฟล์
วอลล์ราคาเป็นล้าน มันก็ป้องกันการ hack ทางนี้ไม่ได้
IIS มีฟีเจอร์อีกอย่างหนึ่งคือ ไดเรกทอรี่เสมือน (Vitual directories)
ไดเรกทอรี่เหล่านี้ช่วย admin ในการเซตอัป ลิงก์ เชื่อมโยงระหว่างไดเรกทอรี
ภายใต้รูตไดเรกทอรี่และไดเรกทอรีอื่นบนฮาร์ดดิส หรือบนเครื่องอื่น
virtual directories ต่อไปนี้เป็นสิ่งที่ไม่จำเป็น และมันก่อให้เกิดช่องโหว่ได้
-Scripts = ถ้าคุณจำเป็นต้องใช้ CGI หรื ASP คุณจำเป็นต้องคงกลไกนี้ไว้ แต่
โดยทั่วไปแล้ว เราแนะนำว่าให้ยกเลิกมันออกไป เพราะมันเป็นเป้าหมายของ
การโจมตีพื้นฐาน
-_vti_bin = จำเป็นสำหรับการรองรับ FrontPage
-Printer = โดยทั่วไปใช้สำหรับการพิมพ์เอกสารผ่านเว็บ
โดยทั่วไป บางฟีเจอร์ขอ web server นั้นสามารถเอาออกไปได้ โดยไม่มีผล
กระทบกับระบบ แต่ถึงกระนั้น ก็ควรจะเช็คกับ admin. ของคุณก่อนที่จะยกเลิก
มันออกไป

การป้องกัน
1. ในวิธีที่ง่ายและค่อนข้างเห็นผลคือการ อัพเดท patch ให้ server เราเป็น
เวอร์ชั่นใหม่อยู่เสมอ
2. ยกเลิกฟีเจอร์ที่ไม่จำเป็นออกไป
3. ศึกษากลไกการทำงานของ webserver ตัวเอง ดูว่าตรงไหนมีโอกาศเสี่ยง
กับการเป็นเป้าหมายได้ และเอามันออกไป
4. ติดตามข่าวเกี่ยวกับช่องโหว่ใหม่ๆ เสมอ หากเราล้าหลัง เราจะกลายเป็นเด็ก
ให้ hacker มันลูบหัวเอา

ที่มา : Thaiadmin link
Maclaren
เด็กไอทีคลับหน้าใหม่
*
พลังความคิด 0
กระทู้: 22
บันทึกการเข้า
ไอที
« ตอบ #1 เมื่อ: 4, 11 2008, 08:23:30 PM »
เอ่อ แล้วทุกวันนี้มันปลอดภัยรึยังหว่า ต้องใช้เรียนด้วยอ่ะดิ
IRONKONG
RUK-YOM
เทพไอทีมาจุติ
*
พลังความคิด 37
กระทู้: 2,486
เว็บไซต์
บันทึกการเข้า

"BN002"
หน้า: [1]  ขึ้นบน
  พิมพ์  
 
กระโดดไป: