4. OpenVPN
Bước 1: Dùng wizard tạo OpenVPN Server (Trên pfSense)
-
Đăng nhập vào giao diện Web của pfSense.
-
Trên thanh menu, chọn VPN > OpenVPN > Wizards.
-
Type of Server: Chọn Local User Access (Xác thực bằng tài khoản tạo trên pfSense) -> Bấm Next.
-
Certificate Authority (CA - Trạm cấp chứng chỉ):
- Descriptive Name: Gõ
SOC_VPN_CA-> Bấm Add new CA.

- Descriptive name (
SOC_VPN_CA): tên hiển thị - Randomize Serial:
- Key length (2048 bit): độ dài khóa RSA
- Lifetime (3650 days): thời hạn CA
- Do lab cá nhân nên không cần điền những thông tin về công ty
- Descriptive Name: Gõ
-
Server Certificate (Chứng chỉ của Server):
- Descriptive Name: Gõ
SOC_VPN_Cert-> Bấm Add new Certificate.

- Descriptive Name: Gõ
-
Server Setup
- Interface (WAN): Bạn đang bảo pfSense hãy "vểnh tai" lên nghe ở cổng kết nối với Internet.
- Protocol (UDP) & Port (1194): UDP là giao thức truyền tải siêu tốc (không cần bắt tay rườm rà như TCP). 1194 là số nhà mặc định của OpenVPN. Khi máy SOC ở quán cafe muốn kết nối, nó sẽ tìm đến IP WAN của bạn và gõ cửa số 1194.
- Data Encryption Algorithms (AES-256-GCM): Đây là "tiêu chuẩn vàng" của quân đội và chính phủ. GCM (Galois/Counter Mode) không chỉ mã hóa dữ liệu mà còn tự động kiểm tra xem gói tin có bị hacker sửa đổi dọc đường hay không. Nó cực kỳ an toàn và xử lý rất nhẹ nhàng.

Nhóm Định tuyến mạng (Sự khác biệt cốt lõi nhất)
Đây là phần dễ gây nhầm lẫn nhất đối với người mới làm mạng, và cũng là phần quan trọng nhất để hiểu mô hình của bạn:
- IPv4 Tunnel Network (****
10.10.40.0/24): Một dải mạng khác với SIEM, LAN để gán cho Laptop mỗi khi đăng nhập vào mạng - IPv4 Local Network (
10.10.10.0/24, 10.10.20.0/24): Chỉ định dải mạng cụ thể để vào được VPN

- Client Settings (Cài đặt hành vi của Client)
Phần này định hình cách máy Laptop SOC sẽ cư xử khi đường truyền mạng vật lý thay đổi.
- Dynamic IP (Tích chọn): dù IP có thay đổi thì vẫn được truy nhập VPN trong phiên đó
- Topology (Subnet): Cách pfSense phát IP cho máy tính, một ip cho một client
- Advanced Client Settings
- Vấn đề: Ở quán cafe, máy bạn dùng DNS của Google (8.8.8.8) hoặc của nhà mạng. Nếu bạn gõ địa chỉ IP
10.10.20.30(Splunk), đường hầm VPN hiểu và dẫn bạn đi. NHƯNG, nếu bạn gõ tên miền nội bộhttp://splunk.soc.localthì sẽ không thấy. Do DNS của google không có cái này - Giải pháp (DNS Server 1 & 2): Nếu mạng LAN của bạn có một con máy chủ Domain Controller (DC01 -
10.10.10.10) kiêm luôn chức năng phân giải tên miền (DNS Server). Bạn sẽ gõ10.10.10.10vào ô DNS Server 1.- Tác dụng: pfSense sẽ "ép" máy Laptop SOC phải dùng danh bạ nội bộ của công ty. Từ đó, bạn ngồi ở nhà nhưng vẫn có thể gõ
splunk.soc.localhaydc01.soc.localtruy cập trơn tru như đang ngồi ở văn phòng.
- Tác dụng: pfSense sẽ "ép" máy Laptop SOC phải dùng danh bạ nội bộ của công ty. Từ đó, bạn ngồi ở nhà nhưng vẫn có thể gõ
- DNS Default Domain: Bạn có thể điền tên miền gốc của công ty (ví dụ:
soc.local). Khi đó, bạn chỉ cần gõ chữsplunklên trình duyệt, máy tính sẽ tự động nối đuôi thànhsplunk.soc.local. - NTP Server: Ép máy trạm đồng bộ giờ với máy chủ công ty (Rất quan trọng trong SOC để log của các máy trạm gửi về không bị sai lệch ngày giờ).
-
Firewall Rule Configuration: * Tích chọn CẢ 2 Ô:
Firewall RulevàOpenVPN rule. (pfSense sẽ tự động mở cửa cho bạn, bạn không cần tự cấu hình tay). -> Bấm Next -> Finish.

