Pfsense 2.4 - Tìm hiểu về tính năng Captive Portal trong pfSense

Thứ tư - 14/08/2019 13:52
PfSense là một ứng dụng có chức năng định tuyến, tường lửa và miễn phí, ứng dụng này sẽ cho phép bạn mở rộng mạng của mình mà không bị thỏa hiệp về sự bảo mật.
Pfsense 2.4 - Tìm hiểu về tính năng Captive Portal trong pfSense
  • PfSense là một ứng dụng có chức năng định tuyến, tường lửa và miễn phí, ứng dụng này sẽ cho phép bạn mở rộng mạng của mình mà không bị thỏa hiệp về sự bảo mật. Bắt đầu vào năm 2004, khi m0n0wall mới bắt đầu chập chững – đây là một dự án bảo mật tập trung vào các hệ thống nhúng – pfSense đã có hơn 1 triệu lượt download và được sử dụng để bảo vệ các mạng có tất cả kích cỡ, từ mạng gia đình đến các mạng lớn của các công ty/doanh nghiệp. Ứng dụng này có một cộng đồng phát triển rất tích cực và nhiều tính năng đang được bổ sung trong mỗi lần phát hành nhằm cải thiện hơn nữa tính bảo mật, sự ổn định và khả năng linh hoạt của nó. Và là một trong số ít những firewall có tính năng trạng thái, chỉ thường xuất hiện ở những firewall thương mại lớn như Cisco ASA, Checkpoint, Juniper …
  • PfSense bao gồm nhiều tính năng đặc biệt là firewall trạng thái mà bạn vẫn thấy trên các thiết bị tường lửa hoặc router thương mại lớn, chẳng hạn như giao diện người dùng (GUI) trên nền Web tạo sự quản lý một cách dễ dàng. Trong khi đó phần mềm miễn phí này còn có nhiều tính năng ấn tượng đối với firewall/router miễn phí, tuy nhiên cũng có một số hạn chế.
  • PfSense hỗ trợ lọc bởi địa chỉ nguồn và địa chỉ đích, cổng nguồn hoặc cổng đích hay địa chỉ IP. Nó cũng hỗ trợ chính sách định tuyến và cơ chế hoạt động trong chế độ brigde hoặc transparent, cho phép bạn chỉ cần đặt pfSense ở giữa các thiết bị mạng mà không cần đòi hỏi việc cấu hình bổ sung. PfSense cung cấp cơ chế NAT và tính năng chuyển tiếp cổng, tuy nhiên ứng dụng này vẫn còn một số hạn chế với Point-to-Point Tunneling Protocol (PPTP), Generic Routing Encapsulation (GRE) và Session Initiation Protocol (SIP) khi sử dụng NAT.
  • PfSense được dựa trên FreeBSD và giao thức Common Address Redundancy Protocol (CARP) của FreeBSD, cung cấp khả năng dự phòng bằng cách cho phép các quản trị viên nhóm hai hoặc nhiều tường lửa vào một nhóm tự động chuyển
  • Vì nó hỗ trợ nhiều kết nối mạng diện rộng (WAN) nên có thể thực hiện việc cân bằng tải. Tuy nhiên có một hạn chế với nó ở chỗ chỉ có thể thực hiện cân bằng lưu lượng phân phối giữa hai kết nối WAN và không thể chỉ định được lưu lượng cho qua một kết nối.

