24 ตุลาคม 2554

ติดตั้ง Endian Firewall เป็น Gateway ใน VMware ESXi (vSphere Hypervisor) VLAN

Study case..วันก่อนเซอฟเวอร์ตัวใหม่ HP Proliant DL120 G7 ที่สั่งซื้อไปเพิ่งส่งมาถึงก็ได้ฤกษ์ทำการทดสอบติดตั้ง VMware ESXi 4 (ชื่ออย่างเป็นทางการคือ vSphere Hypervisor) โดย Server เครื่องนี้จะทำเป็น VPS host เพื่อทดสอบ application ต่างๆ ที่เขียนขึ้นก่อนจะ deploy ใช้งานจริง

Problem : 

1. มีแค่ 1 IP จริง ต่อ Virtual Server (Guest) หลายเครื่อง
โดยปกติเมื่อติดตั้ง vSphere VSXi จะสร้าง virtual switch ให้ทันที คือ vSwitch0 โดย bridge เข้ากับการ์ด LAN จริงๆ ของเซอฟเวอร์ ถ้าต้องการให้ virtual server ติดต่อกับ LAN ภายนอกได้ก็ต้องจ่าย IP ให้ server ละตัว เหมือนเซอฟเวอร์จริง 1 IP/เครื่อง !?

2. ต้องการให้ Virtual Server (Guest) ทั้งหมดทำงานหลัง Firewall
ถ้าเราเอาเซอฟเวอร์ไปวาง datacenter ทันทีที่ต่อสายแลนเข้าไป server เราจะถูกต้อนรับโดยสารพัด spam bot จะวิ่งมา scan port ทันที รวมทั้งปัญหา DoS attack หรือภาษาชาวบ้านเรียก "โดนยิงเซอฟเวอร์ล่ม" ดังนั้นหลัก security policy ที่ได้ผลที่สุด คือ default deny ปิดกั้นการเชื่อมต่อทั้งหมดแล้วเปิดแค่ service ที่ใช้

Solution :
  1. ติดตั้ง Endian Firewall 2.4x ลงใน Virtual Machine (Guest) 
  2. ตั้งค่า Virtual Server ตัวอื่นๆ ให้อยู่ใน Green network โดยใช้ Endian Firewall เป็น Gateway
*Note ในนี้จะไม่พูดถึงพื้นฐานวิธีติดตั้ง VMware ESXi ในเซอฟเวอร์นะครับ ดูจาก link อ้างอิงด้านล่างสุด

สรุปเครื่องมือที่เอามาใช้มีดังนี้..

  • VMware vSphere Hypervisor (ESXi 4.1)
  • VMware vSphere Client - สำหรับ login เข้าไปจัดการ virtual server
  • Endian Firewall Community 2.4.1  เรียกชื่อย่อว่า "EFW"

ว่าแล้วก็ลงมือกันเลย..

วิธี config virtual switch ให้แยกวง VLAN ไว้หลัง Linux Gateway

ใช้ vSphere client connect ไปที่ host IP ด้วย root user/password เลือก inventory server ที่ต้องการ config

ไปที่แทป Configuration -> Networking โดยปกติเมื่อติดตั้ง VMware เสร็จใหม่ๆ จะกำหนด default Virtual Switch เป็น vSwitch0 มาแบบนี้
จะเห็นว่าการ์ด LAN ของเซอฟเวอร์จริง ถูกต่อกับ vSwitch0 และต่อเข้ากับวง VM Network ภายใน Virtual Host แต่เราต้องการจ่าย IP ให้กับ VM Guest แค่เครื่องเดียวทำหน้าที่เป็น Gateway ก่อนโดยใช้ Endian Firewall Community 2.4 (efw)

1. สร้าง VM network Green ขึ้นมาเลือก Add Networking..
2.เลือก Connection Type เป็น "Virtual Machine"


3. กำหนด NIC สำหรับวง Green
A: กรณีใช้งาน Virtual Server อย่างเดียวเอาเครื่องหมายที่ VMNIC ออกให้เป็น "No adapters" เพราะไม่ต้องการให้วง Green ติดต่อกับโลกภายนอกโดยตรง

B. ถ้าต้องการให้คอมพิวเตอร์เครื่องอื่นๆ ในวง LAN ใช้งาน Firewall ด้วย ให้เลือกการ์ดแลนอีกตัวที่ต่อกับ Network Switch ภายในวงแลน


4. จะได้ vSwitch1 เพิ่มขึ้นมา

vSwitch0 - เป็น Management Network และ VM Network Red (เปลี่ยนชื่อเป็น Red ให้เข้าใจง่ายๆ)
vSwitch1 - VM Network Green ตอนนี้ถูกตัดขาดจากโลกภายนอก

สรุป (edited*)
RED interface คือ virtual switch -> vmnic ที่ต่อกับสาย internet 
GREEN interface จะถูกตัดขาดจากภายนอก (No adapters) หรือการ์ดแลนที่ต่อกับ Switch ภายในวง LAN
ติดตั้ง Endian Firewall Community ลงใน vSphere ESXi เพื่อใช้เป็น Virtual Linux Gateway

1. ดาวน์โหลดไฟล์ EFW-Community-2.4xxx.iso จากหน้า Endian Firewall Community upload ไปที่ datastore ของ VM host


