|
|
|||||||
Checkpoint Firewall-1 เป็นไฟล์วอลที่ได้รับความนิยมยี่ห้อหนึ่ง มีส่วนแบ่งในท้องตลาดประมาณ 41% แต่ยังมีจุดด้อยที่ยังไม่ได้รับการพัฒนาคือเรื่องของ logging เนื่องจาก Firewall-1 พยายามที่จะจัดเก็บข้อมูลล็อกไฟล์ให้น้อยที่สุด และให้รายละเอียดค่อนข้างน้อย เช่น จัดเก็บเฉพาะ initial connection คือช่วงของการส่ง SYN/ACK เท่านั้น ซึ่งผู้ดูแลระบบจะไม่สามารถทราบได้ว่าหลังจากนั้นเกิดเหตุการณ์อะไรขึ้นบ้าง
นอกจากนี้โดยตัว Firewall-1 มีข้อจำกัดในการใช้งาน Syslog ซึ่งถือเป็น service มาตรฐานในการรวบรวมข้อมูลล็อกไฟล์จากโปรแกรมต่างๆ มาไว้ที่เดียว ซึ่งจากนั้นอาจจะใช้ Swatch เป็นเครื่องมือในการพิจารณาล็อกไฟล์แบบ real time จาก syslog นั้นได้ ในกรณีที่ท่านต้องการให้ Firewall-1 สามารถสนับสนุนการทำงานกับ syslog แล้ว จะต้องซื้อโปรแกรมเสริม (add-on products and OPSEC(Open Platform for Security) providers) ซึ่งแน่นอนว่าจะต้องมีค่าใช้จ่ายที่เพิ่มขึ้น
Firewall-1 จะเก็บข้อมูลล็อกไว้ในรูปแบบไฟล์ binary ดังนั้นจะต้องทำการ export ข้อมูล binary เหล่านั้นให้อยู่ในรูปของ delimited format (เป็นไฟล์ที่มีรูปแบบที่แน่นอน โดยอาศัยตัวอักษรบางชนิดคั่นระหว่างฟิลด์ของข้อมูล) โดยปกติแล้ว Firewall-1 จะมีปัญหาในการ export ข้อมูล คือ ลำดับของฟิลด์ที่ export ออกมานั้น จะมีความแตกต่างกัน แต่ก็ยังโชคดีที่มีเครื่องมือช่วยเหลือในเรื่องนี้ให้ลุล่วงได้คือ Spitzner
Log Maintenance
ข้อมูลล็อกของ Firewall-1 นั้นจะมีขนาดที่ใหญ่เพิ่มขึ้นเรื่อยๆ ถ้าเราใช้ Checkpoint GUI ในการตรวจสอบข้อมูลล็อก ก็อาจจะเสียเวลาค่อนข้างนานในการประมวลผล และบางครั้งอาจทำให้ระบบมีปัญหาถึงขั้นแฮงก์ได้ วิธีแก้ไขคือ ใช้คำสั่ง fw logswitch รันใน cron job เพื่อให้มีการตัดข้อมูลล็อกออกเป็นไฟล์ย่อยๆ ได้
การทำงานของ fw logswithc นั้นจะทำกับข้อมูลล็อกที่มีอยู่ก่อนหน้านี้แล้ว โดยจะสร้างไฟล์ใหม่ ซึ่งชื่อไฟล์มีรูปแบบดังนี้คือ
ddmmyyyy-hh:mm:ss.log
เช่น สมมุติว่าขณะที่รัน fw logswitch คือวันที่ 23 May 2001 1:00 am ก็จะได้แบ็กอัพไฟล์ชื่อว่า 23May2001-01:00:00.log ซึ่งเราสามารถแบ็กอัพไฟล์นี้ไว้ในเทปหรือย้ายไปเครื่องอื่นได้
รูปแบบของคำสั่งคือ #fw logswitch ถ้ารันใน cron job ก็สามารถตั้งได้ เช่น 0 1 * * * fw logswitch ซึ่งจะรันคำสั่งนี้ทุกเวลาตีหนึ่งของทุกวัน ข้อสำคัญคือต้องรัน cron job ในฐานะ root เท่านั้น
หลังจากที่แบ็กอัพข้อมูลล็อกไว้แล้ว ขั้นตอนต่อไปคือ export ให้อยู่มนรูปแบบ ASCII สำหรับวิเคราะห์ข้อมูลต่อไป คำสั่งที่ใช้ export คือ
#fw logexport -d : -i input.file -o output.file -n
-d = ใช้ตัวแบ่งคั่นฟิลด์เป็น : ถ้าไม่ระบุ โดย default คือตัว semi-colon (;)
-i = ระบุ input file
-o = ระบุ output file
-n = สั่งโปรแกรมให้ใช้ค่า IP address ไม่ต้องแปลงเป็น domain name (ทำให้ทำงานได้เร็วขึ้น)
โดยปกติแล้วขนาดไฟล์ของ output จะมีขนาดใหญ่กว่า input file ประมาณ 2.5 เท่า ท่านสามารถดูตัวอย่างของการสั่ง export ได้ ดังนี้
Fw logexport -d : -i 23May2001-01:00:00.log -o fwlog5-23-01.txt -n
สำหรับความหมายของฟิลด์นั้นจะมีลักษณะดังด้านล่าง แต่ลำดับของฟิลด์อาจจะมีความแตกต่างกันได้
num Record number date Date record was written time Time record was written orig Which firewall is writing the record type Log entry or Alert action Accept or Drop alert Kind of alert generated, if any i/f_name Firewall interface that the traffic was seen on i/f_dir In relation to the firewall, inbound or outbound proto TCP, UDP, ICMP src Source IP address dst Destination IP address service Destination port s_port Source port len Packet length rule Firewall rule that triggered the log Entry icmp-type ICMP Type icmp-code ICMP Code xlatesrc NAT, the source IP that was translated xlatedst NAT, the destination IP that was translated xlatesport NAT, the translated source port xlatedport NAT, the translated destination port message Firewall message to explain an action user User authenticated by the Firewall reason Is Encryption happening, authentication? scheme: Encryption Scheme being used methods: Encryption protocol being used srckeyid Key scheme used by source IP dstkeyid Key scheme used by destination IP sys_msgs System messages หลังจากที่เราได้ข้อมูลในรูป ASCII แล้วก็สามารถวิเคราะห์ข้อมูลได้เลย หรืออาจะจะใช้เครื่องมืออื่นๆ มาช่วย เช่น export ข้อมูลให้เข้าสู่ relational database เพื่อพิจารณาอีกครั้ง จากนั้นสิ่งที่ต้องพิจารณาคือ เราจะเอาข้อมูลอะไรมาแสดงผลจากวัตถุดิบเหล่านั้น ข้อมูลที่ถูกหยิบขึ้นมาแสดงบ่อย อาทิเช่น
- Top 5 IP ที่ถูก drop โดย Firewall-1
- Top 10 IP ที่เข้ามาเยี่ยมชมเว็บไซต์เราบ่อยที่สุด
- Top 10 เว็บที่พนักงานภายในองค์กรของท่านนิยมมากที่สุด
- Connection ที่เรียกมายัง port 0-5 ซึ่งปกติใช้ในการทำ OS fingerprint
- Connection ที่มาจาก IP 0.0.0.0 (OS fingerprint)
- การพยายาม connect มายัง service ดังๆ ที่เราไม่ได้เปิดให้บริการ เช่น port 21, 23, 110, 143
- การพยายาม connect หรือใช้งาน 111/RPCBind
- ICMP types 0, 8 ที่เรียกไปยัง Firewall (Smurf attacks)
- ICMP type 5, 9 ซึ่งเป็น redirect และ router advertisement ซึ่งอาจจะใช้สำหรับการทำ man in the middle attack
- ICMP type 12 ซึ่งปกติไม่ค่อยมีการใช้งาน (parameter error message)
- Port scan ในช่วง 33434 - 33600 ซึ่งเป็น UNIX traceroute ports
Home
|| เอกสารเผยแพร่ || Firewall
ThaiCERT Disclaimer
| Copyright © 2001 ThaiCERT(NECTEC). All rights reserved.