1.2 Một số lợi ích của pfsense

  • Hoàn toàn miễn phí, giá cả là ưu thế vượt trội của tường lửa pfSense. Tuy nhiên, rẻ không có nghĩa là kém chất lượng, tường lửa pfSense hoạt động cực kỳ ổn định với hiệu năng cao, đã tối ưu hóa mã nguồn và cả hệ điều hành. Cũng chính vì thê, pfSense không cần nền tảng phần cứng mạnh.
  • Nếu doanh nghiệp không có đường truyền tốc độ cao, tường lửa pfSense chỉ cần cài đặt lên một máy tính cá nhân là có thể bắt đầu hoạt động. Điều đó càng góp phần làm giảm chi phí triển khai, đồng thời tạo nên sự linh hoạt, tính mở rộng/sẵn sàng chưa từng có, khi doanh nghiệp muốn có nhiều hơn một tường lửa.
  • Không chỉ là một tường lửa, pfSense hoạt động như một thiết bị mạng tổng hợp với đầy đủ mọi tính năng toàn diện sẵn sàng bất cứ lúc nào. Khi có một vấn đề về hệ thống mạng phát sinh, thay vì phải loay hoay tìm thiết bị và mất thời gian đặt hàng, doanh nghiệp có thể kết hợp các tính năng đa dạng trên pfSense để tạo thành giải pháp hợp lý, khắc phục sự cố ngay lập tức.
  • Tóm lại, các tính năng mà pfSense có thể làm như sau:

+Cung cấp dịch vụ tường lửa, High Availability, Load Balancing, ...
+Sử dụng Web Interface để quản trị vì thể giao tiếp dễ dàng hơn.
+Hiệu năng cao, ổn định, ...
+Là phần mềm mã nguồn mở, miễn phí.
+Cung cấp chức năng tạo VLAN, DNS, ...

1.3 Cài đặt pfsense trên VMWare

-Chuẩn bị cài đặt pfSense:
+Ta cần download bản cài đặt pfSense trước khi tiến hành cài đặt tại đây: pfSense-CE-2.4.1-RELEASE-amd64.iso.gz
+Máy tính của bạn đã được cài đặt VMWare.
-Tiến hành cài đặt pfSense trên VMWare

+Để tiện cho các bài thực hành về sau, ta nên chỉnh sửa lại thiết lập về card mạng tại "Virtual Network Editor" với các card mạng như sau:

5cfa8698ab77c vne
+Bắt đầu tạo một máy ảo mới. Sử dụng phím tắt Ctrl + N: 5cfa86bac81ba ctrlN
chọn Next: 5cfa86d49860b nvmw
chọn Next: 5cfa86dfda07e nvmwiso
chọn vào radio Intaller disc image file (iso): sau đó chọn Browser và tìm đến đường dẫn chứa file cài đặt pfSense.iso ta vừa giải nén được từ file download. Sau đó, chọn Next: 5cfa86f1c1b01 nvmwf
chọn Next: 5cfa8705c0990 nmvwn
đặt tên cho máy ảo mới, sau đó chọn Next. 5cfa87284a6a1 nvmwcp
chọn số core cpu cho máy ảo sau đó chọn Next: 5cfa873ac1321 nvmwr
thiết lập dung lượng RAM cho máy ảo, sau đó chọn Next. 5cfa876b293c5 nvmwn
các bước tiếp theo bạn vẫn cứ chọn Next cho đến khi kết thúc. Ta nhận được: 5cfa87765c1ee wpf
ta chọn Power on this virtual machine để khởi động máy ảo tiến hành quá trình cài đặt pfSense.

 

Khi khởi động máy ảo hoàn tất, pfSense sẽ tự động boot đến màn hình lựa chọn cài đặt:

5cfa878f25bf7 onboot
ta chỉ cần chờ cho đến khi màn hình xuất hiện: 5cfa87a0ccab8 st1
ta nhấn Enter để chọn Accept. Một màn hình mới xuất hiện ra: 5cfa87b2a9330 st2
nhấn Enter để tiến hành quá trình cài đặt pfSense lên máy ảo: 5cfa87cc33ccb st3
nhấn Enter để chọn mặc định cho loại keyboard: 5cfa87f7950cb st4
các bước tiếp theo ta vẫn nhấn Enter để 5cfa87e323ba8 st5   5cfa87e31b2e3 st6
cho đến khi màn hình xuất hiện: 5cfa881c61767 st7
ta nhấn mũi tên sang trái và nhần Enter để chọn No. 5cfa8832723a5 st8
Tiếp tục nhấn Enter để thực hiện reboot máy ảo. Kết thúc quá trình cài đặt pfSense.

 

1.4 Cấu hình cho pfSense

-Sau khi reboot cho đến khi màn hình xuất hiện như sau:

