GIỚI THIỆU NETWORK ACCESS CONTROL PACKETFENCE

I. GIỚI THIỆU NETWORK ACCESS CONTROL (NAC)

Network Access Control (NAC) là giải pháp kiểm soát quyền truy cập vào tài nguyên hệ thống mạng của các thiết bị đầu cuối. NAC sẽ ngăn chặn các truy cập bất hợp pháp từ các thiết bị máy tính, thiết bị di động không rõ nguồn gốc hoặc những thiết bị chưa tuân thủ các chính sách bảo mật của hệ thống.

Network Access Control có thể xác định các thông tin “Who, What, Where, When, How” khi một thiết bị End-User truy cập vào trong hệ thống mạng.

  • Who: Danh tính của End-User khi truy cập vào hệ thống mạng.

  • What: Danh tính của thiết bị đang truy cập vào hệ thống mạng.

  • Where: Địa điểm và vị trí mà End-Device thực hiện kết nối truy cập vào hệ thống mạng. VD: Văn phòng, phòng trà, phòng họp, dãy tầng, … 

  • When: Thời gian End-User bắt đầu truy cập vào hệ thống mạng, thời gian họ ngừng kết nối với hệ thống, thời gian hoạt động của họ khi truy cập vào hệ thống mạng.

  • How: End-User truy cập hệ thống mạng thông qua các chủng loại thiết bị như thế nào. VD: Máy tính (Linux, Windows, MAC OS), Mobile Device (Android, IOS), Camera, Scanner, Printer, VOIP Phone, …

Chức năng chính của Network Access Control: 

  • Đảm bảo tính AAA (Authorization, Authentication, Accounting) của các kết nối truy cập vào hệ thống mạng.

  • Áp đặt Role-Based Control cho người dùng, thiết bị hoặc ứng dụng sau khi xác thực thành công để truy cập và mạng. Người dùng và thiết bị của họ sẽ tham gia vào một Group tương ứng với vai trò, quyền hạn và khả năng truy cập sử dụng tài nguyên hệ thống mạng theo chính sách quy định.

  • Đảm bảo tính bảo mật, an toàn dữ liệu và an ninh mạng thông qua việc thực thi các chính sách.

  • Quản lý danh tính người dùng và danh tính của các thiết bị kết nối vào hệ thống. Quản lý thời gian hoạt động hằng ngày và thống kê tài nguyên sử dụng của các thiết bị truy cập.

  • Tự động đánh giá khả năng an toàn và bảo mật dữ liệu của các thiết bị truy cập, phát hiện các vi phạm chính sách bảo mật để ngăn chặn và cách ly kịp thời nhằm giảm thiểu tối đa rủi ro cho hệ thống. 

Ngày nay, hệ thống Network Access Control ngày càng trở nên phổ biến và vô cùng quan trọng trong các tổ chức và doanh nghiệp. 

NAC thường được ứng dụng trong những trường hợp:

  • Chứng thực kết nối cho nhân viên và khách mời.

  • Quản lý các thiết bị di động cá nhân (BYOD).

  • Triển khai và quản lý các thiết bị IoT.

  • Thi hành các chính sách bảo mật.

  • Phát hiện và ngăn chặn các rủi ro bảo mật.

  • Dịch vụ ứng cứu và giải quyết sự cố tại chỗ.

Những hệ thống Network Access Control thương mại hàng đầu hiện nay như Cisco NAC, ForeScout NAC, HPE (Aruba) NAC, …

Bên cạnh đó thì cũng có những hệ thống NAC được xây dựng từ những Open Source miễn phí như PacketFence, FreeNAC, OpenNAC.

 

II. GIỚI THIỆU NAC PACKETFENCE

PacketFence là một dự án Open Source miễn phí có khả năng xây dựng nên hệ thống Network Access Control khá mạnh mẽ. PacketFence có thể thực hiện được đầy đủ các chức năng của giải pháp NAC và là dự án Open Source được nhiều cộng đồng quan tâm đóng góp phát triển hiện nay. 

PacketFence được viết bằng ngôn ngữ Perl và tích hợp các Open Source khác như MySQL (MariaDB) và Apache để xây dựng GUI Web Service quản lý.

PacketFence có những đặc điểm như:

  • Captive Portal Login.

  • 802.1x Authentication Radius.

  • Tích hợp và quản lý kết nối Wired và Wireless.

  • Hỗ trợ các lựa chọn xác thực Database khác nhau.

  • Tự động kiểm tra và cách ly các thiết bị không an toàn.

  • Tích hợp với các công cụ Security: Snort, Suricata, Nessus Scanner, …

  • Hỗ trợ xây dựng nhiều Server Cluster để đảm bảo tính High Availability.

