NSX Distributed Firewall









ดาต้าเซ็นเตอร์สมัยใหม่มีการพัฒนาอย่างรวดเร็ว มีการพัฒนาจากระบบงานที่เป็น Physical ไปสู่ระบบ Virtualization รวมไปถึงการนำ Cloud มาทำงานร่วมกับดาต้าเซ็นเตอร์ และปัจจุบันมีการนำสถาปัตยกรรมใหม่เข้ามาใช้งาน เช่น micro services และ containers  ทั้งหมดนี้เพื่อให้ดาต้าเซ็นเตอร์สามารถพัฒนาไปสู่ระบบที่ทำงานได้อย่างคล่องตัวและมีประสิทธิภาพ ซึ่งระบบรักษาความปลอดภัยปัจจุบันไม่เพียงพอที่จะปกป้องระบบได้
ด้วยการทำงานของ NSX สามารถที่จะแก้ปัญหาในการนำระบบที่หลากหลายมาทำงานร่วมกัน โดยใช้ micro-segmentation ในการปกป้องข้อมูลในดาต้าเซ็นเตอร์ แต่ยังคงไว้ซึ่งความรวดเร็วในการทำงาน

Acceptable Security in the Modern Data Center





ปัญหาที่พบโดยทั่วไปในดาต้าเซ็นเตอร์: ทราฟฟิกต้องมีการวิ่งผ่านอุปกรณ์ Physical Appliance




East-West Firewalling/ Same Host
จากรูปด้านบนจะเห็นได้ว่าการปกป้องทราฟฟิกระหว่าง VM ซึ่งอยู่ใน Server เดียวกัน ทราฟฟิกต้องมีการวิ่งผ่านอุปกรณ์ไฟวร์วอลผ่าน อุปกรณ์สวิตส์ที่เป็น Layer2 และ ​Layer 3 ผ่านไฟว์วอล แล้วทราฟฟิกจึงวิ่งกลับ จะเห็นได้ว่าต้องวิ่งถึง 6 Hops ในขณะที่ใช้งาน distributed firewall บน NSX, ทราฟฟิกสามารถวิ่งภายในโฮสต์เดียวกันได้ผ่าน Logical Switch และสามารถปกป้องได้ผ่าน NSX distributed firewall
East-West Firewalling/ Host to Host
จากรูปด้านบนจะเห็นได้ว่าการปกป้องทราฟฟิกระหว่าง VM ซึ่งอยู่ต่าง Server กัน ทราฟฟิกต้องมีการวิ่งผ่านอุปกรณ์ไฟวร์วอลผ่าน อุปกรณ์สวิตส์ที่เป็น Layer2 และ ​Layer 3 ผ่านไฟว์วอล เช่นเดียวกับทราฟฟิกที่วิ่งภายใน host ถึงใช้ 6 Hops ในกรณีใช้งานผ่าน NSX ทราฟฟิกสามารถวิ่งขึ้นอุปกรณ์ที่เป็น L3 switch แล้ววิ่งลงกลับมายัง Host ปลายทางได้ ใช้จำนวนเพียง 2 hops เท่านั้น ทำให้ไม่สิ้นเปลืองทราฟฟิกที่วิ่งในระบบ
  
ปัญหาที่พบโดยทั่วไปในดาต้าเซ็นเตอร์: ข้อจำกัดของ Firewall Technology ในปัจจุบัน


รูปแบบการทำงานของ Physical Firewall
การใช้งานอุปกรณ์ที่เป็น Physical โดยส่วนใหญ่ จะไม่สามารถทำงานในลักษณะ Micro Segmentation ได้ ไฟร์วอลที่นำมาใช้งานต้องมีการใช้เงินลงทุนที่สูงในกรณีทราฟฟิกระดับ 10 Gigabit ขึ้นไป และ ทราฟฟิกที่วิ่งจะเป็นลักษณะ Choke point คือทราฟฟิกที่ต้องการปกป้องต้องมาวิ่งผ่านไฟว์วอลเท่านั้น และกฎของไฟว์วอลยังมีการกำหนดต้นทางและปลายทางที่ต้องการปกป้อง โดยวิธีการกำหนด Address ในรูปแบบ IP Address, MAC Address
รูปแบบการทำงานของ Virtual Firewall
ในบาง Environment มีการใช้งานอุปกรณ์ที่เป็น Virtual Firewall ซึ่งมีการติดตั้งในลักษณะของ Virtual machine ในทุกๆ Host ที่ต้องการที่จะปกป้อง ปัญหาที่เกิดขึ้นคือทราฟฟิกจะเกิดคอขวดขึ้น เนื่องจาก Throughput หรือ firewall performance ในปัจจุบันยังอยู่ที่ 1-3 Gpbs ซึ่งไม่เพียงพอสำหรับแอพพลิเคชั่นที่รองรับปริมาณจำนวนผู้ใช้จำนวนมาก และ กฎของไฟว์วอลยังมีการกำหนดต้นทางและปลายทางที่ต้องการปกป้อง โดยวิธีการกำหนด Address ในรูปแบบ IP Address, MAC Address เช่นเดียวกับ อุปกรณ์ Physical Firewall
รูปแบบการทำงานของ Distributed Firewall

