Firewall

Firewall
       Firewall เป็นอุปกรณ์ที่ใช้สำหรับ "ป้องกันผู้บุกรุกระบบ" ในเครือข่าย (Network) โดยทำหน้าที่เป็นตัวคั่นกลางระหว่าง Network ที่เราต้องการจะปกป้อง กับ Network ที่เราไม่ไว้ใจ ตามกฎ(Rule)หรือนโยบาย(Policy) ที่ผู้ดูแลระบบ (Admin)ได้ตั้งไว้
Firewall คือ ระบบที่เอาไว้ป้องกันอันตรายจากอินเทอร์เน็ตหรือเครือข่ายภายนอก ไฟร์วอลล์ เป็นส่วนประกอบ หรือกลุ่มของส่วนประกอบที่ทำหน้าที่ในการควบคุม การเข้าถึงระหว่างเครือข่ายภายนอก กับเครือข่ายภายในที่ต้องการจะป้องกันด้วยที่ส่วนประกอบนั้นอาจจะเป็นอุปกรณ์จัดเส้นทาง คอมพิวเตอร์หรือเครือข่ายประกอบกันได้ขึ้นอยู่กับวิธีการหรือสถาปัตยกรรมไฟร์วอลล์ ที่ใช้การควบคุมการเข้าถึงไฟร์วอลล์นั้นสามารถทำได้ในหลายระดับและหลายรูปแบบขึ้นอยู่กับชนิดหรือ เทคโนโลยีของไฟร์วอลล์นำมาใช้เช่นสามารถกำหนดได้ว่า จะให้มีการเข้ามาใช้บริการอะไรบ้างจากที่ไหนเป็นต้น
ไฟร์วอลล์สามารถช่วยเพิ่มความปลอดภัยให้กับระบบได้ด้วย
* บังคับใช้นโยบายด้านความปลอดภัย โดยการกำหนดกดให้กับไฟร์วอลล์ว่าจะอนุญาตหรือไม่ให้ใช้เซอร์วิสชนิดนั้น
* ทำให้การพิจารณาดูแลรายการตัดสินใจด้านความปลอดภัยของระบบเป็นไปได้ง่ายขึ้นเนื่องจากการติดต่อทุกชนิดกับเครือข่ายภายนอกต้องผ่านไฟร์วอลล์ การดูแลที่ จุดนี้เป็นการดูแลความปลอดภัยในระดับของเครือข่า
* บันทึกข้อมูลกิจกรรมต่างๆที่ผ่านเข้าออกเครือข่ายได้อย่างมีประสิทธิภาพ
* ป้องกันเครือข่ายบางส่วนจากการเข้าถึงของเครือข่ายภายนอกเช่นหากมีบางส่วนที่ต้องการภายนอกเข้ามาใช้เซอร์วิสแต่เหลือส่วนไม่ต้องการให้ภายนอกเข้ามาเช่นนี้สามารถใช้ไฟร์วอลล์ช่วยได้
* ไฟร์วอลล์ บางชนิดสามารถป้องกันไวรัสได้โดยจะทำการตรวจไฟล์ที่โอนย้ายผ่านทาง HTTP, FTP ,SMTP
ถึงแม้ว่าไฟร์วอลล์ จะสามารถช่วยเพิ่มความปลอดภัยให้กับเครือข่ายได้มากโดยตรวจ ดูข้อมูลที่ผ่านมาเข้าออกแต่อย่าลืมว่าสิ่งเหล่านี้ไม่สามารถป้องกันได้จากการใช้ไฟร์วอลล์
* อันตรายที่เกิดจากเครือข่ายภายในไม่สามารถป้องกันได้เนื่องจากอยู่ภายในเครือข่ายเองไม่ได้ผ่านไฟร์วอลล์เข้ามา
* อันตรายจากภายนอกที่ไม่ได้ผ่านเข้ามาทางไฟร์วอลล์เช่นการติดต่อเข้ามายังเครือข่ายภายในโดยตรงโดยไม่ผ่านไฟร์วอลล์
* อันตรายจากวิธีใหม่ใหม่ที่เกิดขึ้นทุกวันนี้มีการพบช่องโหว่ใหม่ใหม่เกิดขึ้นทุกวันเราไม่สามารถไว้ใจไฟร์วอลล์โดยการติดตั้งเพียงครั้งเดียว แล้วก็หวังให้มันปลอดภัยไปตลอด
* ไวรัสถึงแม้จะมีไฟร์วอลล์บางชนิดที่สามารถป้องกันไวรัสได้แต่ยังไม่มีไฟวอลล์ชนิดใดที่สามารถตรวจสอบไวรัสได้ในทุกๆโปโตคอล
คุณสมบัติของ Firewall
•        Protect Firewall เป็นเครื่องมือที่ใช้ในการป้องกัน โดยข้อมูลที่เข้า-ออก Network จะถูกกำหนดเป็น Rule หรือ Policy เพื่อใช้บังคับในการสื่อสารภายใน Network
·                Rule Base หรือ Policy คือข้อกำหนดในการควบคุมการเข้า-ออกของข้อมูลภายใน Network
·                Access Control คือการควบคุมระดับการเข้าถึงข้อมูลต่างๆใน Network 