PacketFence bao gồm các thành phần:

  • FreeRADIUS: Hỗ trợ cơ chế xác thực 802.1x và đảm bảo tính AAA.

  • Apache: Xây dựng Web Admin Service để quản lý hệ thống.

  • Netdata: Công cụ phân tích, quản lý và thống kê lưu lượng mạng.

  • MariaDB: Cơ sở dữ liệu lưu trữ thông tin của hệ thống PacketFence.

  • Redis: Hệ thống lưu trữ Key Value giúp tối ưu hiệu năng hệ thống.

PacketFence có thể hỗ trợ nhiều dòng thiết bị Switch để làm NAS như Switch Cisco, Switch Dell, Switch Brocade, Switch Xirrus, …

Những tính năng nổi bật của PacketFence:

  • Authentication: Cơ chế xác thực để xin cấp quyền truy cập vào tài nguyên mạng, hỗ trợ xác thực thông qua các phương pháp: OpenLDAP, Active Directory, Radius, Facebook, Google+, Email, SMS.

  • Compliance: Đảm bảo các thiết bị End-User phải tuân thủ các chính sách bảo mật thông qua việc tích hợp các công cụ Nessus Scanner, OpenVAS Scanner, Windows Management Instrumentation.

  • Device Manager: Quản lý các thiết bị truy cập với Symantec, OPSWAT, MobileIron, PacketFence (Apple/Android).

  • Firewall: Hỗ trợ tích hợp với các thiết bị Firewall như Palo Alto, Fortigate, Barracuda NG, Checkpoint, Watchguard.

  • IDS: Hỗ trợ tích hợp các công cụ IDS như Snort, Suricata, Onion Security.

  • Profiling & Fingerpriting: Hỗ trợ quét và phát hiện loại thiết bị, hệ điều hành trên thiết bị với công cụ FingerBank.

PacketFence và FingerBank đều được phát triển bởi “Inverse Inc.”, FingerBank có khả năng xác định thông tin chi tiết các thiết bị kết nối vào hệ thống mạng.

Cơ chế hoạt động của hệ thống PacketFence:

  • Hệ thống yêu cầu User phải xác thực để được cấp quyền truy cập vào mạng, PacketFence hỗ trợ nhiều cơ chế xác thực như: MAC Bypass, Username/Password, eMail, …

  • Quá trình xác thực và cấp mạng sẽ thu thập các thông tin về danh tính người dùng, thông tin máy của người dùng, Physical Port, IP Address, …

  • Thiết lập các Group Role người dùng riêng biệt tương tự như chia VLAN trong hệ thống mạng. Người dùng sẽ được cấp IP tương ứng với Role gán để truy cập vào mạng.

  • Tích hợp với các công cụ Security để đánh giá, theo dõi và thực hiện cách ly những máy người dùng vi phạm. Những máy truy cập trái phép hoặc vi phạm chính sách sẽ bị cách ly vào một VLAN riêng biệt để không gây ảnh hưởng tới hệ thống.

  • Quản lý thời gian hoạt động và trạng thái Online/Offline người dùng, quản lý thông tin hệ thống (Bandwith, CPU, Disk, Auditing, …) thông qua giao diện Dashboard với các biểu đồ trực quan.

 

III. CÁC LOẠI HÌNH TRIỂN KHAI TRONG PACKETFENCE

1. Inline Enforcement Mode (In Band)

PacketFence sẽ đóng vai trò làm Gateway trong hệ thống mạng, tất cả Traffic của Client từ các Switch và Access Point sẽ đổ dồn về PacketFence để xử lý. PacketFence sẽ sử dụng các IP Tables Rule (IPset) để kiểm soát các Client.

Mode Inline không phù hợp khi áp dụng cho các mô hình mạng quy mô lớn vì hệ thống PacketFence sẽ không thể xử lý nổi lượng Traffic khổng lồ đổ về, do đó sẽ dẫn tới hiện tượng Bottleneck và Point of Failure.

Trong Mode này PacketFence làm việc với Dumb Edge Switch hay còn gọi là Unmanaged Switch. 

Unmanaged Switches: Dòng Switch này dành cho các khách hàng với nhu cầu đơn giản (Plug & Play), cung cấp dịch vụ ngay tức thời, cài đặt và cấu hình đơn giản.

 

2. VLAN Enforcement Mode (Out of Band)