5cfa887803d89 vlan
ta nhập n và nhấn Enter để bỏ qua việc tạo VLAN. 5cfa88780cc72 wan
ta nhập em0 và nhấn Enter để tự động tạo ra một WAN Interface. 5cfa887812094 wan done
nhấn Enter để tiếp tục. Một màn hình thông báo hiện ra: 5cfa8877da77b process
nhập y và nhấn Enter để kết thúc. Ta được màn hình hiển thị như sau: 5cfa8877d804b pdone
Tại màn hình này, ta nhập 2 và nhấn Enter để thực hiện gán địa chỉ IP tĩnh cho WAN vừa tạo. 5cfa8878208d2 wans
nhập n vần nhấn Enter để thực hiện gán địa chỉ IP tĩnh cho máy ảo pfSense. 5cfa8877aea42 eip
nhập địa chỉ IP gán cho máy ảo pfSense sao cho phù hợp với dải mạng NAT mà mạng đã tạo ra. Sau đó nhấn Enter. 5cfa8877c65c6 enm
nhập vào số bit của địa chỉ mạng của mạng. Sau đó nhấn Enter. 5cfa8877c3b4a elan
tiếp tục nhấn Enter 5cfa8877e30da v6
nhập y và nhấn Enter để tự động cấp phát địa chỉ IPv6 cho WAN. 5cfa8877ac136 dhcp
nhập n và nhấn Enter để bỏ qua việc khởi tạo DHCP Server trên máy ảo pfSense. 5cfa8877d01f2 http
nhập y và nhấn Enter để hoàn tất quá trình.
- Truy cập giao diện Web Interface của pfSense:

 

Từ cửa sổ trình duyệt, ta truy cập theo đường dẫn:

http://ip_address

trong đó: ip_address là địa chỉ IP của interface WAN em0 trong máy ảo pfSense

5cfa8878281e6 wi
Thực hiện đăng nhập với:
+username là admin
+password là pfsense
Sau khi đăng nhập thành công, ta thực hiện nhấn F5 để bỏ qua quá trình cài đặt thuật sĩ. Cuối cùng ta được kết quả như sau: 5cfa8877bc8ab doned

 

2. Tìm hiểu về tính năng Captive Portal trong pfSense

2.1 Giới thiệu về Captive Portal

Trong pfSense có một tính khá là hữu ích đó là Captive Portal. Đây là một kỹ thuật buộc người dùng phải chứng thực qua 1 giao diện web trước khi kết nối vào internet. Kỹ thuât này thường áp dụng cho các điểm truy cập wifi, mạng có dây. Người dùng muốn truy cập vào, phải có một account chứng thực, ...

2.2 Tính năng, ứng dụng của Captive Portal

  • Trong thực tế, Captive Portal được biết đến với cái tên đầy hoa mĩ Wi-Fi Marketing bởi vì nó được ứng dụng khá nhiều trong vai trò marketing. Ngày nay, Wi-Fi Marketing được cung cấp và sử dụng trong nhiều doanh nghiệp từ lớn tới nhỏ. WiFi Marketing là một trong những cách sáng tạo và hiệu quả nhất để quảng cáo thương hiệu. Bằng cách truyền đạt thông điệp hoặc nội dung trực tiếp tới khách hàng tiềm năng hoặc người dùng gần điểm phát.
  • Như đã được đề cập ở nội dung phần giới thiệu về Captive Portal. Qua việc tạo ra một vùng phủ sóng dựa trên công nghệ không dây WiFi cho phép bất cứ ai có thiết bị di động (laptop, điện thoại smartphone, máy tính bảng Tablet…) Được trang bị công nghệ WiFi để kết nối và truy cập các dịch vụ hoặc nội dung đã được được cung cấp sẵn.
  • Hệ thống trong giải pháp WiFi Marketing tạo điều kiện cho khách hàng truy cập miễn phí. Nhưng trước tiên họ phải điều hướng request tới nội dung của một trang website mà chúng ta đã chuẩn bị sẵn. Ở đây chúng ta sẽ có cơ hội hiển thị cho họ sản phẩm, dịch vụ của ta đã và đang cung cấp, khuyến mãi hoặc đơn giản là thông tin liên quan đến doanh nghiệp của mình.
  • Những lợi ích của giải pháp Captive Portal đem lại khi được ứng dụng vào thực tế:

