|
 |
 |
 |
 |
 |
 |
 |
How to hardening your UNIX/Linux OS by A.Phakkhaphong Kritawat CCNA, MCSE Windows 2000 with XP , MCSA Windows 2000 ,MCDBA SQL Server 2000 , OCA 9i ACIS Professional Team E-mail:phakkhaphong |
จาก e-week ฉบับที่แล้วเราได้พูดกันเกี่ยวกับช่องโหว่ (Vulnerability) ที่พบบ่อยในระบบปฏิบัติการวินโดว์ไปบางส่วนแล้ว ในครั้งนี้ ผมขอสลับไปพูดเกี่ยวกับช่องโหว่ที่พบบ่อยในระบบปฏิบัติการซึ่งเป็นที่นิยมไม่แพ้กัน นั่นก็คือ ระบบปฏิบัติการยูนิกซ์ (UNIX)
สำหรับระบบปฏิบัติการยูนิกซ์กลับไม่ค่อยพบปัญหาที่เกี่ยวข้องกับเรื่องของสิทธิการใช้งานข้อมูล เช่น การตรวจสอบสิทธิการเข้าถึง (Authentication), การอนุญาตให้ใช้ (Authorization) สักเท่าไหร่ อาจเป็นเพราะได้มีการออกแบบในเรื่องดังกล่าวตั้งแต่เริ่มมีการใช้ยูนิกซ์เป็นครั้งแรกกว่า 20 ปีมาแล้วก็ว่าได้
แต่ปัญหาที่พบมักเกิดจากการที่โปรโตคอลในชั้น Application บางตัวที่ไม่รองรับการเข้ารหัส ทำให้สามารถดักจับข้อมูลระหว่างที่มีการรับส่งข้อมูลได้ (Eavesdropping/Interception Attack)
ช่องโหว่ที่มักพบบ่อยในระบบปฏิบัติการยูนิกซ์ที่ผมจะนำเสนอในครั้งนี้ จะเป็นช่องโหว่ที่จัดว่าอยู่ในลำดับต้น ๆ ที่ทางสถาบัน SANS และหน่วยงาน FBI ของสหรัฐฯ ได้จัดลำดับเอาไว้ ซึ่งผมขอนำเสนอเพียงบางส่วนดังนี้
1. ช่องโหว่ที่เกิดกับกระบวนการ RPC (Remote Procedure Call)
ยูนิกซ์ใช้ RPC ในการติดต่อระหว่างกันของ Application ในลักษณะ Client/Server ซึ่งโปรเซสดังกล่าวมักถูกโจมตีโดยวิธี DDOS (Distributed Denial of Service) ในระหว่างปี พ.ศ. 2542-2543
วิธีการแก้ไข
- หากไม่ต้องมีการติดต่อระหว่าง Application ต่างๆ ผ่านทางเน็ตเวิร์ก ให้ปิดการใช้งานทุกๆ RPC ที่ไม่ใช้ทิ้งไป
- หากยังคงต้องใช้งาน Service เหล่านั้น ต้องติดตามหา Patch เวอร์ชั่นล่าสุดมาอัปเดทอย่างสม่ำเสมอ
- ทำการปิดกั้นการเรียกใช้งานพอร์ต 111 จากภายนอกโดยกำหนดกฎดังกล่าวไว้ที่ Firewall ตัวนอกสุด
- ทำการปิดกั้นการเรียกใช้งานพอร์ตซึ่งเป็น Loopback ของ RPC (พอร์ต 32770-32789)
- ปิดการทำงานของ Executable Stack ด้วยการเปิดคุณสมบัติ Non-Executable Stack เพื่อป้องกันการแอบซ้อน Code ในการทำให้เกิด Buffer overflow
2. ช่องโหว่ที่เกิดกับ Apache Web Server
แม้ว่าจะมีผู้คนมากมายพยายามเปรียบเทียบ Apache กับ IIS ของไมโครซอฟท์ ซึ่งโดยส่วนใหญ่ลงความเห็นว่า Apache นั้นดีกว่า IIS ในแง่ของระบบรักษาความปลอดภัย แต่ก็ไม่ได้หมายความว่าจะไม่มีช่องโหว่ให้โจมตีได้เลย การที่แฮกเกอร์ในปัจจุบันพยายามที่จะเจาะระบบผ่านพอร์ต 80 แต่เพียงอย่างเดียวอย่างแข็งขัน ก็ทำให้พบเจอช่องโหว่ได้ ซึ่งช่องโหว่เหล่านั้นก็ไม่ได้แตกต่างไปจากที่พบใน IIS เลย ช่องโหว่เหล่านั้นเกิดมาจากการที่เราไม่ค่อยระมัดระวังในการกำหนด Permission ให้กับไฟล์ CGI อีกทั้ง CGI ที่เขียนมาไม่ดีหรือถูกผสมรวมกับ Malicious Code ก็เป็นอีกปัญหาหนึ่งที่อาจนำพาให้เกิดการโจมตีในลักษณะต่าง ๆ วิธีการอย่างง่ายๆ ที่จะแนะนำว่า Apache ที่คุณใช้งานอยู่มีช่องโหว่หรือไม่ ก็ให้ตรวจสอบเวอร์ชันล่าสุดของ Apache จาก http://httpd.apache.org/ และหากพบว่าเวอร์ชันที่คุณมีเก่ากว่าเวอร์ชันปัจจุบัน นั่นก็แปลได้ว่ามีการตรวจพบช่องโหว่ใหม่ๆ เพิ่มขึ้นอีกแล้ว
วิธีการแก้ไข
- ติดตั้ง Apache เวอร์ชันล่าสุดเสมอที่มีการเปลี่ยนแปลง โดยสามารถดาวน์โหลดได้จาก http://www.apache.org/dist/httpd/patches/
- ทำการเปลี่ยนค่า HTTP Response Token (บางครั้งอาจเรียกว่า Banner ได้) เพื่อป้องกันการค้นหาชนิดและเวอร์ชันของโปรแกรมที่รันอยู่จากผู้บุกรุกได้ รายละเอียดดูได้จาก http://www.cert.org/advisories/CA-2002-27.html
- เลือกคอมไพล์โมดูลของ Apache เฉพาะที่ต้องการใช้งานเท่านั้น มีผลเช่นเดียวกันกับการเปิด Service เฉพาะที่จำเป็นต้องใช้งานเท่านั้น ประโยชน์เพื่อลดโหลดที่ไม่จำเป็นออกจากเซิร์ฟเวอร์และลดช่องโหว่ที่อาจจะเกิดขึ้นจาก Service ต่างๆ
- เลือกรัน Apache ในสภาพแวดล้อมของฟังก์ชัน chroot() ดูรายละเอียดเพิ่มเติมได้จาก http://www.w3.org/Security/Faq/wwwsf3.html#SVR-Q5
- ไม่ใช้ root privileges ในการรัน Service ของ Apache ควรสร้าง User ขึ้นมาใหม่เป็นการเฉพาะสำหรับการรัน Service ของ Apache และกำหนด privileges ที่เหมาะสมในการเข้าถึงทรัพยากรต่าง ๆ อย่างเหมาะสม
- ให้ลบ Web Page และ CGI ตัวอย่างทิ้งไปเพราะถูกเขียนขึ้นมาอย่างไม่รัดกุมและพบปัญหาการบุกรุกบ่อยครั้ง
3. ช่องโหว่ที่ตรวจพบใน SSH (Secure Shell)
แม้ว่า SSH จะถูกระบุว่ามาช่วยแก้ปัญหาการใช้งาน Application Protocol ที่ไม่มีการเข้ารหัสข้อมูลอย่าง FTP,Telnet และ R-Command ก็ตามที แต่ไม่นานมานี้ก็ได้มีการประกาศข่าวอย่างคึกโครมว่าในขั้นตอนการถอดรหัสของ SSH กลับเกิดช่องโหว่ให้เจาะระบบได้เสียเอง ทำให้ระบบที่คิดว่าได้รับการแก้ไขโดยการนำ SSH ไปใช้เสี่ยงต่ออันตรายที่อาจจะเกิดขึ้นอีกครั้ง
ในฉบับนี้ผมขอนำเสนอช่องโหว่ที่สำคัญ ๆ ใน Unix/Linux เพียง 3 จุดก่อน ฉบับหน้าผมจะนำช่องโหว่ต่อ ๆ ไปมาพูดเพิ่มเติมอีก อย่าลืมทำการ Hardening ตั้งแต่วันนี้นะครับ เพื่อเพิ่มความปลอดภัยให้กับระบบ UNIX/Linux ของคุณ
Update Information : 23 ธันวาคม 2545
|
 |
|
|