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


การตรวจสอบไฟร์วอลล์ (Firewall Auditing)
เรียบเรียงโดย : ภูวดล ด่านระหาญ
เผยแพร่เมื่อ : 4 ธันวาคม 2544

ภายหลังจากที่นำไฟร์วอลล์ไปใช้งาน ผู้ดูแลระบบจะต้องตรวจสอบเสมอว่าไฟร์วอลล์สามารถทำงานได้ตรงตามที่กำหนดไว้หรือไม่ เอกสารฉบับนี้จะแนะนำวิธีในการตรวจสอบเครื่องไฟร์วอลล์และตรวจสอบ rule ของไฟร์วอลล์ เพื่อทำการทดสอบเพื่อให้มั่นใจว่าไฟร์วอลล์ได้ถูกติดตั้งและใช้งานได้ตรงตามที่ต้องการ โดยไม่ได้มุ่งเน้นไปที่วิธีการเจาะระบบแต่อย่างใด

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

การตรวจสอบ
การตรวจสอบจะแบ่งเป็น 2 ส่วนด้วยกันคือ การตรวจสอบเครื่องไฟร์วอลล์ และส่วนของการตรวจสอบ rule ของไฟร์วอลล์

  1. การตรวจสอบเครื่องไฟร์วอลล์
    เพื่อตรวจสอบให้มั่นใจได้ว่าเครื่องไฟร์วอลล์มีความปลอดภัยจริง สามารถต้านทานการบุกรุกได้จากทั้งภายนอกและภายใน จะต้อง

    ในบางครั้งอาจจะได้ผลลัพธ์ที่แปลกไป เช่น อาจจะพบว่ามีการเปิด port 256 - 258 ใน Firewall-1 ซึ่งใช้สำหรับควบคุมเครื่องไฟร์วอลล์ หรืออาจจะมีการตอบรับต่อ ICMP message โดยดีฟอลต์ ดังนั้นผู้ดูแลไฟร์วอลล์ควรยกเลิกการใช้งานในทั้งสองส่วน แต่ถ้าในกรณีที่จำเป็นต้องเปิด port หรือบริการไว้ที่เครื่องไฟร์วอลล์ ก็ให้จำกัดการใช้งานเฉพาะผู้ดูแลระบบเท่านั้น เช่น ให้ใช้งานเฉพาะไอพีแอดเดรสที่กำหนดไว้เท่านั้น

    จุดสำคัญของการทำให้ไฟร์วอลล์มีความปลอดภัยคือ ให้ปิดกั้นการเข้าถึงไฟร์วอลล์ให้มากที่สุดเท่าที่จะทำได้ โดยใน rule ของไฟร์วอลล์นั้นจะต้องมี lockdown rule เพื่อปิดกั้นไฟร์วอลล์จากทุกสิ่ง ในกรณีที่จำเป็นต้องเปิดให้เข้าถึงไฟร์วอลล์ ก็ให้นำ rule นั้นวางไว้บน lockdown rule อีกที

  2. การตรวจสอบ rule ของไฟร์วอลล์
    มีจุดประสงค์เพื่อตรวจสอบว่าไฟร์วอลล์ทำงานได้ตรงตามที่คาดไว้หรือไม่ ซึ่งสามารถทำได้โดยการสแกนทุกๆ ส่วนของเครือข่าย เพื่อตรวจสอบว่า packet สามารถผ่านไฟร์วอลล์ไปได้หรือไม่ ซึ่งสามารถทำได้โดยการนำระบบตรวจสอบ (อาจจะเป็นโน้ตบุ๊ก) ซึ่งสามารถเคลื่อนย้ายได้ง่าย ทำการสแกนเครือข่ายส่วนอื่นๆ

    ไฟร์วอลล์โดยส่วนใหญ่มักจะประกอบไปด้วยเครือข่าย เช่น DMZ ซึ่งในกรณีนี้ขอแนะนำให้นำโน๊ตบุ๊กไปวางไว้ใน DMZ จากนั้นจึงให้สแกนเครือข่ายภายใน ซึ่งถือเป็นการจำลองสถานการณ์ในกรณีที่เครื่องภายใน DMZ ถูกบุกรุกได้สำเร็จ

    Authentication / Encryption : ไฟร์วอลล์ส่วนใหญ่สนับสนุนการทำงานในส่วนนี้ ซึ่งจำเป็นต้องได้รับการตรวจสอบเช่นเดียวกัน เช่น ในกรณีที่ตั้งไว้ว่า ยูสเซอร์จะต้องผ่านการทำ authen จากไฟร์วอลล์ก่อนที่จะใช้งานเว็บไซต์ได้ ก็สามารถทดสอบได้ด้วยการทดลองด้วยตัวเอง และลองพยายามเข้าใช้งานโดยไม่ต้องผ่านการทำ authen เช่น ใช้คำสั่ง telnet ผ่าน port 80 แทนการใช้งานเว็บผ่าน browser เป็นต้น และทำนองเดียวกันกับการตรวจสอบการเข้ารหัส ซึ่งสามารถตรวจสอบได้โดยการใช้ sniffer เช่น tcpdump หรือ snort ตรวจสอบจาก packet ว่ามีการเข้ารหัสจริงหรือไม่

    Service อื่น : ไฟร์วอลล์บางยี่ห้อนั้นสามารถทำงานร่วมกับผู้ผลิตรายอื่นได้ เช่น การเพิ่มเติมความสามารถในการตรวจจับและกำจัดไวรัสทั้งจากอี-เมล์หรือจากเว็บ ซึ่งก็สามารถตรวจสอบได้โดยการทดลองส่งอี-เมล์ที่มีไวรัสเข้ามาในระบบ หากไฟร์วอลล์ทำงานผิดปกติก็จำเป็นต้องปรับปรุงต่อไป

    การตรวจสอบช่องโหว่ของซอฟแวร์ : เนื่องจากไฟร์วอลล์ไม่สามารถป้องกันการโจมตีผ่าน port ที่เปิดให้บริการได้ เช่น การทำ web hacking ดังนั้นจึงจำเป็นต้องทำการตรวจสอบระบบทั้งหมดว่าใช้ซอฟแวร์ใดบ้าง และซอฟแวร์ดังกล่าวมีช่องโหว่หรือไม่ ซึ่งสามารถตรวจสอบได้จาก http://www.securityfocus.com หากสามารถใช้เครื่องมือเพื่อช่วยในการตรวจสอบช่องโหว่ได้ก็ยิ่งเป็นการดี

    Denial of Service : เป็นการทดสอบไฟร์วอลล์โดยใช้เครื่องมือที่สามารถสร้าง DoS แบบต่างๆ ได้ เช่น Nessus