+Xây dựng thương hiệu:Các tin tức, thông tin, hình ảnh về doanh nghiệp sẽ nằm dưới quyền kiểm soát của mình bằng việc tùy chỉnh trang website mà người buộc phải truy cập tới khi muốn sử dụng internet.

+Tiếp cận quảng cáo của khách hàng: Quảng cáo sẽ được tiếp cận tới người sử dụng khi họ truy cập và sử dụng Wi-Fi

+Là giải pháp đa giải pháp:Được thể hiện qua việc cung cấp website được hỗ trợ bởi nhiều thiết bị Table, Smartphone và Laptop, PC.

+Giới hạn băng thông người sử dụng:Để tránh các vấn đề có thể bị lạm dụng. Ta có thể kiểm soát lưu lượng sử dụng internet của người dùng. Nhờ vậy mà băng thông sẽ được chia sẻ một cách hợp lý tới người sử dụng.

+Quản lý phiên hoạt động:Thời gian kết nối của một người sử dụng có thể điều chỉnh bất cứ lúc nào. Có thể thiết lập thời gian sử dụng khác nhau cho mọi người. Ta luôn có sự lựa chọn để thay đổi các thiết lập.

+Cổng thông tin điện tử:Ta có thể lợi dụng website mà Captive Portal sử dụng để xác thực để tạo lên một trang tin tức nội bộ.

2.3 Cách thực hiện cấu hình

Đầu tiên, hãy cùng nhìn mô hình ta mà sẽ triển khai. Tuy nhiên vì việc cấu hình được thực hiện trên máy ảo. Không được hỗ trợ công nghệ Wi-Fi nên sẽ không thể áp dụng được với các thiết bị di động không dây.

5cfa8aafed0c0 squid models
Các bước thực hiện lần lượt được thực hiện như sau:
Bước 1: Thực hiện enable DHCP Server. Điều này là cần thiết nếu như ta cung cấp sử dụng tính năng kết hợp với Wi-Fi cho các thiết bị không dây và tránh trường hợp các thiết bị sử dụng có địa chỉ IP giống nhau gây phát sinh lỗi. Tại giao diện Web Interface quản lý của pfSense. Ta chọn Services rồi chọn DHCP Server. Hãy thực hiện điền thông tin tương tự như hình dưới sau đó chọn Save để lưu lại cấu hình. cp-dhcp.png

 

trong đó:
+'10.10.10.253' là địa chỉ IP của pfSense trong LAN
+'10.10.10.100 - 10.10.10.199' là dải địa chỉ IP tự động cấp cho người dùng khi kết nối

Bước 2: Tạo tài khoản người dùng cung cấp cho người sử dụng có thể xác thực để truy cập internet. Cách thực hiện như sau:
Chọn System, sau đó chọn User Manager, tiếp tục chọn Add rồi nhập thông tin giống như hình sau:

cp-guest.png
trong đó, tên Username, Password và Confirm Password để là guest.
Chọn Save để lưu lại thông tin
Bước 3. Cấu hình Captive Portal bằng các thực hiện như sau:
Chọn Services, tiếp tục chọn Captive Portal sau đó chọn Add. Nhập thông tin tương tự như hình sau để tạo ra Captive Portal Zone: cp-en.png
Chọn Save & Continue để lưu lại thông tin.
Tiếp tục nhập thông tin tương tự như hình dưới đây: cp-config.png

 

 

cp-val.png
Chọn Save để lưu lại cấu hình. Kết quả ta thu được: cp-done.png
Để cấp quyền cho người dùng sử dụng tính năng Captive Portal, ta thực hiện như sau:
Bước 1. Chọn menu System, sau đó chọn User Manager. Tại đây, ta sẽ thực hiện cấp quyền cho người dùng có Username là guest đã tạo ra trước đó. Nhấp double vào dòng người dùng guest. Tại mục Effective Privileges ta thấy: cp-val-ad.png
chọn Add để thêm mới một quyền.

 