จะเห็นว่า ทราฟฟิกที่อยู่ในภายใน Segment เดียวกัน สามารถควบคุมโดย distributed firewall ซึ่งเป็นไฟว์วอลที่ควบคุมในแต่ละ virtual machine กรณีที่บาง Segment ที่ต้องการการปกป้องในระดับการรักษาความปลอดภัยที่สูงระดับ L7 Firewall ที่อ้างอิงตาม OSI Layer หรือต้องการฟีเจอร์ของ Next Generation Firewall โดย NSX Distributed firewall สามารถเปลี่ยนเส้นทางโดยการทำ Traffic Steering ไปยัง 3rd Party Next Generation Firewall ได้

NSX Distributed Firewall จะมีการทำงานในระดับของ Layer 4 OSI Layer มีฟีเจอร์ในป้องกันการปลอมแปลง IP Address โดยใช้ฟังก์ชั่น Spoof guard มีทำงานที่ Line Rate หรือสามารถประมวลผลทราฟฟิกได้ที่ประมาณ 20 Gbps ต่อโฮสต์ สนับการทำ Identity Firewall คือสามารถตรวจสอบผู้ใช้งานโดยใช้ username/password ก่อนเข้ามาในระบบ และรองรับการทำโปรแกรมผ่าน REST API
การนำ NSX Distributed Firewall มาใช้งานในดาต้าเซ็นเตอร์

NSX Distributed Firewall มีการทำงานบน Distributed Switch โดยมีการติดตั้งในระดับ Cluster
ใน Compute Cluster จะมีไฟวร์วอลในทุกๆ Virtual machine ในส่วนของ Edge Cluster จะมีฟังก์ชั่นไฟว์วอลในการปกป้องดาต้าเซ็นเตอร์ในตัว Edge Service Gateway
NSX Distributed Firewall สามารถทำงานได้ทั้งบน VLAN หรือ VXLAN ทราฟฟิกจะมีการแสกนทั้งขาเข้า ingress และขาออก egress และสนับสนุนทำงานบนสภาพแวดล้อมทั้ง V2V, P2V 
  
กฎของไฟว์วอลจะเห็นได้ว่า สามารถนำ Object ของ vCenter มาใช้งานในการสร้างกฎไฟว์วอลได้ เช่น Cluster, Data Center, Port groups, VXLAN รวมไปถึง VC Containers เช่น VM names คือการนำชื่อของ Virtual machine มาสร้างกฎได้ NSX Firewall ยังสนับสนุนทั้ง ipv4, ipv6 address กฎของไฟว์วอลสามารถกำหนดขอบเขตในการประยุกต์ใช้ได้ผ่าน Applied To หรือ PEP (Policy Enforcement Point) ซึ่งจะเห็นได้ว่า สามารถทำให้กฎไฟว์วอลในแต่ละข้อมีผลในระดับของ Cluster หรือเฉพาะ VXLAN หรือ เฉพาะ vNIC ของ Virtual machine ก็ได้

ในกรณีที่ NSX มีการติดตั้งในลักษณะ Multi vCenter , กฏของไฟร์วอลสามารถที่จะกำหนดได้จาก NSX Manager ที่ทำหน้าที่เป็น Primary Node ที่ดาต้าเซ็นเตอร์หลัก โดย กฏจะมีการทำสำเนากฏไฟว์วอลไปยัง NSX Manager ที่ทำหน้าที่ Secondary Node ที่ไซต์อื่นๆ

กฎไฟว์วอลนอกจากทำงานบน L3/L4 ได้ผ่าน General Tab ยังสามารถทำงานได้บน L2 โดยการสร้างกฎผ่าน tab Ehternet

ตัวอย่างกฏไฟว์วอล

จากด้านบนจะเห็นได้ว่า การสร้างกฎไฟว์วอลเพื่อป้องกันทราฟฟิกข้ามเครือข่ายกัน จากตัวอย่างต้องการที่จะปกป้อง ทราฟฟิกที่วิ่งจาก Web Server ไปยัง App Server ซึ่งปกติจะต้องมีการสร้างกฎอย่างน้อย 3 กฎ เป็นอย่างน้อยโดยใช้ Virtual Machine หรือ IP Address            NSX สามารถสร้างกฎได้ใช้ เพียง ข้อเดียว โดยการนิยามกฎ โดนใช้ Logical Switch มาเป็น Source หรือต้นทาง  จากภาพด้านบนมีการกำหนด Web Logical Switch มาเป็นต้นทาง และ App Logical Switch เป็นปลายทาง ผลลัพธ์ที่ได้คือทราฟฟิกที่วิ่งภายในกลุ่มเดียวกัน สามารถคุยกันได้ (VM1 ส่งข้อมูลให้กับ VM2 ได้ และ VM3 ส่งข้อมูลให้กับ VM4 ได้) กรณีที่ทราฟฟิกคุยข้ามกลุ่มจาก Web ไปยัง กลุ่ม App ทราฟฟิกจะถูก Block



