ป้ายกำกับ: Port Control

Router: DHCP Port ControlRouter: DHCP Port Control

ในสถาปัตยกรรมเครือข่ายสมัยใหม่ การจัดการที่อยู่ IP ผ่าน Dynamic Host Configuration Protocol (DHCP) เป็นกลไกพื้นฐานที่ขาดไม่ได้ แต่เมื่อความปลอดภัยเป็นสิ่งสำคัญสูงสุด การพึ่งพาเพียงแค่การแจกจ่าย Address อย่างเดียวไม่เพียงพอ เราจึงต้องยกระดับไปสู่แนวคิดของ DHCP Port Control ซึ่งเป็นการควบคุมการเข้าถึงเครือข่ายทั้งในระดับ MAC Address, IP Address, และแม้กระทั่งการกำหนดสิทธิ์ที่ระดับพอร์ตทางกายภาพและตรรกะ

ทำไมต้องมีการควบคุมมากกว่าเพียงแค่การอำนวยความสะดวก

โดยปกติแล้ว Router จะทำหน้าที่กระจายช่วง IP Addresses ให้แก่อุปกรณ์ต่างๆ ใน Local Area Network (LAN) การป้องกันแบบดั้งเดิม เช่น MAC Filtering หรือการตั้งค่า ACL (Access Control List) ที่ Router นั้นมีประโยชน์ แต่ก็มีข้อจำกัด เพราะการคุกคามที่ซับซ้อนอาจหลีกเลี่ยงการตรวจสอบเหล่านั้นได้

DHCP Port Control ที่แท้จริงคือการสร้างระบบ Source of Truth ที่เชื่อถือได้ ซึ่งกำหนดว่าอุปกรณ์ใด (ระบุด้วย MAC/IP) ที่มีสิทธิ์ในการเชื่อมต่อผ่านพอร์ตใด (ระบุด้วย Port ID) เท่านั้น การควบคุมนี้จำเป็นต้องมีระบบหลังบ้านที่แข็งแกร่งและสามารถตรวจสอบสถานะการเข้าถึงแบบเรียลไทม์ ซึ่งเป็นจุดที่ระบบฐานข้อมูลระดับองค์กรอย่าง PostgreSQL เข้ามามีบทบาทสำคัญในการเป็นศูนย์กลางการจัดการสิทธิ์ (Centralized Authorization Engine)

บทบาทของ PostgreSQL ในการบังคับใช้สิทธิ์

ในมุมมองของ Senior Architect เราไม่ได้ใช้ PostgreSQL เพื่อควบคุมพอร์ตทางกายภาพโดยตรง แต่เราใช้มันเพื่อเป็น Policy Enforcement Point (PEP) และ Policy Decision Point (PDP) ที่กำหนดว่าอุปกรณ์ที่พยายามขอ IP Address นั้นๆ มีสิทธิ์หรือไม่

เราจะออกแบบตารางเพื่อเก็บข้อมูลการแมปสิทธิ์ (Authorization Mapping) โดยเชื่อมโยง MAC Address, IP Address, และ Port ID เข้าด้วยกัน เมื่อมีอุปกรณ์ใหม่เข้ามาเชื่อมต่อ ระบบเครือข่าย (เช่น RADIUS Server หรือ Network Access Control – NAC) จะต้องสอบถาม PostgreSQL ก่อนเสมอ เพื่อยืนยันสถานะการเข้าถึงก่อนที่จะอนุญาตให้ DHCP Server ทำการแจกจ่าย IP Address

ตัวอย่างการตรวจสอบสิทธิ์ด้วย PostgreSQL

สมมติว่าเรามีตารางชื่อ authorized_devices ที่เก็บรายการอุปกรณ์ที่ได้รับอนุญาตให้เชื่อมต่อผ่านพอร์ตเฉพาะ เราสามารถใช้คำสั่ง SQL เพื่อตรวจสอบว่า MAC/IP ที่เข้ามานั้นตรงกับสิทธิ์ที่กำหนดไว้หรือไม่

SQL

-- ตารางสำหรับเก็บการแมปสิทธิ์การเข้าถึงพอร์ตและอุปกรณ์<br>CREATE TABLE authorized_devices (<br>    device_id SERIAL PRIMARY KEY,<br>    mac_address VARCHAR(17) NOT NULL,<br>    ip_address VARCHAR(15) NOT NULL,<br>    port_id INTEGER NOT NULL,<br>    is_active BOOLEAN DEFAULT TRUE<br>);<br><br>-- ตัวอย่างการตรวจสอบสิทธิ์: ตรวจสอบว่า MAC และ IP นี้ได้รับอนุญาตให้ใช้ Port 5 หรือไม่<br>SELECT device_id, ip_address FROM authorized_devices<br>WHERE mac_address = '00:1A:2B:3C:4D:5E'<br>AND ip_address = '192.168.1.10'<br>AND port_id = 5;<br>

หากคำสั่งนี้ส่งผลลัพธ์กลับมา แสดงว่าอุปกรณ์นั้นมีสิทธิ์ในการเชื่อมต่อ (Policy Granted) แต่ถ้าไม่พบข้อมูลใดๆ เลย (No Result) ระบบ NAC จะต้องปฏิเสธการเชื่อมต่อทันที (Policy Denied) ก่อนที่ DHCP Process จะเริ่มขึ้น

บทสรุป

การควบคุม DHCP Port ไม่ใช่แค่การป้องกันทางกายภาพ แต่คือการสร้างชั้นความปลอดภัยเชิงตรรกะ (Logical Layer) ที่ใช้ฐานข้อมูลอย่าง PostgreSQL เป็นแกนหลักในการตัดสินใจ (Decision Engine) การบูรณาการ PostgreSQL เข้ากับระบบ NAC ทำให้องค์กรสามารถจัดการสิทธิ์การเข้าถึงเครือข่ายได้อย่างละเอียด แม่นยำ และสามารถตรวจสอบย้อนหลัง (Audit Trail) ได้อย่างสมบูรณ์แบบ ซึ่งเป็นมาตรฐานความปลอดภัยที่จำเป็นสำหรับโครงสร้างพื้นฐานระดับองค์กรในปัจจุบัน