2. สร้าง New Virtual Machine..(Ctrl+N) ใน vSphere client

เลือก OS เป็น Linux -> Other 2.4x
(*EFW พัฒนาจาก Red Hat Enterprise แต่ option นี้เป็นการประมาณ resource ที่เครื่องจำเป็นต้องใช้เท่านั้นจะเลือก Red Hat หรือ Other Linux ก็ได้)

3.  Edit Settings... ในหัวข้อ Hardware ให้ Add Hardware เพิ่ม Ethernet Adapter ให้กับ Endian Firewall เพิ่มอีก 1 ตัว

เราต้องมีการ์ดแลนอย่างน้อย 2 ตัว ให้เลือกตัวนึงเป็น VM Network Red และอีกตัวเป็น Green
*ตรงนี้ให้ดูค่า Mac Address ของ Green กับ Red เอาไว้เพื่ออ้างอิงตอนตั้งค่า Endian Firewall


4. เช็คให้เห็นภาพชัดเจนลองไปดูที่ host IP หัวข้อ Configuration -> Networking..
จะเห็นว่ามี EFW อยู่ใน vSwitch ทั้ง 2ตัว เป็นตัวเชื่อมระหว่าง VM Network Green กับ Red
เสร็จแล้วก็จัดการ Start Virtual Machine... ลงมือติดตั้ง EFW จาก ISO เลย

กำหนด LAN IP ของ Firewall Server ให้กับวง Green ในที่นี้คือ VM Network Green (vSwitch1) อย่าให้ชนกับวงนอก

เมื่อติดตั้งเสร็จสมบูรณ์จะขึ้นหน้าจอ Console พร้อมกับ IP address สำหรับเข้า web admin

Edit Settings ให้ Virtual Machine เครื่องอื่นอยู่ใน Green Network
เครื่องที่จะเข้า Endian Firewall web admin ได้จะต้องอยู่ในวง Green เท่านั้น ดังนั้นเราจะใช้ Virtual Machine อีกเครื่องนึงเป็น OS อะไรก็ได้ขอให้มี web browser ใช้ได้ในที่นี้จะใช้ Ubuntu (เน้น opensource ไว้ก่อน)

ให้กำหนด Ethernet Adapter ให้เครื่องเราอยู่ในวง Network Green

ดูจากในหัวข้อ Networking จะเห็น Guest ที่เพิ่มมาอยู่ในวง Green

จัดการ Fix IP ให้เป็นวงเดียวกันกับ Firewall ในนี้เราตั้งไว้ 192.168.1.0 /24 แล้วเปิด web browser ไปที่ IP ของ Endian (ดูได้จากหน้าจอ EFW) จะเป็นการ Setup ครั้งแรก หลังจากติดตั้งใหม่

กำหนด RED interface ให้เป็น Ethernet Static หรือ PPPoE ตามที่ต้องการ ให้อยู่ในคลาสเดียวกับ vSwitch0 (192.168.0.0 /24)

คลิกขวาที่ guest EFW - edit settings ดูค่า MAC Address ของ Green
เลือก Green/Red interface ติ๊กเลือกการ์ด eth ตาม MAC address ที่ตั้งไว้เป็น VM Network Green / Red

เสร็จเรียบร้อย ที่หน้า dashboard ของ Endian Firewall จะเห็นสถานะ traffic Green/Red วิ่งทั้งสองเส้น 
จบการติดตั้ง Endian Firewall ใน VMware ESXi 

ตอนนี้ Firewall เราจะอยู่ในสถานะ "Default Deny" การเชื่อมต่อจากภายนอก Red -> Green จะถูกบล้อคทั้งหมด 

หลังจากนี้จะต้อง Add Rules และ Forward Port ให้ Service port ที่ต้องการใช้ทีละตัว ซึ่งขั้นตอนก็เหมือน LAN ปกติทุกขั้นตอนครับ ตั้งค่าได้ในหัวข้อ
 Firewall -> Port forwarding / NAT และ Incoming Route Traffic
 Firewall -> System access

สำหรับการใช้ Virtual Server ให้เป็น Gateway สำหรับวงแลนภายนอกจริงๆ บอกก่อนว่าทำได้ โดยใช้การ์ดแลนของเซอฟเวอร์ทั้ง 2 port หรือถ้าต้องการใช้งาน VPN bridge Green กับภายนอกก็ใช้ OpenVPN ที่มีใน EFW มีให้พร้อมใช้แล้ว อีกประเด็นคือ Server ที่ให้บริการ production service ทั่วไปอย่าง web server, database, mail server ที่จริงควรจะสร้าง VLAN อีกวงเป็น Orange Interface (DMZ)  เรื่องนี้อยู่นอก scope หัวข้อนี้ขอติดไว้คราวหน้าก่อน

Reference อ้างอิง

1 ความคิดเห็น:

  1. ต้องการทราบวิธีการ สำหรับการใช้ Virtual Server ให้เป็น Gateway สำหรับวงแลนภายนอกจริงๆ บอกก่อนว่าทำได้ โดยใช้การ์ดแลนของเซอฟเวอร์ทั้ง 2 port

    ตอบลบ