กฎไฟว์วอลโดยใช้ Security Group


NSX สามารถนำ Object ของ vCenter มาใช้ในการสร้างกฎได้ มีรูปแบบการใช้งาน 3 แบบคือ
Dynamic Inclusion สามารถกำหนดได้จาก ประเภทของระบบปฏิบัติการ OS Name, ชื่อของคอมพิวเตอร์ Computer name, ชื่อของ Virtual Machine รวมไปถึง Security Tag โดยกำหนดเป็นชื่อที่เฉพาะเจาะจง เช่น OS Name = Window XP หรือให้มีอักษรบางส่วนได้ เช่น Virtual Machine name, “Contain Web-Server-“ ซึ่งกฎ จะมีผลเฉพาะชื่อ Virtual machine ที่ขึ้นต้นหรือประกอบไปด้วยอักษรที่กำหนดไว้
Static Inclusion สามารถกำหนดได้จาก ประเภท Object ที่กำหนดไว้ ดังที่ระบุไว้ด้านบน
Static Exclusion สามารถกำหนดได้จาก ประเภท Object ที่กำหนดไว้นอกเหนือจากที่กำหนดไว้ด้านบน



ด้านบนเป็นตัวอย่างการสร้างกฎโดยใช้ Security Group แบบ Dynamic Inclusion โดยกำหนดผ่านการกำหนดชื่อ VM Name หรือ Security Tag
เช่น
ตัวอย่างการกำหนดผ่าน VM Name คือการที่สร้าง Security Group “SG-FIN-WEB” โดยกำหนดผ่าน Virtual Machine ที่มีชื่อที่มีอักษร “FIN-WEB” เป็นส่วนหนึ่งของชื่อ Virtual Machine
ลลัพธ์ที่ได้คือ ไม่จำเป็นต้องสร้างกฎไฟว์วอลขึ้นมาใหม่ สำหรับ Virtual machine ที่มีกำหนดชื่อดังกล่าว 
ตัวอย่างการกำหนดผ่าน Security Tag คือการที่สร้าง Security Group “SG-FIN-WEB” โดยกำหนดผ่าน Tag  ที่มีชื่อที่มี Tag คำว่า “FIN-WEB”
ผลลัพธ์ที่ได้คือ ไม่จำเป็นต้องสร้างกฎไฟว์วอลขึ้นมาใหม่ สำหรับ Virtual machine ที่มีกำหนด Security Tag ดังกล่าว






















ด้านบนเป็นตัวอย่างการสร้างกฎโดยใช้ Security Group แบบ Dynamic Membership โดยกำหนดผ่านการคัดกรองประเภท Computer OS โดยใช้ OS Name
เช่น
ตัวอย่างการกำหนดผ่าน OS Name เช่น Windows หรือ Linux
ผลลัพธ์ที่ได้คือ ไม่จำเป็นต้องสร้างกฎไฟว์วอลขึ้นมาใหม่ การป้องกันทราฟฟิก จาก เครื่องคอมพิวเตอร์ที่มีระบบปฏิบัติการ Windows ห้ามไม่ให้รับส่งข้อมูลกับเครื่องคอมพิวเตอร์ที่มีระบบปฏิบัติการ Linux
ตัวอย่างการกำหนดผ่าน Security Group เช่นการที่สร้าง Security Group “SECURITY-GROUP-WINDOW” จะรวมเฉพาะกลุ่มคอมพิวเตอร์ที่มีระบบปฏิบัติการ  “WINDOWS”  และการกำหนดผ่าน Security Group เช่นการที่สร้าง Security Group “SECURITY-GROUP-LINUX” จะรวมเฉพาะกลุ่มคอมพิวเตอร์ที่มีระบบปฏิบัติการ “LINUX” 
























ในด้านของการบริหารจัดการ NSX Distributed Firewall
มีเครื่องมือชนิด ดังนี้
Logging สามารถเก็บ Log ได้จากระบบ ไม่ว่าจะ System Event หรือ Audit Log รวมไปถึง Log จาก Firewall Rule
IPFIX สามารถเก็บข้อมูล NetFlow โดยข้อมูลโปรโตคอล IPFIX
Flow Monitoring สามารถเก็บข้อมูลเกี่ยวกับ Flows ของข้อมูลได้
Threshold Event สามารถมอนิเตอร์ตรวจสอบข้อมูล CPU, Memory ของแต่ละโฮสต์ได้