เครื่องมือที่ใช้
เครื่องมือที่ใช้ในการสแกน port ที่ดีที่สุดคือ nmap ซึ่งใช้งานได้ทั้ง TCP/UDP scan นอกจากนี้ยังมีเทคนิคในการสแกนผ่านไฟร์วอลล์โดยใช้ เครื่องมือที่นิยมกันคือ Firewalk และ hping2 แต่เนื่องจากเอกสารฉบับนี้ไม่ได้มุ่งเน้นเรื่องการใช้เครื่องมือ ดังนั้นจึงไม่ได้แสดงตัวอย่างการใช้คำสั่ง เพราะเกรงว่าจะเป็นผลเสียมากกว่า และเครื่องมือบางอย่างนั้นผู้ดูแลระบบส่วนใหญ่ก็รู้จักและใช้งานกันเป็นประจำอยู่แล้ว

สรุป
การตรวจสอบไฟร์วอลล์ช่วยให้ผู้ดูแลระบบสามารถมั่นใจได้ว่าระบบได้ถูกติดตั้งและใช้งานโดยไม่เปิดช่องโหว่ใดๆ ให้กับผู้บุกรุก แต่ถึงอย่างไรก็ตามไม่มีระบบใดที่ปลอดภัย 100% ดังนั้นผู้ดูแลระบบจึงควรหมั่นติดตามข่าวสารอยู่เสมอ และติดตั้งอุปกรณ์เสริมอื่นๆ เช่น NIDS (Network Intrusion Detection) เพื่อให้ระบบมีความพร้อมรับมือกับเหตุการณ์ในอนาคตมากยิ่งขึ้น



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

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