วันอังคารที่ 5 พฤษภาคม พ.ศ. 2552

ทำไม Management VLAN ที่เป็น VLAN1 ถึงไม่ปลอดภัย?

เมื่อเราซื้อสวิตซ์มาใหม่แกะกล่อง สวิตซ์จะมี VLAN 1 ซึ่งเป็น default vlan ที่มาจากโรงงาน และทุกพอร์ตก็จะเป็นสมาชิกของ vlan1 ไปโดยปริยาย กรณีนี้ยังเหมารวมไปถึง unmanage switch ด้วยนะครับ

ที่ผ่านมาผมจะเจอลูกค้า ส่วนใหญ่มักจะเอา VLAN 1 เป็น Management VLAN ซึ่งส่งผลทำให้ เมื่อมีใครสักคน อาจจะเป็น attacker นำสวิตซ์ตัวใหม่มาเสียบเข้ากับสวิตซ์ที่มีอยู่เดิมในระบบ และทำเป็น trunk port เชื่อมต่อเข้าหากัน พอร์ตที่เหลือทั้งหมดบนสวิตซ์ตัวใหม่ของ attacker ก็จะอยู่ใน vlan1 ทั้งหมด อีกทั้งยังสามารถติดต่อ vlan อื่นๆ ผ่าน trunk line ไปได้ พอจะนึกออกแล้วใช่มั้ยครับว่า จะเกิดอะไรขึ้นตามมา ผลที่ตามมาก็คือ เป็นช่องโหว่ให้ Attacker เหล่านี้เข้ามาในระบบเราได้ง่าย สามารถเข้าถึงอุปกรณ์ของเราได้โดยตรง และสามารถสร้างความเสียหายแก่ระบบเครือข่ายตามมาได้ โดยเฉพาะ Layer2 attack เช่น
1. CAM table overflow attack จะทำให้ MAC Address Table ภายในสวิตซ์เต็ม และทำให้สวิตซ์หยุดชะงักในการทำงานได้
2. Rogue DHCP server เป็นการทำให้มี unauthorized IP เกิดขึ้นสู่ network ของเราได้
3. ARP attack ทำตัวเป็น MAN-In-the middle โดยจะเข้าไปบอกว่า IP ของผู้ใช้งานในระบบของเรา เป็น MAC Address ของ Attacker ดังนั้น Attacker ก็จะได้รับข้อมูลของผู้ใช้งานภายในไปด้วย
4.Spoofing Attack เป็นการกระทำของ Attacker พยายามหลอกระบบว่าตัวเองเป็น IP ที่อยู่ในระบบของเราด้วย

Note. วิธีแก้ไขแบบเบื้องต้นสุดๆ เลยก็คือ Management VLAN เราจะต้อง create ขึ้นมาใหม่ ซึ่งเราต้องย้ายอุปกรณ์สวิตซ์จาก vlan 1 เข้ามาอยู่ใน vlan วงนี้ และเปลี่ยน default-gateway ไปชี้ที่ interface vlan ที่เราสร้างขึ้นมาใหม่เช่นเดียวกันนะครับ ทำแบบนี้ก็เพื่อความปลอดภัยในการบริหารจัดการอุปกรณ์เครือข่ายของเรา แต่ก็ยังไม่ 100% ผมจึงขออนุญาตเสนอเพิ่มเติมโดยใช้ Access List ในการ filter อีกชั้นนึง ลองดูตัวอย่างที่ผมยกมาให้สัก 2 ตัวอย่างนะครับ

1.vty ACLs
switch(config)#access-list 10 permit host 192.168.1.77
switch(config)#line vty 0 4
switch(config-line)#access-class 10 in

ตามตัวอย่างด้านบนนี้เป็นการระบุให้เพียงไอพี 192.168.1.77 เท่านั้นที่สามารถ telnet เข้ามาที่ switch ได้

2.Restricting Web Interface Sessions with ACLs
switch(config)#access-list 10 permit host 192.168.1.77
switch(config)#ip http server
switch(config)#ip http access-class 10

ตามตัวอย่างที่ 2 เป็นการอนุญาตให้เพียงไอพี 192.168.1.77 เท่านั้น ที่สามารถ http เข้ามาบริหารจัดการสวิตซ์ได้

หวังว่าคงได้ไอเดียในการจัดการบริหารอุปกรณ์เครือข่ายของเราไม่มากก็น้อยนะครับ ผิดพลาดตรงไหนยังไง รบกวนแนะนำกลับมาได้เลยครับ ...

ส่วนวิธีใช้คำสั่งต่างๆ ในการแก้ไข Layer 2 attack จะมาเล่าเพิ่มเติมในครั้งต่อไปนะครับ

ไม่มีความคิดเห็น: