Để bảo vệ cho hệ thống mạng bên trong thì chúng ta có nhiều giải pháp như sử dụng Router Cisco, dùng tường lửa của Microsoft như ISA…. Tuy nhiên những thành phần kể trên tương đối tốn kém. Vì vậy đối với người dùng không muốn tốn tiền nhưng lại muốn có một tường lửa bảo vệ hệ thống mạng bên trong (mạng nội bộ) khi mà chúng ta giao tiếp vối hệ thống mạng bên ngoài (Internet) thì PFSENSE là một giải pháp tiết kiệm và hiệu quả tương đối tốt nhất đối với người dùng.
PfSense là một ứng dụng có chức năng định tuyến vào tường lửa mạnh 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 tải về và được sử dụng để bảo vệ các mạng ở tất cả kích cỡ, từ các mạng gia đình đến các mạng lớn của của các công ty.
Ứ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 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ó Pfsense bao gồm nhiều tính năng 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, chẳng hạn như 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ế.
I/ Giới thiệu
Hệ thống Firewall pfSense có 2 loại: phần cứng và phần mềm
1/ Phần cứng
2/ Phần mềm
2.1/ Khái niệm
PfSense là một bản phân phối miễn phí, tùy chỉnh của FreeBSD. Bản thân FreeBSD là một hệ điều hành cho nhiều nền tảng, tập trung vào các tính năng, tốc độ và sự ổn định. Nó bắt nguồn từ BSD, phiên bản UNIX được phát triển tại Đại học California, Berkeley. Nó được phát triển và duy trì bởi một cộng đồng lớn. Bạn có thể sử dụng pfSense để biến máy tính thành một bộ định tuyến và tường lửa đầy đủ tính năng. Phần mềm này được phát triển lần đầu tiên vào năm 2004 như là một nhánh của dự án m0n0wall nổi tiếng. Sự khác biệt chính giữa pfSense và m0n0wall là pfSense được thiết kế cho máy tính cá nhân và máy chủ thay vì các thiết bị nhúng. Điều này cho phép pfSense cung cấp tính năng và tính linh hoạt cao hơn. pfSense là một công cụ rất linh hoạt và mạnh mẽ mà bạn có thể dễ dàng thích ứng với nhiều ứng dụng, từ bộ định tuyến gia đình đến tường lửa, cho một mạng công ty lớn. pfSense dễ cài đặt và bảo trì. Nó có một giao diện người dùng dựa trên web rất hữu ích. pfSense cũng có nhiều tính năng thường chỉ được tìm thấy trong các bộ định tuyến thương mại đắt tiền. Bạn có thể sử dụng ba loại phương tiện cài đặt sau để cài đặt pfSense:
+ Đĩa quang: Đó có thể là ISO Image, CD hoặc đĩa DVD. Đây là một lựa chọn dễ dàng và quen thuộc. Sử dụng tùy chọn này nếu phần cứng đích có ổ đĩa quang. Điều này đặc biệt hữu ích nếu BIOS không thể khởi động từ USB.
+ USB: Tùy chọn này tương tự như CD hoặc DVD, nhưng chạy cài đặt từ ổ USB. Nó thường nhanh hơn CD hoặc DVD. Điều này rất hữu ích với các thiết bị mới, vì nhiều thiết bị không tích hợp ổ đĩa quang, khiến đây là khuyến nghị tốt nhất hiện nay.
+ Thẻ nhớ: Giống như 1 thẻ ghi nhớ hình ảnh nhưng sử dụng cổng console hơn là cổng VGA để thực thi và chức năng này chỉ dành cho những hệ thống mới.
Yêu cầu phần cứng tối thiểu:
Để chạy pfSense đúng cách, bạn cần một máy với cấu hình tối thiểu CPU 100MHz với 128MB Ram và có ít nhất hai card giao diện mạng (NIC), một cho LAN và một cho WAN. Yêu cầu tối thiểu này đáp ứng được cho thông lượng nhỏ hơn 10Mbps. Khi thông lượng mạng của bạn và tính năng sử dụng tăng, thì các yêu cầu của pfSense cũng tăng theo.
2.2/ Chức Năng
A/ Vlans
VLAN cung cấp một phương tiện để phân đoạn mạng miền thành nhiều mạng con, mỗi mạng con hoạt động độc lập với nhau. Trên pfSense cho phép phân chia VLAN như các thiết bị ở layer2. Và pfSense cũng giải quyết vấn đề về bảo mật cho VLAN.
B/ Multi WAN
Multi-WAN của pfSense cho phép sử dụng nhiều kết nối Internet để đạt được thời gian hoạt động cao hơn và băng thông lớn.
C/ DHCP
Là giao thức được sử dụng để giúp quản lý nhanh, tự động và tập trung việc phân phối địa chỉ IP bên trong một mạng.
+ DHCP server
Dịch vụ này cho phép pfSense cấp địa chỉ IP động và DNS trong mạng LAN.
+ DHCP relay agent
Chuyển tiếp yêu cầu cấp IP của client nằm trong một subnet nào đó tới một DHCP server cho trước.
* Chỉ được phép chạy một trong hai dịch vụ DHCP server và DHCP relay.
D/ NAT
NAT là một kỹ thuật cho phép chuyển đổi từ một địa chỉ IP này thành một địa chỉ IP khác. Thông thường, NAT được dùng phổ biến trong mạng sử dụng địa chỉ cục bộ, cần truy cập đến mạng công cộng (Internet). Vị trí thực hiện NAT là router biên kết nối giữa hai mạng.
E/ Rules
Mặc định pfSense cho phép mọi lưu thông ra/vào hệ thống. Bạn phải tạo các rules để quản lý mạng bên trong Firewall.
Một số lựa chọn trong Destination và Source của Rules:
- Any: Tất cả
- Single host or alias: Một địa chỉ ip hoặc là một bí danh.
- Lan subnet: Đường mạng Lan.
- Network: địa chỉ mạng.
- Lan address: Tất cả địa chỉ mạng nội bộ.
- Wan address: Tất cả địa chỉ mạng bên ngoài.
- PPTP clients: Các clients thực hiện kết nối VPN sử dụng giao thức PPT.
- PPPoE clients: Các clients thực hiện kết nối VPN sử dụng giao thức PPPoE.
F/ SSH
SSH, hoặc được gọi là Secure Shell, là một giao thức điều khiển từ xa cho phép người dùng kiểm soát và chỉnh sửa server từ xa qua Internet.
G/ Captive Portal
Captive portal cho phép admin có thể chuyển hướng client tới một trang web khác, từ trang web này client có thể phải chứng thực trước khi kết nối tới internet.
Các chức năng của Captive Portal:
- Maximum concurrent connections: Giới hạn các connection trên mỗi ip/user/mac.
- Idle timeout: Nếu mỗi ip không còn truy cập mạng trong 1 thời gian xác định thì sẽ ngắt kết nối của ip/user/mac.
- Hard timeout: Giới hạn thời gian kết nối của mỗi ip/users/mac.
- Logout popup windows: Xuất hiện 1 popup thông báo cho ip / user / mac.
- Redirect URL: Địa chỉ URL mà người dùng sẽ được chuyển hướng tới sau khi đăng nhập
- Pass-through MAC: Các MAC address được cấu hình trong mục này sẽ được xác nhận sẽ không cần phải authentication.
- Allowed IP address: Các IP address được cấu hình sẽ không cần phải authentication
- Users: Tạo local user để dùng kiểu authentication local user.
- File Manager: Upload trang quản lý của Captive portal lên pfSense.
Có 3 kiểu chứng thực client:
- No authentication: pfSense sẽ điều hướng người dùng tới 1 trang nhất định mà không chứng thực.
- Local user manager: pfSense hỗ trợ tạo user để chứng thực.
- Radius authentication: Chứng thực bằng radius server (Cần chỉ ra địa chỉ IP của radius, port, …)
H/ VPN
* Khái niệm
VPN hay còn gọi là mạng riêng ảo: là một kiểu kết nối cho phép các máy tính truyền thông với nhau thông qua một môi trường chia sẻ như mạng Internet nhưng vẫn đảm bảo được tính riêng tư và bảo mật dữ liệu. Dù nghe có vẻ khá đơn giản, nhưng trên thực tế VPN lại được ứng dụng để làm rất nhiều thứ:
- Truy cập vào mạng doanh nghiệp khi ở xa: VPN thường được sử dụng bởi những người kinh doanh để truy cập vào mạng lưới kinh doanh của họ, bao gồm tất cả tài nguyên trên mạng cục bộ, trong khi đang đi trên đường, đi du lịch,… Các nguồn lực trong mạng nội bộ không cần phải tiếp xúc trực tiếp với Internet, nhờ đó làm tăng tính bảo mật.
- Truy cập mạng gia đình, dù không ở nhà: Bạn có thể thiết lập VPN riêng để truy cập khi không ở nhà. Thao tác này sẽ cho phép truy cập Windows từ xa thông qua Internet, sử dụng tập tin được chia sẻ trong mạng nội bộ, chơi game trên máy tính qua Internet giống như đang ở trong cùng mạng LAN.
- Duyệt web ẩn danh: Nếu đang sử dụng WiFi công cộng, duyệt web trên những trang web không phải https, thì tính an toàn của dữ liệu trao đổi trong mạng sẽ dễ bị lộ. Nếu muốn ẩn hoạt động duyệt web của mình để dữ liệu được bảo mật hơn thì bạn nên kết nối VPN. Mọi thông tin truyền qua mạng lúc này sẽ được mã hóa.
- Truy cập đến những website bị chặn giới hạn địa lý, bỏ qua kiểm duyệt Internet, vượt tường lửa,…
- Tải tập tin: Tải BitTorrent trên VPN sẽ giúp tăng tốc độ tải file. Điều này cũng có ích với các traffic mà ISP của bạn có thể gây trở ngại.
* Các giao thức có bảo mật tốt thường dùng trong VPN
Một số giao thức được sử dụng rộng rãi có những điểm yếu đáng quan ngại, trong khi những giao thức khác lại cung cấp khả năng bảo mật tiên tiến nhất. Những giao thức tốt nhất hiện nay là OpenVPN và IKEv2.
+ IKEv2: sử dụng IPSec tunnelling và có nhiều lựa chọn giao thức mã hóa. IKEv2 được sử dụng với mã hóa AES-256 nên rất khó bị bẻ khóa. IKEv2 sử dụng tính năng xác thực dựa trên chứng chỉ mạnh mẽ và có thể sử dụng thuật toán HMAC để xác minh tính toàn vẹn của dữ liệu được truyền. IKEv2 hỗ trợ giao tiếp nhanh và đặc biệt mạnh mẽ trong việc duy trì phiên, ngay cả khi kết nối Internet bị gián đoạn.
+ SSTP: là một sản phẩm của Microsoft, được hỗ trợ chủ yếu trên Windows. Khi được sử dụng với mã hóa AES và SSL, SSTP cung cấp tính năng bảo mật tốt, xét về mặt lý thuyết. Hiện tại chưa tìm thấy lỗ hổng nào của SSTP nhưng rất có thể một điểm yếu nào đó vẫn tồn tại.
Một vấn đề thực tế với SSTP là sự hỗ trợ hạn chế trên các hệ thống không phải Windows.
+ OpenVPN: là một bộ giao thức mở, cung cấp tính năng bảo mật mạnh mẽ và đã trở nên rất phổ biến. OpenVPN có mã nguồn mở, nên việc kiểm tra lỗ hổng được bảo đảm. Chức năng mã hóa của OpenVPN thường sử dụng thư viện OpenSSL. OpenSSL hỗ trợ nhiều thuật toán mã hóa, bao gồm AES.
+ SoftEther: Giống như OpenVPN, SoftEther cũng có mã nguồn mở. SoftEther hỗ trợ các giao thức mã hóa mạnh nhất, bao gồm AES-256 và RSA 4096-bit. SoftEther cung cấp tốc độ giao tiếp lớn hơn so với hầu hết các giao thức, bao gồm OpenVPN, ở một tốc độ dữ liệu nhất định. Nó có thể được cài đặt trên nhiều hệ điều hành như Windows, Mac, Android, iOS, Linux và Unix.
Là một giao thức mới, SoftEther không được hỗ trợ nhiều như một số giao thức khác. SoftEther không tồn tại đủ lâu như OpenVPN, vì vậy người dùng chưa có nhiều thời gian để kiểm tra những điểm yếu có thể xuất hiện trên giao thức này.