ผลที่ได้
Firewall ไม่สามารถป้องกันระบบได้ 100 %  เพราะขึ้นอยู่กับว่า Policy ที่ผู้ดูแลระบบตั้งไว้นั้นครอบคลุมช่องโหว่หรือปัญหาต่างๆได้มากน้อยแค่ไหน 
Firewall ไม่ได้ฉลาด มันไม่สามารถทำงานหรือวิเคราะห์ปัญหาต่างๆได้เองโดยอัติโนมัติ  มันเป็นแค่เครื่องมือที่คอยรับคำสั่งและปฏิบัติตาม Policy ที่ผู้ดูแลระบบได้ตั้งไว้อย่างเคร่งครัดเท่านั้น  ซึ่งหาก Policy นั้นมีข้อบกพร่อง หรือมีช่องโหว่  ก็อาจทำให้ระบบนั้นถูกโจมตีได้
Firewall ไม่สามารถแจ้งเตือนจากการโจมตีได้  เพราะมันมีหน้าที่แค่อนุญาตให้ Packet ผ่านไปได้หรือไม่ได้เท่านั้น เพราะถ้าให้ผ่านไปแล้ว Packet นั้นเป็นอันตรายต่อระบบ ก็จะถือว่าเป็นข้อผิดพลาดที่ Policy ของผู้ดูแลระบบเอง




ตัวอย่างการทำงานและการตัดสินใจของ Firewall ยี่ห้อ NetScreen
1.                   เมื่อมี Packet เดินทางเข้ามายัง Firewall  ตัวอย่างเช่น Packet มีข้อมูลดังรูปต่อไปนี้