Bước 2. Tại đây, ta thấy được như sau:

cp-val-edit.png
tìm tới Filter ta nhập Captive Portal login nhấn Enter để thực hiện tìm kiếm quyền. Sau đó nhấp chuột vào User - Services: Captive Portal login để chọn quyền: cp-val-filter.png
Sau đó chọn Save để lưu lại. Kết quả, ta nhận được: cp-val-done.png
Tiếp tục chọn Save để lưu lại.

 

Về cơ bản, thì ta đã thực hiện cấu hình thành công đối với Captive Portal. Nhấp double chuột vào dòng cpLan để chỉnh sửa cấu hình nâng cao nếu như bạn muốn. Tại giao diện, ta sẽ thấy 3 tab là Allowed IP Addresses và Allowed Hostnames, MACs. Chức năng trong hai tab này là gì?

cp-tab.png
Thứ nhất, đối với tab Allowed IP Addresses ta có thể thực hiện quy định dải các địa chỉ IP hoặc các IP có thể tự do truy cập internet mà không cần phải trải qua quá trình xác thực và có thể thực hiện giới hạn băng thông đối với IP hay dải IP ta quy định. Thông thường, ta sẽ thực hiện cấu hình với từng địa chỉ IP nhiều hơn so với dải địa chỉ IP. Để thực hiện cấu hình, tại tab Allowed IP Addresses ta chọn Add. Nhập thông tin tương tự như hình sau: cp-al-ip.png
trong hình, ta thực hiện cho phép thiết bị có địa chỉ IP 10.10.10.20/24 tự do truy cập Internet mà không cần phải xác thực. Không có giới hạn về băng thông đối với IP này.

 

Thứ hai, đối với tab Allowed Hostnames có chức năng tương tự như Allowed IP Addresses nhưng áp dụng đối với các Hostnames được sử dụng trong trường hợp thiết bị không sử dụng địa chỉ IP tĩnh vì vậy mà ta không thể biết được địa chỉ IP để của thiết bị mà cấu hình trong tab Allowed IP Addresses. Để thực hiện cấu hình, tại tab Allowed Hostnames ta chọn Add. Nhập thông tin tương tự như hình sau:

cp-al-hs.png
trong hình, ta thực hiện cho phép thiết bị có tên là reminist không cần phải xác thực khi truy cập internet.

 

Thứ ba, đối với tab MACs. có chức năng tương tự như Allowed IP Addresses nhưng áp dụng đối với MAC thay vì IP.

Lưu ý:
Để cấu hình thành công, các thiết bị khi kết nối phải xác thực, các thiết bị trong kết nối đến phải có DNS là địa chỉ của pfSense trong mạng LAN.

2.4 Kiểm tra kết quả

Do việc thực hiện cấu hình được thực hiện qua VMWare. Nên ta sẽ thực hiện kiểm tra kết quả đối với một máy ảo có địa chỉ IP tĩnh là 10.10.10.10/24 với default gateway là 10.10.10.253 (IP của pfSense).

  Kali-Linux-2017.1-vm-amd64-2017-12-02-00-27-25.png
Thực hiện truy cập internet tới 1 website bất kỳ, ta thấy được như sau: Kali-Linux-2017.1-vm-amd64-2017-12-02-00-29-59.png
Nhập thông tin tài khoản người dùng mà ta đã tạo được ở Bước 2. Kết quả là client đã có thể truy cập internet. Kali-Linux-2017.1-vm-amd64-2017-12-02-00-30-11.png
Tại giao diện Web Interface của pfSense ta có thể kiểm tra người dùng đang kết nối tới bằng cách chọn menu Status, sau đó chọn Captive Portal. Kết quả thu được như sau: cp-mon.png

 

2.5 Cấu hình Captive Portal xác thực người dùng sử dụng Voucher