PacketFence sẽ đóng vai trò Server trung gian xác thực và gán VLAN cho các Switchport kết nối tới máy Client. PacketFence có thể thay đổi cấu hình của Switch liên tục theo thời gian thực để cấu hình gán VLAN cho Access Port.

Hệ thống PacketFence sẽ đứng bên ngoài kết nối và cấu hình trên các Switch.

Các nhóm VLAN quan trọng cần phải định nghĩa trong PacketFence:

  • VLAN Isolation: VLAN dùng để cách ly những máy Client vi phạm Policy và Security Violation.

  • VLAN Registration: VLAN phục vụ cho quá trình xác thực đăng ký người dùng để vào mạng.

  • VLAN Management: VLAN dùng để kết nối và quản lý PacketFence thông qua Remote SSH và Web GUI HTTPS.

 

Quá trình hoạt động của VLAN Enforcement Mode:

  • Khi có một thiết bị kết nối vào Switch, PacketFence sẽ phát hiện ra địa chỉ MAC của thiết bị này chưa được đăng ký nên sẽ cấu hình Switchport gán nó vào VLAN Registration.

  • PacketFence sẽ đóng vai trò làm DHCP Server và DNS Server để cấp phát IP Registration cho máy người dùng và gửi về Web Portal hoặc Hotspot Portal cho máy người dùng đăng nhập.

  • Sau khi người dùng xác thực Web Portal thành công, PacketFence sẽ thu hồi IP Registration và cấu hình Switchport gán vào VLAN tương ứng với Role của người dùng.

  • PacketFence sẽ gọi DHCP Server trong hệ thống mạng để cấp phát IP tương với VLAN mà User’s Role đăng ký để vào mạng.

  • Người dùng sau khi nhận được IP sẽ được chuyển hướng (Redirect) sang trang một Web đã được thiết lập. Khi ấy, người dùng đã được phép truy cập tài nguyên trong hệ thống mạng.

  • Sau khi hết thời gian truy cập hoặc nếu người dùng ngắt kết nối với hệ thống thì PacketFence sẽ tự động hủy đăng ký (Deregister) thiết bị người dùng. Khi người dùng khởi tạo phiên làm việc mới thì hệ thống sẽ cấu hình lại Switchport vào VLAN Registration.

Khi dùng VLAN Enforcement Mode thì cần phải có ít nhất một bộ VLAN bao gồm: Management, Isolation, Registration VLAN Data

  • Chọn một Interface để làm Management và tạo ra các VLAN khác trên Interface ấy, cấu hình tùy chỉnh Default Gateway cho Server.

  • Nếu có nhiều chi nhánh (Campus Network) phải triển khai quản lý độc lập thì có thể tạo nhiều bộ VLAN để quản lý.

  • Khi tùy chỉnh Interface và tạo VLAN cần phải đặt IP/Netmask tương ứng, đối với VLAN thì phải đặt VLAN ID và chọn VLAN Type.

 

IV. YÊU CẦU PHẦN CỨNG KHI CÀI ĐẶT PACKETFENCE

Packetfence hỗ trợ cài đặt trên các nền tảng Server CentOS/Redhat Debian/Ubuntu với phần cứng yêu cầu tối thiểu:

  • Intel/AMD CPU 3 GHz.

  • 8 GB RAM.

  • 100 GB Disk Space (RAID-1 Recommended).

  • 1 Network Card (2 Recommended).

 

Tuy nhiên, thực tế thì PacketFence có thể cài đặt một cách dễ dàng hơn với bản PacketFence ZEN (Zero Effort)

PacketFence ZEN (OVF) có thể Import vào các hệ thống ảo hóa VMware vCenter/vSphere hoặc Prommox/Opennebula và khởi chạy ngay lập tức mà không cần cài đặt. Các bước cấu hình đáng chú ý sau đó bao gồm:

  • Cấu hình Network Bonding/Port Group, Trunking VLAN,  Switching & Routing trên các thiết bị mạng.
  • Cấu hình Resize RAM, CPU, Disk cho Virtual Machine.
  • Cấu hình Cluster 3 VM PacketFence để HA.
  • Cấu hình Mode VLAN Enforcement, Add Switch, tạo VLAN, tạo Account và Captive Portal Login.
  • Cấu hình AAA Model trên các Switch Access để điều phối các RADIUS Request giữa Client và Server.
  • Cấu hình FingerBank (tạo tài khoản, Get API Key) để nhận dạng OS của các thiết bị Client.
  • Cấu hình tích hợp Alert và Security Plugin nếu cần thiết.