Traffic from clients to server: mặc định pfSense chặn kết nối từ Internet vào mạng nội bộ. Tick này để pfsense cho phép cổng 1194 đã thiết lập trước đó cho lưu lượng UDP vào
Traffic from clients through VPN: khi laptop kết nối thành công thì nó sẽ được cấp một IP ảo, đứng trong OpenVPN. Nếu không có rule này thì nó sẽ bị đứng đó và không đi đâu được.
Bước 2: Tạo thẻ nhân viên (User & Certificate) cho SOC Analyst
Server đã có, giờ chúng ta cần cấp tài khoản và chứng chỉ bảo mật cho chiếc Laptop SOC.
- Vào System > User Manager > Bấm Add.
- Username:
soc_analyst_01 - Password: Điền mật khẩu an toàn của bạn.
- Kéo xuống phần Cryptographic Keys:
- Tích vào ô Click to create a user certificate.
- Descriptive Name:
SOC_Analyst_01_Cert. - Certificate authority: Chọn cái
SOC_VPN_CAbạn vừa tạo ở Bước 1.
- Bấm Save.

Bước 3: Cài đặt công cụ trích xuất cấu hình (Client Export)
- Vào System > Package Manager > tab Available Packages.
- Tìm kiếm gói có tên:
openvpn-client-export. - Bấm Install > Confirm và đợi hệ thống cài đặt xong

Bước 4: Tải file cấu hình và Kết nối (Trên Laptop SOC)
Trên pfSense:
- Vào lại VPN > OpenVPN > tab Client Export.
- Cuộn xuống dưới cùng, bạn sẽ thấy danh sách User. Tìm dòng
soc_analyst_01. - Nhìn sang cột bên phải, bấm vào nút Inline Configurations: OpenVPN Connect (iOS/Android/Windows/Mac). Một file
.ovpnsẽ được tải về máy. - Chọn Inline configuration: Most Clients
Lưu ý phải vào Web pfSense, vào Interfaces > WAN bỏ tích chặn nếu muốn test trong mạng local (vì chặn IP dải 192.168.x.x)

Bước 5: Cấu hình Port Forwarding trên VMware (PC)
- Mở Virtual Network Editor (bằng quyền Admin).
- Chọn dòng VMnet8 (NAT) > Bấm nút NAT Settings...
- Trong bảng Port Forwarding, bấm Add...:
- Host port:
1194 - Type:
UDP - Virtual machine IP address:
192.168.253.130(IP WAN của pfSense vừa nhận). - Virtual machine port:
1194
- Host port:
- Bấm OK và Apply để lưu lại.
Bước 6: Thiết lập rule cho phép UDP port 1194
- Trên máy PC, bấm phím Windows, gõ Firewall with Advanced Security và mở nó lên.
- Chọn Inbound Rules (bên trái) > New Rule... (bên phải).
- Chọn Port > Next.
- Chọn UDP và gõ vào ô cổng:
1194> Next. - Chọn Allow the connection > Next > Tích hết 3 ô (Domain, Private, Public) > Next.
- Đặt tên là
OpenVPN_Inboundrồi bấm Finish.
Bước 7: Kết nối
Tải Tunnel blick, add profile .ovpn đã tải ở bước 4 và xem thành quả:

