Access Control Lists (ACL) คืออะไร?
ACL (Access Control List) คือรายการกฎ (Rules) ที่กำหนดบนอุปกรณ์เครือข่าย (Router, Firewall, Switch Layer 3) เพื่อควบคุมการไหลของแพ็กเก็ตข้อมูล โดยตัดสินใจว่า Permit (อนุญาต) หรือ Deny (บล็อก) ตามเงื่อนไขที่กำหนด
ACL ทำงานอย่างไร?
เมื่อแพ็กเก็ตผ่านอินเตอร์เฟซที่มี ACL ผูกอยู่ อุปกรณ์จะตรวจสอบกฎ จากบนลงล่าง (Top-down) กฎแรกที่ตรงกับเงื่อนไข (Match) จะถูกนำไปใช้ทันที (Permit หรือ Deny) หากไม่มีกฎไหนตรง จะมี Implicit Deny All ท้ายสุด (บล็อกทั้งหมดที่ไม่ได้ระบุ)
ประเภทของ ACL หลัก 2 ประเภท
1. Standard ACL (มาตรฐาน)
- กรองได้เฉพาะ Source IP Address เท่านั้น
- หมายเลข ACL:
1-99และ1300-1999 - ควรวางใกล้ Destination มากที่สุด (เพราะกรองแค่ Source)
- ไม่รองรับ Port/Protocol
2. Extended ACL (ขยาย)
- กรองได้ละเอียด: Source IP, Destination IP, Protocol (TCP/UDP/ICMP), Source Port, Destination Port
- หมายเลข ACL:
100-199และ2000-2699 - ควรวางใกล้ Source มากที่สุด (เพื่อประหยัด Bandwidth/CPU)
- รองรับ Named ACL (ตั้งชื่อได้) ง่ายต่อการจัดการ
วิธีที่ ACL ช่วยเพิ่มความปลอดภัยเครือข่าย
1. กรองトラฟฟิกไม่พึงประสงค์ (Traffic Filtering)
- บล็อก IP ที่รู้จักเป็นอันตราย (Known Malicious IPs)
- จำกัดการเข้าถึงบริการสำคัญ (เช่น SSH, RDP, Database) ให้เฉพาะ IP Admin/Jump Host
- บล็อก Port อันตรายที่ไม่ใช้งาน (NetBIOS, SMB, Telnet ออกสู่ Internet)
2. ป้องกัน IP Spoofing (Anti-Spoofing)
ใช้ ACL บน Interface Inbound เพื่อ Deny แพ็กเก็ตที่มี Source IP เป็น Private RFC1918 หรือ Loopback หรือ Multicast ที่ไม่ควรมาจากภายนอก
3. ควบคุมการเข้าถึงระหว่าง VLAN/Segment (Inter-VLAN Control)
ใช้ ACL บน Router/Switch Layer 3 (Router-on-a-stick หรือ SVI) เพื่อจำกัดการสื่อสารระหว่าง Department (HR ไม่ควรเข้าถึง Server Finance โดยตรง)
4. ใช้ร่วมกับ Firewall/Zone-Based Policy
ACL เป็น Layer แรก (L3/L4 Filtering) ก่อนที่トラฟฟิกจะเข้าสู่ Deep Packet Inspection ของ Firewall ช่วยลดโหลด CPU
ตัวอย่าง Extended ACL บน Cisco IOS
! อนุญาตให้ Network 192.168.10.0/24 เข้าถึง Web Server 10.1.1.10 ผ่าน Port 80, 443
ip access-list extended WEB_ACCESS
permit tcp 192.168.10.0 0.0.0.255 host 10.1.1.10 eq 80
permit tcp 192.168.10.0 0.0.0.255 host 10.1.1.10 eq 443
deny ip any any log
!
interface GigabitEthernet0/0
ip access-group WEB_ACCESS in
Best Practices การจัดการ ACL
- Document ทุกกฎ: ใส่ Remark (คำอธิบาย) ทุกบรรทัด
- จัดลำดับ: กฎ Specific (เจาะจง) ไว้บน, กฎ General (กว้าง) ไว้ล่าง
- ใช้ Named ACL: อ่านง่าย จัดการง่ายกว่าหมายเลข
- Test ก่อนนำไป Production: ใช้
show access-listsดู Hit Count, ทดสอบใน Lab ก่อน - Review 定期: ลบกฎที่ไม่ใช้, อัปเดต IP ใหม่, ตรวจ Log Deny
- ไม่ควรใช้ ACL แทน Firewall: ACL เป็น Stateless (ส่วนใหญ่) ไม่มี Session Tracking, Application Awareness
สรุป
ACL เป็นเครื่องมือพื้นฐานแต่ทรงพลังในการควบคุมトラฟฟิกเครือข่ายที่ Layer 3/4 ใช้ได้ทั้งบน Router, Switch L3, Firewall ความเข้าใจใน Standard vs Extended, ตำแหน่งวาง (Placement), และลำดับกฎ (Sequence) เป็นกุญแจสำคัญในการใช้งานอย่างมีประสิทธิภาพและปลอดภัย