Xác thực người dùng trong Captive Portal sử dụng Voucher là quá trình cho phép người dùng trong LAN truy cập internet khi sở hữu một khóa - tương ứng với một ticket trong voucher mà không cần đến phải có tài khoản người dùng.

Để thực hiện cấu hình sử dụng voucher, ta bắt buộc phải làm các công việc cấu hình Captive Portal như bên trên (ngoại trừ việc tạo mới người dùng) trước tiên. Sau đó thực hiện cấu hình xác thực tài khoản người dùng như sau:

Bước 1. Tại giao diện Captive Portal, thực hiện nhấp double chuột vào Captive Portal Zones muốn sử dụng để cấu hình cho tính năng Voucher. Ví dụ ở đây là zone cpLan:

cp-done.png

 

Bước 2. Ta chuyển sang tab Vouchers. Tích chọn vào Enable the creation, generation and activation of rolls with vouchers để sử dụng tính năng cho zone. Ta thấy được như sau:

cpv-over.png

 

Tại mục Character set, ta thay đổi các giá trị sẵn có bởi giá trị sau:

0123456789abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ!@#$%^&()._~

đây là dãy các ký tự sẽ được sử dụng để sinh ra key - voucher.

Lần lượt thay các giá trị tương ứng giống với hình sau đây hoặc giữ nguyên hoặc thay đổi các giá trị sao cho tổng của 3 giá trị nhỏ hơn 64 một cách tùy ý:

cpv-bits.png

 

chọn Save để lưu lại.

Tiếp theo, ta cần phải tạo ra một roll chứa các ticket - là một chuỗi ký tự sẽ cung cấp cho người sử dụng để có thể truy cập internet thay vì ta cung cấp tài khoản. Tại phần Voucher Rolls, ta chọn Add:

cpv-add.png

 

Nhập các giá trị tương ứng giống như hình sau:

cpv-set-roll.png

 

chọn Save để lưu lại, kết quả ta thu được tương tự như sau:

cpv-set-roll-done.png

 

Export roll để có thể biết được thông tin về các voucher được tạo ra bằng việc thực hiện chọn Export vouchers for this roll to a .csv file tương ứng của mỗi roll:

cpv-set-roll-done-ex.png

 

ta sẽ cần phải về một file *.csv có tên theo dạng "vouchers_zoneName_rollid.csv". Trong đó zoneName và rollid lần lượt là tên của Captive Portal Zone và định danh của roll.

Mở file đã download bằng Microsoft Excel hoặc các phần mềm soạn thảo khác như Notepad(Wordpad) đối với Windows hay Vim đối với Linux để có thể thu được giá trị của các voucher. Ta thu được kết quả tương tự như sau:

cpv-voucher.png

 

ta thấy được các chuỗi voucher được quy định bắt đầu từ dòng thứ 8 cho đến hết. Mỗi voucher tương ứng với 1 dòng. Chúng sẽ được ta sử dụng để cung cấp cho người có nhu cầu sử dụng internet trong LAN.

Tiếp theo, cấu hình trang xác thực cho Captive Portal. Ta chuyển sang tab Configuration của zone để tiến hành cấu hình custom cho trang xác thực. Vì mặc định, trang xác thực chỉ cho phép người dùng xác thực bằng tài khoản. Cách thực hiện như sau:

Bước 1. Tiến hành download trang custom index.ziptại đây.

Bước 2. Tại mục Portal page contents, ta chọn Browser sau đó thực hiện tìm chọn file index.html mà ta vừa download.

Bước 3. Chọn Save để lưu lại cấu hình.

Từ máy client có trỏ DNS tới địa chỉ của pfSense trong LAN, ta thực hiện truy cập tới 1 trang web nào đó sẽ yêu cầu phải xác thực. Ta chuyển sang tab Voucher sau đó nhập vào một voucher trong file export voucher đã download sau đó chọn Log In để kiểm tra kết quả:

Kali-Linux-2017.1-vm-amd64-2017-12-01-02-55-27.png

 

Như vậy, ta đã hoàn hành quá trình cấu hình.

 

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

Click để đánh giá bài viết

  Ý kiến bạn đọc

Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây