Welcome to Sysnet Board คู่มือ การใช้งานอุปกรณ์ Network. Please log in or sign up.
สมาชิกทั้งหมด
17,949
กระทู้ทั้งหมด
9,949
หัวข้อทั้งหมด
4,633

  • การทำ L7-Firewall บนอุปกรณ์ Mikrotik RouterBoard
    เริ่มโดย yod
    Read 64,223 times
0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้
yod

ทดสอบ L7-Filter บนอุปกรณ์ Mikrotik RouterBoard



สวัสดีครับ


มาทดสอบการทำ L7-Filter ด้วย Router Board กันครับ


L7-Filter คืออะไร?? (ถ้าผิดบอกด้วยนะครับ  ;D)

L7-Filter มันเป็นโปรแกรมที่อยู่ใน Linux เพื่อดัก Packet ต่างๆ ทำงานในระดับ Layer 7 หรือระดับ Application ซึ่งการแยกจะไม่ใช่แค่แยกหมายเลข Port หรือหมายเลข IP แต่จะเป็นการแยกตาม Regular Expression ที่เรากำหนดเอาไว้ เช่น ถ้ามองในมุม Programmer เจ้า Regular Expression ก็เหมือน String ค่าๆนึง เราจะนำไปเปรียบเทียบกับ Packet ต่างๆที่วิ่ง ถ้า Match กันก็สามารถกำหนดได้ว่าจะทำอะไรกับ Packet พวกนี้ นึกภาพง่ายๆเหมือนเครื่องกรองน้ำ

อุปกรณ์ Mikrotik RouterBoard ทุกรุ่น มีความสามารถในการทำ Layer 7 Filter เช่นเดียวกับ Linux ครับ และก็จะมี Router บางรุ่นเช่น Linksys WRT54GL ที่ Upgrade Firmware เป็น DD-WRT ก็สามารถทำได้เช่นกัน แต่การทำ L7-Filter ค่อนข้างจะกิน CPU และ Ram พอสมควร อุปกรณ์มันจะ Hang เอาง่ายๆ


L7-Filter Regular Expression ของ Protocols ต่างๆ สามารถหาได้จาก http://l7-filter.sourceforge.net/protocols ครับ


ลองกับ MSN ก่อนเลย

โดยปกติถ้าเราจะ Block MSN โดยการ Block ที่ Port ไอ้เจ้า MSN ถ้ามันเชื่อมต่อ Port ที่มันวิ่งปกติไม่ได้ มันจะไปวิ่งที่ Port 80 ต่อ ซึ่งถ้าเรา Block Port 80 ก็จะหมายถึง HTTP Port จะทำให้เราไม่สามารถเปิด Website ได้เช่นกัน

แต่ถ้า Block ในระดับ L7 ตัว RouterBoard จะเข้าไปอ่าน Package ถ้าตรงกับ Regular Expression ที่ตั้งไว้ เช่นของ MSN มันก็จะ Drop Package นี้ออกทันที ไม่ให้วิ่งผ่าน

การใช้งานก็ง่ายครับ แต่เราต้องรู้ Regular Expression ของ Protocols ที่ใช้ก่อน จากรูปก็จะเป็นของ MSN Messenger หรือ Microsoft Network chat client




ทีนี้ก็กำหนด Filter Rules ขึ้นมา ถ้าเจอก็ Drop ทิ้งไปเลย ตรง Statistics คือ Package ที่ดักจับได้ครับ




เรียบร้อย Login ไม่ได้




Click แก้ไขปัญหา ก็ไม่ได้บอกว่าเกิดอะไรขึ้นเลย



สุดท้ายไม่ต้องเล่นกัน  ;D ;D ;D



ทีนี้ก็มาลองทดสอบกับ Bittorrent กันครับ

ถ้าเราต้องการ Block Bittorrent ด้วยการ Block Port มันเป็นไปไม่ได้เลยครับ เพราะต้อง Block กันทุก Port เหลือแค่ Port หลักๆที่ Reserve ไว้ประมาณ 1-1024 แต่ทีนี้ถ้าลูกค้าจะเล่นเกมส์ Online หรือ ทำอะไรก็แล้วแต่ที่ไม่ได้ใช้ Bandwidth ซักเท่าไหร่ และใช้ Port อื่นๆที่นอกเหนือจากนี้ ก็จะใช้งานไม่ได้ด้วย รับรองโวยวายแน่

สำหรับ Regular Expression ของ Bittorrent (P2P filesharing / publishing tool) ครับ




สร้าง Filter Rules ขึ้นมาเช่นกัน แต่ Disable ไว้ ทำให้ Download ได้ปกติ




Enable ซะเลย โหลดไม่ได้แล้ว และ Package ที่ RouterBoard จับได้ วิ่งตลอด




วิธีการ Block Bittorrent ด้วย Mikrotik Router Board ที่อยู่ใน Webboard จะมีการดักจับ Peer Address ด้วยครับ และ Block เครื่องไม่ให้เชื่อมต่อกับ Peer Address เหล่านี้ด้วย เป็นการ Block อีกชั้นนึงแบบ 100%  ;D ;D



ด้วยความสามารถของตัว RouterBoard ที่สามารถทำ L7-Filter ได้ ทำให้ประยุกติใช้งานได้อย่างหลากหลาย ยิ่งถ้าใช้กับ Firewall - Mangle เพื่อทำการ Mark Package ที่เราดักจับได้ เราก็สามารถนำมาใช้ร่วมกับ Queue เพื่อทำการ Shape Package ได้เช่นกัน เช่นถ้า Download ไฟล์พวก exe, zip, rar ก็ให้ Download ได้น้อยๆ แต่เข้า Web ได้เร็วๆ (ยังไม่เคยลองนะครับ) หรือ ใช้ Bittorrent ได้น่ะ แต่กำหนดความเร็วตามที่เราต้องการ (ลองแล้วครับ Work)



แต่ปัญหาสำคัญที่สุดของการจับ Package แบบนี้คือ ถ้าเป็น SSL มีการ Encrypt ข้อมูลเอาไว้ จะใช้งานไม่ได้นะครับ ผมเคย Post ไปถามวิธีใน Board mikrotik.com โดนตอบมาว่า ถ้าทำได้เขาก็จะไป Hack พวก Internet banking ได้เช่นกัน (ปวดตับเลย  >:()




หวังว่าคงมีประยชน์กันไม่มากก็น้อยนะครับ  :D :D






แล้วผมจาหา Regular Expression ได้จากที่ไหนคับ T_T

เขียนเองนี่ไม่ได้แน่นอนเลย

ขอถามด้วยคนครับ Regular Expression  หาได้จากที่ไหนโดยใช้อะไรเป็นตัวจับมาครับ

yod
ได้แจ้ง link ไว้ในกระทู้นี้อยู่แล้วนะครับ


อยากทราบขั้นตอนที่สร้าง Filter Rules คับ


อยากสอบถามว่าตัวนี้มันสามารถ block connectify ได้หรือเปล่าครับ
[ทำ hotspot ด้วย] RB450G ครับ

ขอสอบถามหน่อยนะครับ ว่า ทำยังไงเราจะรู้ว่า IP อะไร กำลังพยายาม โหลด bit ครับ ผมใช้ RB450G   ปิดไม่ใช้ Hotspot นะครับ
เราเช็คตรงไหนครับผม ขอบคุณครับ

แล้วท้า Block Baidu ทำใน L7-Firewall ได้ปะครับ  แล้วทำอย่างไรบ้างครับ