Hướng dẫn cấu hình OpenVPN trên firewall pfSense

hostmidori 12/01/2024

I. Tổng quan:

OpenVPN là một hệ thống mạng riêng ảo (VPN) thực hiện các kỹ thuật tạo ra các kết nối point-to-point hoặc site-to-site an toàn. Cho phép các bên xác thực với nhau bằng cách sử dụng khóa chia sẻ (pre-shared key), chứng chỉ (certificates) hoặc tên người dùng/mật khẩu. Khi sử dụng trong cấu hình multi client-server, nó cho phép máy chủ phát hành một chứng chỉ xác thực cho mỗi client. Nó sử dụng thư viện mã hóa OpenSSL cũng như giao thức TLS một cách rộng rãi đồng thời có nhiều tính năng kiểm soát và bảo mật.

Trong bài viết này, Long Vân sẽ hướng dẫn các bạn cấu hình OpenVPN trên firewall Pfsense.

Một số lưu ý:

  • Đầu tiên cần đảm bảo firewall pfSense đã được cài đặt và hoạt động với các interface bao gồm WAN và LAN.
  • Một số thiết lập không được đề cập đến trong hướng dẫn, các bạn có thể để mặc định.
  • Hướng dẫn này sẽ sử dụng cả hai phương thức xác thực bao gồm mật khẩu và chứng chỉ.

