Pfsense Firewall – Captive Portal chứng thực Voucher

Captive portal trên Pfsense ngoài chứng thực bằng  local user, RADIUSfreeRADIUS ra, nó còn có thể sử dụng hình thức chứng thực Voucher. Voucher là một hình thức chứng thực khá đặt biệt, chúng ta có thể hiểu nó như là một mã trả trước của điện thoại. Khi người dùng kích hoạt mã voucher thời gian sử dụng được quy định trong voucher sẽ được đếm lùi cho đến khi hạn dùng không còn nữa. Ở một môi trường mà mạng Wifi có thể thoải mái như ở Việt Nam thì bạn có thể ít thấy người ta sử dụng phương pháp này, xong một số nước, khi bạn muốn sử dụng Wifi trong khách sạn thì bạn sẽ phải trả một khoản phí và được cung cấp mã đăng nhập. Phương pháp này cũng có thể áp dụng cho cho một số dịch vụ Wifi công cộng của quốc gia hoặc các thành phố.

Trên Pfsense cũng cung cấp cho chúng ta giải phái chứng thực Captive Portal thông qua voucher:

Bạn bật dịch vụ Captive Portal của Pfsense

Chỉ cho phép mỗi mã được dùng cho một thiết bị.

Trong mục Authentication > Authentication method bạn chọn chứng thực bằng Local User Manager / Vouchers.

Khi bật Voucher lên, giao diện chứng thực mặc định sẽ xuất hiện thêm dòng Enter Voucher Code bên cạnh chứng thực bằng user.

Với hai thông tin chứng thực user và coucher, người dùng có thể chọn một trong hai để sử dụng internet. Như vậy để không làm cho người dùng gặp rắc rối, cảm thấy đơn giản khi sử dụng. Bạn có thể thay giao diện đăng nhập khác với chỉ việc Enter Voucher Code. Trong tab Configuration của Captive Portal bạn kéo xuống mục HTML Page Contents để thay thế giao diện (bạn có thể tải về tại đây).

Sau khi thay đổi bạn sẽ được giao diện mới.

Sau khi cấu hình bật dịch vụ Captive portal, chọn phương thức chứng thực và chuyển giao diện chứng thực xong, bạn tiếp tục qua tab Vouchers. Trong mục Create, Generate and Activate Rolls with Vouchers bạn check vào ô Enable the creation, generation and activation of rolls with vouchers để bật chức năng Voucher lên.

Sau khi bật lên bạn sẽ thấy một số thông tin cấu hình cho dịch vụ này, các thông tin này dùng để tạo và quản lý thông tin Voucher trong mục Create, Generate and Activate Rolls with Vouchers

Voucher Public Key và Voucher Private Key, đây là thành phần để mã hóa khi tạo ra mã voucher và giải mã voucher khi người dùng đăng nhập. Bạn muốn tạo ra một mã RSA mới thì bấm vào Generate new keys.

  • Character set: Các ký tự được dùng khi sinh ra code voucher
  • # of Roll bits: Số bít được dùng để cấp các cuộn (roll), chúng ta tưởng tượng roll thì nó giống như một cuộn giấy vệ sinh, trên cuộn giấy vệ sinh đó người ta phân chia ra thành nhiều đoạn, những đoạn đó được gọi là voucher. Thì ở đây, tham số này chạy từ 1 đến 31 bit. Tối thiểu  1bit = 2= 2 roll và 31bit  = 231= 2.147.483.647 roll, vậy bạn có thể tạo cac roll từ 0 đến 2.147.483.647.
  • # of Ticket bits: Số bít dùng để câp code voucher trên mỗi roll, tối thiểu là 1 bit và tối đa là 16 bit. Tương đương tối thiểu sẽ tạo được 21-1= 1 code trên và tối đa sẽ là 216 – 1 = 65.535 code voucher trên mỗi roll, do bit đầu tiên trạng thái bằng 0 thì không có ý nghĩa
  • # of Checksum bits: các bit dùng kiểm tra thông tin Roll và Ticket trên mỗi voucher
  • # Magic number: Thông tin được lưu trữ trong vocher, đươc xác minh trong quá trình kiểm tra voucher, số bít còn lại sau khi dùng cho Roll+Ticket+Checksum.

Invalid voucher message và Invalid voucher message: thông tin báo lỗi khi voucher không đúng hoặc hết hạn. Thông tin này được hiển thị nếu dùng giao diện đăng nhập mặc định.

Sau khi cấu hình xong các thông tin để tạo Voucher, bạn tiến hành viêc tạo ra các code voucher cho người dùng đăng nhập. Trong mục Voucher Rolls, bạn nhấn vào nút Add

Tiếp theo bạn sẽ điền các thông tin để tạo các Roll chứa các code  Voucher.

  • Roll #: Như đã nói ở trên số roll được tạo ra bởi các bit được khai báo ở # of Roll bits. Roll nhỏ nhất là 0, Roll lớn nhất phụ thuộc vào số bit được khai báo ở # of Roll bits
  • Minutes per ticket: Thời gian sử dụng cho một code voucher, được tính bằng phút.
  • Count: Số code voucher của Roll, số này phụ thuộc vào số bit khai báo ở # of Ticket bits
  • Comment: Ghi chú giải thích Roll này là gì.

Sau khi nhấn save để lưu thông tin Roll được tạo ra, bạn export thông tin và tải về. Thông tin được lưu trữ trong một file .csv.

Bạn có thể mở file này với Excel hoăc có thể dung bất kỳ  phần mềm Text Edit nào như Notpad, Notepad++, Wordpad… để lấy thông tin code voucher và cung cấp cho người dùng

Bạn có thể vào Status > Captive Portal > Voucher Rolls để kiểm tra thông tin là đã có bao nhiêu code voucher của một Roll đã được dùng. Ở đây bạn có thể thấy là có 10 Tickets (code voucher), 1 used đã – dùng (hết thời gian đăng nhập), 1 active – đang dùng, 8 ready – chưa dùng.

Bạn lưu ý:

  • Thông tin trong Roll sau khi được tạo ra, bạn có thể edit.
  • Bạn có thể tạo lại các Roll nếu lỡ tay xóa, các thông tin trong Roll có số Roll trùng sẽ có thông tin giống nhau.
  • Khi bạn thay đổi các thông tin ở phần Create, Generate and Activate Rolls with Vouchers, thì các  Roll khi tạo sẽ không giống với Roll của thông tin trước đó.
  • Khi muốn tạo ra Roll và code voucher hoàn toàn mới, bạn chỉ cần Generate new keys RSA mới  trong Create, Generate and Activate Rolls with Vouchers.

Chia sẻ nào!

Related posts