3. Cấu hình cơ bản cho pfsense
3.6. Tạo tài khoản quản lý pfSense
3.10.2. Tạo user và assign cert cho user
Các thành phần:
– pfSense: Gồm có 2 card mạng để kết nối tới 2 dải mạng WAN
* Interface WAN: 10.0.0.201
* Interface LAN: 172.16.1.1/24
– Webserver: 172.16.1.50
– Window 7

Hình 1: Mô hình thực hiện
Tải file cài đặt pfSense phiên bản Community Edition từ trang chủ pfsense(fpSense-CE)
Tạo máy ảo từ file iso đã tải về
Khởi động máy ảo lên
Hình 2: Nhấn acept để tiếp tục
- Chọn Recover config.xml nếu trước đó đã có Cài đặt fpsense và đã export file config ra file config.xml. Ở đây ta cài mới nên chọn Install pfSense
Hình 3: Chọn Install pfsense và ấn Ok
Chọn Continue with default keymap và nhấn select
Hình 4: Để mặc định và ấn Select
Chọn Auto (zfz)
Hình 5: Chọn loại ổ đĩa sẽ cài đặt
Chọn Pool Type/Disks nếu muốn cấu hình raid. Nếu để mặc định là raid 0 thì chọn Install
Hình 6: Chọn Pool Type/Disk để chọn raid cho server
Lựa chọn Raid muốn cài đặt, ở đây ta chọn Mirror(raid 1)
Hình 7: Chọn Raid muốn cấu hình cho server
Nhấn phím space để chọn ổ đĩa muốn cài(ở đây ta chọn raid 1 nên chọn 2 ổ đĩa) và nhấn OK
Hình 8: Chọn ổ đĩa thêm vào raid
Chọn Install để bắt đầu cài đặt pfSense
Hình 9: Chọn proceed with installation
Nhấn Yes để xác nhận cài đặt, các dữ liệu trong ổ đĩa sẽ bị xoá
Hình 10: Xác nhận lựa chọn để cài đặt
Chờ cho quá trình cài đặt thành công và khởi động lại máy
Hình 11: Chờ cho tiến trình cài đặt xong
Sau khi quá trình cài đặt thành công sẽ có thông báo. Chọn no
Hình 12: Chọn no
Chọn reboot để khởi động lại
Hình 13: Reboot pfSense
Sau khi cài đặt xong và khởi động pfsense lên, ta cần thiết lập mạng ban đầu mạng cho pfsense: nhập các thông số như bên dưới:
- Should VLANs be set up now: n
- Enter the WAN interface name: vtnet0
- Enter the LAN interface name …: vtnet1
- Do you want to process? y
Hình 14: Cấu hình mạng cho pfSense
Hình 15: Thông tin pfSense sau khi cấu hình mạng
Cổng WAN(vtnet0) của Pfsense kết nối vào mạng ngoài nên được cấp DHCP là 10.0.0.30 từ router. Mình sẽ đổi thành IP tĩnh sau như mô hình sau.
Cổng LAN được tự động cấp IP 192.168.1.1 đóng vai trò làm Gateway cho hệ thống mạng nội bộ được quản lý thông qua Private Switch. Mình sẽ đổi LAN IP thành 172.16.1.1 sau.
- Thiết lập mặc định của Pfsense chỉ cho truy cập vào trang quản trị WebUI từ mạng LAN nội bộ. Do đó chưa thể truy cập vào địa chỉ 10.0.0.30(Cổng WAN)
- Để có thể truy cập Web UI từ hệ điều hành host( nằm trên mạng WAN), cần phải tắt dịch vụ quản lý gói tin(packet filter) bằng lệnh sau: pfctl -d
- Lệnh pfctl -d chỉ tạm thời tắt packet filter ở phiên làm việc hiện tại. Khi khởi đọng lại pfSense, packet filter sẽ tự động kích hoạt lại và ngăn truy cập từ WAN
- Do đó sau khi truy cập được vào Web UI ta sẽ thiết lập Firewall để cho phép truy cập pfSense từ WAN để khỏi phải gõ lệnh pfctl -d
Chọn 8 để vào shell của pfSense, sau khi vào shell ta gõ lệnh pfctl -d
Hình 16: Gõ lệnh pfctl -d để cho phép truy cập từ IP WAN
Truy cập vào màn hình đăng nhập bằng địa chỉ IP http://10.0.0.30 và nhập thông tin đăng nhập tài khoản mặc định là admin/pfsense
Hình 17: Đăng nhập pfSense bằng giao diện web
- Nhấn Next để tiếp tục thiết lập
Hình 18: Nhấn Next để tiếp tục thiết lập ban đầu
Hình 19: Nhấn Next
Thiết lập các thông số như hostname domain và DNS cho pfsense
Hình 20: Thiết lập thông hostname, DNS
Hostname: có thể giữ nguyên hoặc đổi tuỳ ý, có thể thay đổi sau
Domain: để mặc định, có thể thay đổi sau
Primary & Secondary DNS server: Điền Cloudflare DNS(1.1.1.1) hoặc google DNS(8.8.8.8, 8.8.4.4) hoặc để trống cũng được.
Override DNS: chọn mục này nếu muốn sử dụng DNS được cung cấp từ DHCP Server gửi đến cổng WAN
Chỉnh Time Server và Timezone. Ta có thể sử dụng ntp server từ internet hoặc nếu có ntp server riêng. Ở đây ta sử dụng 1.vn.pool.ntp.org để sử dụng cho giờ Việt Nam, Timezone sử dụng Asia/Ho_Chi_Minh
Hình 21: Thiết lập timezone cho pfSense
Thiết lập WAN interface như sơ đồ đã hoạch định ban đầu.
Thiết lập WAN Interface Type là Static cùng thông số IP như sau:
IP Address: 10.0.0.201
Subnet Mask: 24
Upstream Gateway: 10.0.0.2 (IP của Router)
Hình 22: Lựa chọn type là static
Nhập IP static cho cổng WAN
Hình 23: Thiết lập IP WAN
Notice: Trong điều kiện thực tế, nếu sử dụng pfSense để kết nối với modem quang của nhà mạng cần phải chỉnh WAN interface type thành PPPoE và nhập Username/Password được cung cấp bởi nhà mạng để xác thực kết nối(đã làm trong thực tế)
Hình 24: Nhập tài khoản để cấu hình PPPoE
Bỏ tick ở mục Block RFC1918 Private networks và nhấn Next
- Block RFC1918 Private Networks: mục này có nghĩa là pfSense sẽ chặn tất cả các truy cập vào cổng WAN từ các dãy IP nội bộ (10/8, 172.16/12, 192.168/16)
- Do mình pfSense trong mạng ảo của VMware, các kết nối vào cổng WAN đều là IP nội bộ (192.168.0.0/24), do đó cần phải bỏ chọn Block RFC1918 Private Networks để cho phép Host có thể truy cập vào trang quản trị của pfSense.
- Cấu hình LAN interface
Tiếp theo ta cấu hình lại dải mạng LAN mà ta đã hoạch định từ trước.
Ở mục Config LAN Interface điền các thông số IP, subnet mask va nhấn Next
LAN IP Address: 172.16.1.1
Subnet mask: 24
Hình 25:Thiết lập LAN interface
Nhập mật khẩu mới cho tài khoản Admin
Hình 26: Đổi mật khẩu mới cho tài khoản admin
Nhấn Reload để pfSense có hiệu lực thay đổi
Hình 27: Reload để cấu hình có hiệu lực
Chờ quá trinh config thành công và nhấn Finish
Hình 28: Nhấn finish để hoàn tất
Bây giờ phải quay lại shell để tắt packet filter (chạy lệnh pfctl -d) để tiếp tục truy cập WebUI thông qua IP WAN(trên môi trường thực tế thì không cần)
Truy cập vào trang quản trị Web UI theo WAN IP mới đã thay đổi trong bước thiết lập ban đầu: http://10.0.0.201
Đăng nhập bằng tài khoản admin và mật khẩu đã thay đổi ở bước trên
Dashboard
Hình 29: Dashboard của pfSense
Cấu hình cho phép truy cập WebUI từ WAN
Mặc định thì mọi traffic đi vào từ WAN sẽ bị chặn
- Để tiện cho việc cấu hình pfSense khi truy cập từ từ máy tính trong mạng nhà(nằm trên WAN của pfsense). Ta tạo Firewall rule mới cho phép truy cập vào Web UI từ WAN để không cần gõ lệnh pfctl -d
Firewall -> Rules -> WAN
Hình 30: Add rule cho phép truy cập từ wan
Nhấn Add để tạo rule
Thiết lập thông số như sau:
Action: Pass
Interface: WAN
Protocol: TCP
Source: Any (hoặc có thể điền IP, Subnet của mạng)
Destination: WAN Address
Destination port range: HTTPS (cho phép truy cập qua cổng 443)
Description: Allow access pfSense from WAN(Cho phép truy cập Web UI từ WAN)
Hình 31: Thiết lập rule cho WAN
Hình 32: Thiết lập source và destination cho rules
Sau khi thiết lập xong thì nhấn Save để tạo rule
Rule cho phép truy cập vào từ WAN đã được tạo
Hình 33: Rule cho phép truy cập pfSense từ IP WAN
Bây giờ thì ta có thể truy cập vào từ IP WAN thoải mái mà không cần phải vào shell để gõ lệnh pfctl -d nữa mỗi khi khởi động lại nữa
System-> User Manager
Hình 34: Tạo tài khoản
Nhấn Add thể thêm user mới
Hình 35: Nhấn add để tạo thiết lập tạo user mới
Nhập các thông số như username, Password
Hình 36: Thiết lập các thông số cần thiết
Thiết lập group cho user, mặc định thì chỉ có group admins, ta có thể tạo các group khác và thêm user vào group tương ứng.
Nếu muốn tài khoản có quyền admin thì nhấn vào nhóm admins ở dòng Group membership và nhấn Move to “Member of” list sau đó nhấn Save
Hình 37: Lựa chọn group
-
- Cấu hình SSH server
Truy cập System -> Cert. Manager
Hình 38: Thiết lập SSH server để dễ dàng quản trị pfSense
Kéo xuống mục Secure shell server và tick vào Enable Secure shell rồi nhấn Save
Hình 39: Kích hoạt SSH server trên pfSense
Bây giờ phải tạo thêm Rule để cho phép port 22
Bấm vào Firewall->Rules, sau đó bấm Add để tạo Rule mới như sau:
Action: Pass
Interface: WAN (tuỳ thuộc vào dải mạng mà bạn muốn cho phép ssh LAN hoặc VLAN)
Protocol: TCP
Source: Any (hoặc có thể điền IP, Subnet của mạng)
Destination: WAN Address (tuỳ thuộc vào dải mạng mà bạn muốn cho phép truy cập ssh)
Destination port range: SSH
Description: Allow access pfSense from WAN Address
Hình 40: Rule allow SSH đã được tạo
Kiểm tra xem đã ssh được vào pfSense chưa băng lệnh sau
Mở CMD lên và gõ
ssh [email protected]
Và nhập password của user macld để đăng nhập
Hình 41: SSH thành công vào pfSense
Như vậy là ta đã SSH thành công vào server pfSense
Mặc định khi đã hoàn thành các bước thiết lập ban đầu, pfSense đã tự động kích hoạt DHCP Server và cấu hình NAT để các máy trong mạng LAN có thể truy cập ra mạng WAN.
Chọn Services -> DHCP Server
Hình 42: Chọn DHCP server
Chuyển qua tab LAN
Ở mục General Options ta tick vào ô Enable DHCP server on LAN interface
Nhập thông tin như subnet, subnet mask, range IP sẽ cấp cho mạng LAN
Ở trường hợp này ta nhập
Subnet: 172.16.1.0
Subnet mask: 255.255.255.0
Range: 172.16.1.100 – 172.16.1.200 (range IP sẽ cấp cho các máy trong LAN)
Hình 43: Kích hoạt DHCP và thiết lập range IP cho LAN
Ở mục Servers nhập DNS
DNS servers 1.1.1.1
1.0.0.1
Ta có thể chọn DNS của một trong các dịch vụ của google(8.8.8.8, 8.8.4.4, clouflare(1.1.1.1, 1.0.0.1), … hoặc DNS server riêng(nếu có)
Hình 44: Thiết lập DNS cho dải mạng LAN
Thử kết nối từ client
Sau khi kết nối PC vào Switch thì đã được cấp ip là 172.16.1.100 đúng như cấu hình
Hình 45: Client đã nhận được ip do pfSense cấp
Theo dõi DHCP Server
Truy cập vào Status -> DHCP leases để xem tình trạng hoạt động của DHCP server.
Hình 46: Kiểm tra tình trạng hoạt động DHCP
-
- Upgrade OS cho firewall
- Upgrade OS cho firewall
Ta có thể kiểm kiểm tra ở ngoài Dashboard hoặc vào menu System 🡪 Update
Ở ngoài dashboard ta có thể thấy mục System Information ở dòng version thì hiện tại pfSense đang có version 2.5.2, và ở dưới đó là dòng version 2.7.0 is available thì ta có thể click vào biểu tượng đám mây tải xuống như hình bên dưới hoặc cũng có thể truy cập vào mục System> Update để vào giao diện update
Hình 47: Kiểm tra version server
Chờ 1 lúc để server có thể retieving ra các version đang có sẵn
Hình 48: Lựa chọn bản cập nhật
Sau khi server Retrieving ra thì ta sẽ thấy thông tin các bản cập nhật có sẵn.
Ở mục Branch chọn version muốn update lên(ở đây là v2.7.0)
Nhấn Confirm để fpSense tải firmware về. Sau khi tải hoàn tất thì server sẽ thông báo và tự khởi động lại để tiến hành upgrade.
Hiện tại version mới nhất của pfSense là 2.7.2 nhưng do ở phiên bản 2.5.2 chỉ cho phép Up trực tiếp lên 2.7.0 nên ta phải up lên 2.7.0 trước rồi tiếp tục up lên 2.7.2
Hình 49: Tải thành công và chờ thiết bị tự động reboot để upgrade
Sau khi upgrade xong kiểm tra firmware đã ở phiên bản mới nhất(The system is on the latest version
Hình 50: pfSense đã ở version mới nhất
Trường hợp Server chỉ có thể truy cập trong Internal(không public ra ngoài), mà ở ngoài vẫn muốn truy cập vào(ví dụ chỉ có thể làm việc trong mạng nội bộ công ty nhưng lúc về nhà vẫn muốn truy cập vào để làm việc, thì lúc này 1 giải pháp an toàn là VPN)
Để cấu hình VPN trên pfSense ta tiến hành các bước sau
Truy cập vào System-> Certificates
Hình 51: Tạo certificates
Chọn Add để thêm Cert mới
Hình 52: Thêm chứng chỉ mới
Ở mục Create/ edit CA nhập và lựa chọn các thông số như dưới đây rồi nhấn Save
Method : Create an internal Certificate Authority
Trust Store: checked
Key type: RSA
2048
Degest Algorithm: sha256
Lifetime(days) : 3650
Common Name: OpenVPN
Country Code: VN
State or Provice: HCM
City: HCM
Oranization: TTS
Organizational Unit : IT
Hình 53: Tạo Certificate Authoriry
CA đã được tạo
Hình 54: CA đã được tạo
Chuyển qua mục Certificates và nhấn Add/sign để tạo cert cho server
Hình 55: Tạo Certificate cho server
Ở mục Add/Sign a New Certificate chọn
Method: Create an internal Certificate
Descriptive name: Server-Cert-OpenVPN (đặt tên tuỳ chỉnh)
Ở mục Internal Certificate
Certificate authority: CA-OpenVPN (chọn CA đã tạo ở bước trên)
Digest Algorithm: sha256
Lifetime(days) : 3650
Common Name: OpenVPN
Hình 56: Thiết lập các thông số cho server certificate
Ở mục Certificate Attributes dòng Certificate Type chọn Server Certificate sau đó nhấn Save để tạo Cert
Hình 57: Lựa chọn type server
Tiếp tục tạo Cert cho User
Làm tương tự như tạo Cert server. Nhấn Add/Sign và điền các thông tin sau
Descriptive name: User-Cert-OpenVPN
Certificate Authority: CA-OpenVPN
Common Name: OpenVPN
Hình 58: Thông số cho certificate user
Ở mục Certificate Attributes dòng Certificate type chọn User Certificate rồi nhấn Save để tạo cert cho User
Hình 59: Tạo certificate cho user
Các cert cần thiết đã được tạo
Hình 60: Các certificate cần thiết đã được tạo
Vào System-> User Manager
Hình 61: Tạo user để VPN
Nhấn Add để thêm user mới
Hình 62: Thêm user client
Nhập thông tin client mới
Hình 63: nhập thông tin cho user client
Sau khi tạo xong ta nhấn vào biểu tượng chỉnh sửa để assign Cert cho user VPN
Hình 64: Chỉnh sửa user
Kéo xuống dưới tìm mục User Certificates và chọn Add
Hình 65: Thêm cert vào user
Ở mục Add/sign a New Certificate
Method: Choose an existing certificate
Descriptive name: client
Ở mục Chose an Existing Certificates
Existing Certificates: User-Cert-OpenVPN(CA: CA-OpenVPN) (chọn Cert của user đã tạo trước đó)
Hình 66: Lựa chọn Certificate đã tạo để assign cho user
Nhấn save
Hình 67: Save để hoàn tất assign cert cho user
Tải packet để chuẩn bị cho client VPN
System-> Package Manager
Hình 68: Tải Package Manager
Chọn Tab Available Package và tìm kiếm OpenVPN
Nhấn Install (openvpn-client-export) package
Hình 69: Cài đặt Package manager
Nhấn Confirm để cài đặt package
Hình 70: Xác nhận cài đặt package
Chờ cho quá trình tải và cài đặt thành công
Hình 71: Cài đặt package thành công
Cấu hình VPN server
Chọn VPN-> OpenVPN
Hình 72: cấu hình VPN server
Chọn Wizards
Hình 73: Chọn Wizards để thiết lập VPN
Ở dòng Type of Server chọn Local User Access rồi nhấn Next
Hình 74: Lựa chọn type server
Chọn CA(Certificate authority) đã tạo rồi nhấn Next-> Next
Hình 75: Lựa chọn CA
Chọn CA-Server -> Next
Hình 76: Chọn certificate server đã tạo trước đó
Chọn các thông số phù hợp
Protocal: UDP on IPv4 Only
Interface: WAN
Local Port: 1195 (mặc định là port 1194, để bảo mật hơn ta có thể đổi sang 1 port khác)
Hình 77: Thiết lập giao thức và port cho VPN
Ở mục Tunnel Settings
IPv4 Tunnel Network: 192.168.10.0/24 (nhập dải IP sẽ cấp cho client khi truy cập VPN)
IPv4 Local Network: 172.16.1.0/24
Inter-client communication: Check vào ô Allow communication between clients connected to server
Hình 78: Thông số IP cho VPN
Ở mục Advanced Client Settings
DNS default Domain: tts.local (tên tuỳ chỉnh)
DNS Server 1: 172.16.1.1 ( trỏ về IP của pfSense)
Hình 79: Thiết lập DNS
Tick vào Firewall Rule và OpenVPN rule rồi nhấn Next
Hình 80: Cho phép traffic từ client
Nhấn Finish
Hình 81: Tạo thành công VPN server
Trở về tab Servers và chọn biểu tượng chỉnh sửa(cây bút ở action)
Hình 82: Chỉnh sửa VPN server
Kéo xuống tìm mục Advanced Configuration
Ở dòng Custome options: nhập push “route 192.168.10.0 255.255.255.0”
Nếu không nhập dòng này, ta sẽ không thể giao tiếp với lớp mạng LAN(172.16.1.0)
Hình 83: Cấu hình route cho dải mạng VPN
Chọn Client Export để xuất file VPN cho client
Hình 84: Xuất file cài đặt cho client
Kéo xuống dưới và chọn tải về file client cho hệ điều hành và phiên bản tương ứng. Ở đây ta test với OS là window 7
Hình 85: Chọn file cài đặt phù hợp cho client
Bên trong vùng Internal mình đã thiết lâp 1 webserver đơn giản(IP: 172.16.1.50)
Ta không thể truy cập được từ bên ngoài khi chưa truy cập VPN
Hình 86: Không thể truy cập từ bên ngoài vào mạng nội bộ
Đẩy file OpenVPN client đã tải xuống trước đó push vào máy client và cài đặt.
Sau khi cài đặt thì mở phần mềm OpenVPN GUI lên và nhập thông tin username/password đã tạo ở các bước trước để tiến hành kết nối tới VPN
Hình 87: Nhập user/pass để kết nối VPN client
Sau khi kết nối thành công thì sẽ có các thông tin kết nối thành công
Hình 88: Kết nối thành công VPN
Kiểm tra IP đã được assign chưa
Hình 89: Kiểm tra IP
Thử ping tới webserver và truy cập webserver nội bộ
Hình 90: Truy cập web nội bộ thông qua VPN
Tài liệu tham khảo




























































