Lưu ý: quá trình thiết lập OpenVPN này để thực hiện trong mạng nội bộ tức là Laptop của SOC analyst và PC cùng một dải mạng (192.168.1.x). Khi PC sẽ đẩy kết nối openVPN (UDP/1194) từ laptop qua port forwarding tới pfSense. OpenVPN trên pfSense sẽ thực hiện xác thực và kết nối vào LAN/SIEM. Còn trong thực tế, SOC analyst sẽ kết nối từ xa (một dải mạng khác), quá trình cơ bản sẽ như sau:
-
Khởi tạo: Analyst mở OpenVPN, file cấu hình trỏ đến IP Public của công ty (địa chỉ duy nhất lộ diện trên Internet).
-
Gõ cửa Modem: Gói tin UDP/1194 đập vào cổng WAN của Modem công ty.
-
Chuyển hướng (The Forwarding): Modem công ty có một luật (Rule) đã cài sẵn: "Bất cứ ai gõ cửa 1194, hãy đẩy thẳng vào IP nội bộ của con pfSense nằm ở phía sau".
-
Xác thực: pfSense nhận gói tin, kiểm tra Chứng chỉ (Certificate) và Mật khẩu (User Auth). Nếu khớp, pfSense "mở hầm" VPN.
-
Cấp phép: pfSense cấp cho Laptop một IP nội bộ (ví dụ
10.10.40.2). Lúc này Laptop coi như đang cắm dây mạng trực tiếp vào switch của công ty.
Tóm tắt lại quy trình OpenVPN
- Khi tạo cấu hình trên pfsense:
- CA tạo cert cho server: dùng public key của server + thông tin (công ty, loại khóa, ngày hết hạn,…) và mã hóa bằng private key của CA → tạo ra cert
- Tương tự tạo cert cho SOC analyst
- Kết nối thực tế
- Laptop gửi tới server
- Server gửi cert SOC_VPN_cert
- Client gửi SOC_analyst_cert
- Hai bên giải mã bằng public key của CA → phát hiện chuẩn thì kết nối.
- Sau đó kết hợp public key bên này + private key bên kia tạo ra khóa phiên như nhau để trao đổi trong phiên đó, sau đó dùng AES 256 -GCM để mã hóa đường truyền
Việc CA đứng giữa để chống tấn công MITM:
-
Nếu không có CA: khi máy tính của analyst gửi tới server cái cert, hacker đứng giữa lấy public key của analyst và mở cửa lấy thông tin, đồng thời mã hóa lại bằng private key của hắn, sau đó gửi lại cho server. Server không biết và mở ra vẫn thấy thông tin của analyst nên mở cửa kết nối, hacker nằm giữa lấy được thông tin. Tương tự với chiều server tới laptop
-
Nếu có CA: đóng vai trò là root of trust. Cert 2 phía phải dùng public key của CA để mở. Nếu hacker đứng giữa dùng public key của hắn để ký thì bị phát hiện ngay lập tức và từ chối.
4 trường của thông tin trong file cấu hình của SOC_analyst
<ca>(CA Certificate): Chứa Public Key của CA. Laptop sẽ dùng cái này để kiểm tra chữ ký trên Certificate của Server xem có đúng là hàng chính chủ không.<cert>(Client Certificate): Chứa Public Key của SOC Analyst cùng với chữ ký (digital signature) của CA xác nhận danh tính của bạn. Bạn sẽ gửi cái này cho Server.<key>(Client Private Key): Chứa Private Key của SOC Analyst.<tls-auth>2048 bit OpenVPN static key: đây là pre share key của hmac để kiểm tra tính toàn vẹn của thông điệp, và để drop những gói tin không có mã hóa key này (bảo mật lớp đầu)