III. Cấu hình trên pfsense server.

  1. Bước 1: Tạo một Certificate Authority – CA
    • Vào menu System > Cert. Manager
    • Nhấn phím Add để tạo mới một CA.
    • Nhập tên nhận diện cho chứng chỉ CA.
    • Đặt phương thức (Method) là Create an internal Certificate Authority
    • Chọn Key Type. (RSA, ECDSA ..)
    • Đặt độ dài của khóa Key length (2048, 4096, …)
    • Chọn thuật toán mã hóa Digest Algorithm (sha256, sha512, …)
    • Đặt tên chung Common Name (internal-ca, own-ca, …)
    • Save để lưu, như vậy CA đã được tạo hoàn tất.
  2. Bước 2: Tạo chứng chỉ cho server – Server Certificate
    • Vào menu System > Cert. Manager.
    • Truy cập tab Certificates ở sub-menu
    • Chọn Add/Sign ở bên tay phải dưới cùng
    • Điều chỉnh phương thức (Method) là Create an internal Certificate Authority.
    • Nhâp Descriptive name.
    • Đặt Key lengthDigest Algorithm giống với CA đã tạo
    • Chỉnh thời hạn Lifetime365 ngày hoặc tùy chỉnh không quá 398 ngày.
    • Đặt Common Name.
    • Thiết đặt Certificate TypeServer Certificate
    • Save để lưu, như vậy Server Certificate đã được tạo hoàn tất.
  3. Bước 3: Tạo user OpenVPN
    • Vào menu System > User Manager
    • Chọn nút Add và nhập Username Password cho người dùng của bạn
    • Nhấn Save để lưu, như vậy người dùng OpenVPN đã được tạo hoàn tất sau đó sẽ được chuyển về giao diện ban đầu.
    • Thiết lập phương thức xác thực theo chứng chỉ hoặc mật khẩu, có thể chọn cả hai (icon edit chì để chỉnh sửa)
    • Chọn Add -> User Certificate và nhập bổ sung
    • Đặt phương thức (Method -> Create an internal Certificate)
    • Chọn Key length, Type và Digest Algorithm giống với CA đã tạo trước đó.
    • Đặt thời gian hết hạn Lifetime 365 ngày.
    • Kiểm tra Certificate Type được chọn là chứng chỉ người vừa tạo (User Certificate)
    • Save để lưu và hoàn tất liên kết với chứng chỉ người dùng với OpenVPN user (User Certificate – OpenVPN user)
    • Ấn Save vậy đã hoàn tất thiết lập tạo tài khoản người dùng cho OpenVPN.
  4. Bước 4: Tạo máy chủ VPN – OpenVPN Server
    • Chọn thẻ VPN > OpenVPN.
    • Chọn Add
      • Thông tin chung
        1. Server mode – chọn Remote Access (SSL/TLS + User Auth)
        2. Local port , chọn port kết nối, trong bài hướng dẫn này là 1194
        3. Nhập nội dung mô tả – Description
      • Cài đặt mật mã – Cryptographic Settings
        1. Chọn sử dụng TLS Key và tự động bật Automatically generate a TLS Key
        2. Trong Peer Certificate Authority chọn CA đã tạo trước đó.
        3. Chọn Server Certificate đã tạo.
        4. Chọn 4096 cho DH Parameter Length
        5. Thiết lập Auth digest algorithm RSA-SHA512 (512-bit)
      • Cài đặt đường hầm VPN – Tunnel Setting
        1. Tạo subnet trong IPv4 Tunnel Network 10.0.2.0/8
        2. Để trống IPv6 Tunnel Network
        3. Bật cổng chuyển hướng Redirect IPv4 Gateway
      • Cấu hình nâng cao – Advenced Configuration
        1. Bật UDP Fast I/O
        2. Chọn IPv4 Only trong Gateway creation. chọn Both nếu sử dụng IPv4, IPv6
    • Nhấn Save để lưu lai để cập nhật cấu hình
  5. Bước 5: Xác minh cấu hình máy chủ
    • Chọn menu Status > System Logs
    • Chọn tab OpenVPN
    • Kiểm tra log sẽ hiển thị Initialization Sequence Completed nếu đã hoàn thành.
  6. Bước 6: Cấu hình cho phép truy cập trong VPN
    • Chọn menu Firewall > Rules
    • Chọn OpenVPN
    • Chọn Add đầu tiên để thêm.
    • Address Family chọn chỉ IPv4
    • Protocol chọn Any
    • Source chọn Network với range IP đã thiết lập ở bước 4
    • Nhập mô tả, nhấn SaveAppy Changes để lưu lại cấu hình.
  7. Bước 7: Cấu hình cho phép truy cập vào VPN
    • Chọn menu Firewall > Rules
    • Chọn tab WAN
    • Nhấn chọn Add để thêm rule mới
    • Thiết lập Address FamilyIPv4
    • Chọn Source any
    • Chọn Protocol là UDP
    • Với Destination Port Range nhập port OpenVPN đã thiết lập trước đó là 1194
    • Nhập mô tả, nhấn Save Apply Changes để lưu lại cấu hình
  8. Bước 8: Cài đặt tiện ích OpenVPN Client Export Utility, là tiện ích hỗ trợ export ra VPN Client
    • Chọn System > Package Manager
    • chọn Available Packages trong sub-menu
    • Tìm tiện ích mở rộng openvpn-client-export và chọn install để cài đặt
    • Nhấn chọn confirm xác nhận cài đặt.
    • Khi cài đặt hoàn thành sẽ hiển thị Success trong giao diện Package Installer
  9. Bước 9: Export gói cài đặt VPN Client
    • Chọn VPN > OpenVPN
    • Chọn Client Export ở sub-menu
    • Chọn đúng máy chủ OpenVPN cạnh Remote Access Server
    • Nếu sử dụng Dynamic DNS để truy cập mạng WAN pfSense, chọn Other và chọn Host Name Resolution (Thiết lập này cho phép truy cập mạng WAN pfSense bằng tên thay vì bằng IP, sẽ không mất quyền truy cập máy chủ OpenVPN nếu ISP thay đổi IP hay mạng WAN
    • Nếu không sử dụng hãy chọn Host Name Resulation thành Interface IP Address
    • Kéo xuống dưới đến vị trí user muốn download file cài đặt VPN Client, và chọn tải về file cài đặt phù hợp.
  10. Bước 10: Kiểm tra sử dụng kết nối OpenVPN
    • Chạy cài đặt file VPN Client đã download về.
    • Sau khi kết nối thành công tới OpenVPN
    • Thông tin network – khi kết nối đến OpenVPN

Như vậy Long Vân đã hoàn tất hướng dẫn Quý khách cấu hình OpenVPN trên firewall pfSense, Chúc Qúy khách thành công!