2.                   Firewall จะทำการตรวจสอบว่าเคยมี  Packet นี้เข้ามาในระบบก่อนหน้านี้หรือไม่  หรือ Packet นี้มีอยู่ใน Session Table หรือไม่  ถ้ามีอยู่ใน Session Table Firewall จะทำการ Forward Packet นั้นไปยังปลายทางทันที  แต่ถ้าไม่มีอยู่ใน Session Table Firewall จะทำการตรวจสอบปลายทาง(Destination) ที่ Packet นั้นต้องการจะไป
หมายเหตุ : Session Table คือ Table ที่ใช้สำหรับเก็บข้อมูลสถานะการเชื่อมต่อของ Packet ไว้  เพื่อเอาไว้ตรวจสอบว่า Packet นี้ ลักษณะข้อมูลแบบนี้  เคยได้รับอนุญาตให้ผ่านเข้ามาในระบบหรือไม่  ถ้า Packet นี้มีข้อมูลอยู่ใน Session Table แสดงว่าเคยได้รับอนุญาตให้ผ่านเข้ามาในระบบก่อนหน้านี้แล้ว  สามารถให้ผ่านไปได้เลย  โดยไม่จำเป็นต้องทำการตรวจสอบ Policy อีก  แต่ถ้าหากไม่มีอยู่ใน Session Table ต้องทำการตรวจสอบ Policy ก่อนว่าอนุญาตให้ผ่านไปได้หรือไม่  จากรูปข้างล่างนี้ Packet IP 10.1.20.5 ไม่มีข้อมูลอยู่ใน Session Table
3. กรณีที่ Packet นั้นไม่มีข้อมูลอยู่ใน Session Table  Firewall จะทำการตรวจสอบปลายทาง(Destination)ของ Packet ว่าต้องการจะไปไหน  และไปต่อได้หรือไม่(ใน Routing Table) ถ้าไปต่อไม่ได้จะทำการ Drop Packet นั้นทิ้งไป แต่ถ้าไปต่อได้จะทำการตรวจสอบการข้ามโซน
                  

        จากรูป Network ID หมายถึง ปลายทางที่ Packet ต้องการจะไป ซึ่งจากตัวอย่าง Packet IP 10.1.20.5 ต้องการเดินทางไปยัง 200.5.5.5 จึงเข้ากรณีที่ 3 ของ Routing Table


โซน (Zone) หมายถึง การแบ่ง Network ขององค์กรออกเป็นกลุ่มหรือโซนต่างๆ ได้แก่

1.         External Zone คือ กลุ่มของ Network ภายนอกองค์กร  หรืออาจจะหมายถึงกลุ่มผู้ใช้งาน Internet ทั่วๆไปนั่นเอง
2.         Internal Zone คือ กลุ่มของ Network ภายในองค์กร  โดยที่ภายนอกไม่สามารถเข้าถึง Network ส่วนนี้ได้ Network ใน Internal Zone เช่นผู้ใช้งานหรือพนักงานทั่วๆไปในองค์กร  อาจเรียกได้ว่า Internal Zone เป็น Private Zone ก็ได้
3.         Demilitarized Zone(DMZ) คือ กลุ่มของ Server ต่างๆที่คอยให้บริการกับทั้ง Internal Zone และ External Zone คือทั้ง 2 Zone นั้นสามารถใช้บริการจาก DMZ ได้  หรืออาจเรียกได้ว่า  DMZ เป็น Public Zone ก็ได้  ตัวอย่างของ Server ใน DMZ เช่น Web Server, Mail Server เป็นต้น

4.     ถ้า Packet สามารถไปต่อได้ Firewall จะทำการตรวจสอบว่า Packet นั้นต้องเดินทางข้ามโซนหรือไม่(Zone) ถ้าไม่ต้องข้ามโซนจะทำการ Forward Packet นั้นไปยังปลายทางทันที และ Add ข้อมูลลงใน Session Table เพื่อที่จะได้ไม่ต้องทำการตรวจสอบ Policy ใหม่อีกครั้ง  แต่ถ้า Packet นั้น ต้องเดินทางข้ามโซน Firewall จะทำการตรวจสอบ Policy ก่อน
             จากข้อ 3 Packet IP 10.1.20.5 เข้ากรณีที่ 3 ใน Routing Table ผ่าน Interface E8 และปรากฏว่าใน Zone Table  Packet ที่ออกทาง Interface E8 ต้องข้ามโซน(Outside) จึงต้องมีการตรวจสอบ Policy ต่อไป 

5.     ถ้าหากว่า Packet นั้นต้องเดินทางข้ามโซน Firewall จะทำการตรวจสอบ Policy ที่ผู้ดูแลระบบได้ตั้งไว้ ว่าอนุญาตให้ Packet นั้นผ่านไปได้หรือไม่ ถ้าไม่ได้จะทำการ Drop Packet นั้นทิ้งไป  แต่ถ้าได้จะทำการForward Packet  นั้นไปยังปลายทางทันที และ Add ข้อมูลลงใน Session Table  (Service HTTP = Port 80)