SlideShare a Scribd company logo
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

MỤC LỤC
MỤCLỤC

I

CHƢƠNG 1.

TỔNG QUAN.....................................................................................1

1.1. Tổng quan tường lửa ......................................................................................... 1
1.1.1.

Static packet-filtering firewall ................................................................ 2

1.1.2.

Application-level firewal ........................................................................ 2

1.1.3.

Circuit-level firewall ............................................................................... 3

1.1.4.

Stateful inspection firewall ..................................................................... 4

1.2. Các mô hình triển khai tường lửa ..................................................................... 5
1.3. Tổng quan pfSense ............................................................................................ 6
1.4. Một số phương pháp triển khai thực tế ............................................................. 6
1.5. Các nền tảng phần cứng hỗ trợ ......................................................................... 7
CHƢƠNG 2. TRIỂN KHAI HỆ THỐNG PFSENSE TRONG MÔI TRƢỜNG
MẠNG DOANH NGHIỆP ...........................................................................................8
2.1. Sơ đồ triển khai cơ bản ..................................................................................... 8
2.2. Cài đặt pfSense.................................................................................................. 8
2.3. Cấu hình pfSense cơ bản ................................................................................... 9
2.4. Cấu hình tường lửa.......................................................................................... 12
2.4.1.

Alias ...................................................................................................... 12

2.4.2.

NAT ...................................................................................................... 14

2.4.3.

Rules ..................................................................................................... 16

2.4.4.

Schedules .............................................................................................. 17

2.5. QoS.................................................................................................................. 18
2.6. pfSense Squid proxy ....................................................................................... 24
2.6.1.

Squid web cache proxy ......................................................................... 24

2.6.2.

SquidGuad ............................................................................................ 26

2.7. VLAN.............................................................................................................. 28
2.7.1.

Trunking................................................................................................ 28

2.7.2.

VLAN ID .............................................................................................. 29

2.7.3.

Double tagging (QinQ) ......................................................................... 29

2.8. Cân bằng tải .................................................................................................... 29
2.8.1.

Cân bằng tải multi-WAN ...................................................................... 30

Internet Gateway với Firewall Open Sources

Trang I
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
2.8.2.
Cân bằng tải máy chủ............................................................................ 33
2.9. Redundancy và Failover: CARP và pfsync .................................................... 37
2.9.1.

Tổng quan CARP .................................................................................. 37

2.9.2.

Tổng quan psync ................................................................................... 38

2.9.3.

Tổng quan đồng bộ XML-RPC của pfSense ........................................ 38

2.9.4.

Triển khai mô hình cơ bản .................................................................... 39

2.9.5.

Triển khai mô hình multiWAN ............................................................. 43

2.10.

VPN ............................................................................................................. 46

2.10.1.

IPSEC.................................................................................................... 47

2.10.2.

L2TP ..................................................................................................... 49

2.10.3.

PPTP ..................................................................................................... 50

2.10.4.

OpenVPN .............................................................................................. 51

2.10.5.

Trích xuất cấu hình OpenVPN client.................................................... 54

2.11.

Captive portal .............................................................................................. 57

2.12.

Logging, monitoring, và statistics ............................................................... 59

2.12.1.

Remote syslog ....................................................................................... 61

2.12.2.

Đồ thị RRD ........................................................................................... 62

CHƢƠNG 3.

TÀI LIỆU THAM KHẢO ..............................................................64

Internet Gateway với Firewall Open Sources

Trang II
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

CHƢƠNG 1. TỔNG QUAN
1.1. Tổng quan tƣờng lửa
Tường lửa là công cụ cần thiết trong việc quản lý và kiểm soát lưu lượng mạng, là một
thiết bị mạng được sử dụng để lọc lưu lượng truy cập, thường được triển khai giữa
một mạng riêng và một mạng kết nối đến Internet. Ngoài ra tường lửa cũng có thể
được triển khai để phân chia giữa các phòng ban trong một công ty. Nếu không có
tường lửa, hệ thống mạng sẽ không thể hạn chế lưu lượng truy cập độc hại từ Internet
thâm nhập vào mạng nội bộ. Lưu lượng mạng thông qua tường lửa được lọc dựa trên
các chính sách đã được thiết lập, còn được gọi là các bộ lọc hoặc danh sách kiểm soát
truy cập (ACL). Chúng cơ bản là một bộ các chỉ lệnh có nhiệm vụ lọc ra các luồng dữ
liệu nguy hại hoặc không được cho phép truy cập, chỉ có các kết nối cho phép mới
vượt qua hàng rào an ninh được cung cấp bởi các tường lửa.
Tường lửa là một biện pháp hiệu quả trong việc ngăn chặn hay lọc lưu lượng truy cập,
chống lại các lượt truy cập không hợp pháp cố gắng kết nối từ bên ngoài vào mạng nội
bộ bên trong, đồng thời ngăn chặn các dữ liệu độc hại dựa trên thông tin các gói đi
vào, ứng dụng, giao thức hay địa chỉ nguồn. Hầu hết các tường lửa cung cấp cơ chế
log, kiểm định và khả năng giám sát cũng như hệ thống phát hiện xâm nhập (IDS) cơ
bản. Cần lưu ý rằng tường lửa không thể ngăn chặn virus hoặc các mã độc hay lây lan
qua các đường đi khác khi người dùng vô tình hay cố ý cho phép các đoạn mã độc
thực thi đằng sau tường lửa.
Ngoài hoạt động kết nối mạng, tường lửa còn lưu lại các thông tin về các sự kiện như:
Thời gian boot/reboot thiết bị tường lửa.
Trạng thái dịch vụ như: proxy, các dịch vụ phụ thuộc.
Thay đổi cấu hình.
Lỗi hệ thống tường lửa.
Tường lửa chỉ là một phần của một giải pháp bảo mật tổng thể. Với một tường lửa có
nhiều các cơ chế bảo mật được tập trung tại một nơi, điều này tạo ra rủi ro làm hệ
thống mạng có thể bị mất kết nối trong trường hợp thiết bị tường lửa có sự cố. Để bảo

Internet Gateway với Firewall Open Sources

1
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
vệ tốt hơn cho hệ thống thì chúng ta cần kết hợp nhiều tường lửa với nhau để bổ trợ
cho nhau trong trường hợp một tường lửa bị tấn công.
Có bốn loại tường lửa cơ bản: (Simple) Packet Filters, Circuit-Level, ApplicationLevel và Stateful Multilayer Inspection.Cũng có nhiều cách để tạo ra bức tường lửa an
toàn bằng cách kết hợp hai hoặc nhiều hơn các loại tường lửa vào một giải pháp tường
lửa duy nhất.

1.1.1. Static packet-filtering firewall
Packet-filter lọc lưu lượng truy cập bằng cách kiểm tra thông tin header của gói tin.
Thông thường, các chính sách để tường lửa lọc sẽ dựa vào thông số liên quan tới IP
nguồn, IP đích, và cổng dịch vụ. Tường lửa dạng này không thể cung cấp cơ chế xác
thực người dùng hay có thể xác định được gói tin đến từ bên trong hay bên ngoài
mạng riêng, dẫn đến việc dễ dàng bị lừa với các gói tin giả mạo. Static packet filter
được xem là khởi đầu cho hệ thống tường lửa, hoạt động ở lớp 3 (lớp Mạng) của mô
hình OSI. Nó cũng có thể được coilà thiết bị định tuyến hoặc xem như một router
thông thường.

Hình 1: Packet-filter trong mô hình OSI

1.1.2. Application-level firewal
Một tường lửa ở lớp Ứng dụng còn được gọi là tường lửa proxy. Proxy là một bộ máy
tính làm nhiệm vụ sao chép các gói tin từ một mạng đến một mạng khác; việc sao
chép này đồng thời sẽ đổi địa chỉ nguồn và địa chỉ đích để bảo vệ thông tin về mạng
riêng hoặc mạng trong của hệ thống. Tường lửa lớp Ứng dụng sẽ lọc các lưu lượng
mạng dựa trên các dịch vụ Internet dùng để chuyển hoặc nhận dữ liệu. Một proxy
server là cách để tập trung các dịch vụ ứng dụng thông qua một máy đơn lẻ, tại đây nó
Internet Gateway với Firewall Open Sources

2
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
sẽ phân tích các gói dữ liệu. Khi các gói từ bên ngoài đến cổng này, chúng được kiểm
tra và đánh giá để xác định chính sách an toàn có cho phép gói này đi vào mạng nội bộ
hay không.
Loại tường lửa này ảnh hưởng đến hiệu suấtcủa mạng vì mỗi gói tin đi đến tường lửa
phải được kiểm tra và đánh giá để xác định trước khi cho phép đi vào mạng nội bộ.
Tường lửa lớp ứng dụng được xem là thế hệ tường lửa thứ hai, chúng hoạt động tại
lớp ứng dụng (lớp 7) của mô hình OSI.

Hình 2: Tường lửa lớp ứng dụng

1.1.3. Circuit-level firewall
Tường lửa Circuit-level dùng để khởi tạo phiên kết nối giữa hai người dùng tin cậy.
Chúng hoạt động tại lớp Phiên (lớp 5) của mô hình OSI. SOCKS (SOCKetS trong
TCP/IP) là dạng tường lửa circuit-level thường được áp dụng nhất. Tường lửa circuitlevel còn được biết đến như là circuit proxy, quản lý kết nối dựa trên circuit, chứ
không phải nội dung của lưu lượng mạng. Chúng cho phép hoặc từ chối chuyển tiếp
gói tin dựa trên nơi mà gói tin cần được gởi đến (địa chỉ nguồn/đích, số
portnguồn/đích). Tường lửa circuit-level cũng được xem là thế hệ thứ hai của tường
lửa vì cơ chế hoạt động gần giống với tường lửa lớp ứng dụng

Internet Gateway với Firewall Open Sources

3
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 3: Circuit-level firewall

1.1.4. Stateful inspection firewall
Tường lửa kiểm tra trạng thái đánh giá hiện trạng hoặc bối cảnh lưu lượng mạng.
Bằng cách kiểm tra nguồn và địa chỉ đích, sử dụng các ứng dụng, nguồn gốc, và mối
quan hệ giữa các gói hiện tại và các gói trước của cùng một session. Tường lửa kiểm
tra trạng thái có thể cấp một phạm vi truy cập rộng cho người dùng và các hoạt động
có thẩm quyền, chủ động theo dõi và ngăn chặn người sử dụng thực hiện các hoạt
động trái phép. Tường lửa kiểm tra trạng thái thường hoạt động hiệu quả hơn so với
tường lửa mức Ứng dụng, được xem là tường lửa thế hệ thứ ba, hoạt động ở lớp Mạng
và lớp Giao vận (lớp 3 và 4) của mô hình OSI .

Hình 4:Stateful inspection firewall

Internet Gateway với Firewall Open Sources

4
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

1.2. Các mô hình triển khai tƣờng lửa
Có ba dạng kiến trúc tường lửa thường được triển khai là: một lớp, hai lớp, và ba lớp
(còn được gọi là nhiều lớp). Kiến trúc tường lửa một lớp được kết nối thông qua một
router đến Internet (hoặc những vùng mạng không an toàn khác). Mô hình tường lửa
một lớp khá hữu ích trong việc ngăn chặn các cuộc tấn công cơ bản,kiến trúc này thực
hiện được các cơ chế bảo mật tối thiểu.
Kiến trúc tường lửa hai lớpsử dụng một tường lửa cóbanetwork interface trở lên, cho
phép thiết lập thêm một vùng DMZ hoặc Extranet để giao tiếp với mạng bên ngoài.
DMZ được sử dụng đặt những hệ thống máy chủ thông tin mà người dùng bên ngoài
có thể truy cập.
Một kiến trúc ba lớp là việc triển khai của nhiều mạng con giữa mạng nội bộ và
Internet ngăn cách bởi các tường lửa. Mỗi tường lửa có quy tắc lọc nghiêm ngặt hơn
để hạn chế các quyền truy cập bất hợp lệ vào hệ thống mạng dữ liệu nhạy cảm. Mạng
ngoài cùng thường được triển khai như là một vùng DMZ. Lớp mạng thứ hai có
nhiệm vụ như một lớp mạng chuyển tiếp nhằm phục vụ các tính năng phức tạp theo
yêu cầu của máy chủ tại vùng DMZ (ví dụ: database, web service…). Mạng con thứ
ba hoặc back-end có thể hỗ trợ mạng nội bộ. Kiến trúc này là an toàn nhất, tuy nhiên
mức độ triển khai và quản lý phức tạp hơn so với các kiến trúc còn lại.

Hình 5: Mô hình tường lửa một lớp

Hình 6: Two-tier

Hình 7: Three-tier

Internet Gateway với Firewall Open Sources

5
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

1.3. Tổng quan pfSense
PfSene là một dự án nguồn mở dựa trên nền tảng hệ điều hành FreeBSD và được sử
dụng như một tường lửa hoặc một thiết bị định tuyến. Chris Buechler và Scott Ullrich
là hai tác giả sáng lập dự án m0n0wall năm 2004. Tuy nhiên tại thời điểm 2004, tác
giả phải gặp vấn đề khó khăn khi mã nguồn của họ không tương thích tốt với các giải
pháp tích hợp phần cứng (các thiết bị sử dụng 64MB RAM). PfSense với sự phát triển
theo thời gian đã hỗ trợ rộng rãi các nền tảng phần cứng khác nhau và được sự đóng
góp to lớn từ cộng động sử dụng mã nguồn mở thế giới. Cùng với các chức năng quản
lý mạnh mẽ, thân thiện với người dùng nên pfSense được cộng đồng sử dụng rộng rãi
trong môi trường doanh nghiệp vừa và nhỏ. PfSense yêu cầu cấu hình phần cứng thấp
nên phù hợp cho việc tích hợp vào các thiết bị tích hợp khác nhau nhằm tăng tính linh
động và hiệu suất trong quá trình vận hành.
Phiên bản pfSense hiện tại được công bố là 2.1, tập trung phát triển các tính năng hỗ
trợ môi trường mạng IPv6.

1.4. Một số phƣơng pháp triển khai thực tế
Với các tính năng linh hoạt, pfSense được sử dụng trong nhiều mục đích khác nhau
trên thực tế. Giá thành triển khai thấp hơn so với những thiết bị cùng loại, hỗ trợ
những tính năng cơ bản và nâng cao như VPN, BGP, Wirelsess, cân bằng tải, QoS…
Các chức năng thường được sử dụng bao gồm:
Tường lửa: với tính năng xử lý gói tin TCP/IP mạnh mẽ, nên pfSense được
dùng như một tường lửa nhằm cản lọc những kết nối không hợp pháp đến một
phân vùng mạng chỉ định.
Thiết bị định tuyến mạng WAN/LAN: đóng vai trò như một router, pfSense hỗ
trợ các chức năng như định tuyến như PPoE, BGP… phù hợp cho doanh
nghiệp triển khai với giá thành thấp mà không cần đầu tư thêm router cùng
chức năng.Trong môi trường mạng LAN, pfSense hỗ trợ giao thức 802.1q cho
phép nhân viên kỹ thuật có thể hoạch định các phân vùng mạng nội bộ khác
nhau. PfSense có thể hỗ trợ băng thông 3Gbps hoặc xử lý hơn 500.000 gói
tin/giây, vì vậy pfSense có thể sử dụng thay thế một thiết bị switch lớp 3 (yêu
cầu có thêm card mạng).

Internet Gateway với Firewall Open Sources

6
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
Wireless Access Point.
Máy chủ VPN/DNS/DHCP/Sniffer: pfSense được tác giả tích hợp thêm các mã
nguồn mở như TinyDNS (http://tinydns.org), tcpdump
(http://www.tcpdump.org/) nhằm phục vụ với vai trò là máy chủ DNS hoặc
máy chủ sniffer (thu thập gói tin cho nhiệm vụ phân tích).

1.5. Các nền tảng phần cứng hỗ trợ
Live CD: nhân viên quản trị hệ thống có thể sử dụng pfSense bằng cách khởi động mã
nguồn pfSense và sử dụng trực tiếp trên CD hoặc USB. Tuy nhiên, phương pháp này
không được khuyến cáo sử dụng do một số tính năng như vẽ đồ thị lưu lượng truy cập
không thể thực hiện.
Cài đặt vào thiết bị có kiến trúc máy tính (computer based device): đây là phương
pháp được tác giả khuyến cáo sử dụng. PfSense được cài đặt trên thiết bị máy tính sẽ
hỗ trợ đầy đủ các tính năng mà tác giả đã tích hợp. Tuy nhiên, nhân viên quản trị cần
chú ý pfSense không hỗ trợ khởi động nhiều nền tảng hệ điều hành (Multi-boot), vì
vậy cần bảo đảm rằng các thiết bị lưu trữ (HDD, SSD) có thể bị xóa trắng trong quá
trình cài đặt.
Tích hợp (embedded): pfSense được cài đặt trên thẻ CF có thể được sử dụng cho các
thiết bị phần cứng tích hợp. Tuy nhiên do hạn chế về không gian lưu trữ, nên người sử
dụng cần lưu ý nên cấu hình sử dụng bộ nhớ RAM hệ thống để lưu trữ các bản ghi
nhật ký trong quá trình vận hành.

Internet Gateway với Firewall Open Sources

7
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

CHƢƠNG 2. TRIỂN KHAI HỆ THỐNG PFSENSE
TRONG MÔI TRƢỜNG MẠNG DOANH NGHIỆP
2.1. Sơ đồ triển khai cơ bản

Hình 8: Sơ đồ hệ thống

Vùng mạng
Internet (WAN)

IP/SUBNET

VMware NIC
VmNet0
192.168.0.0/24
(Auto bridging)

DMZ

172.16.10.0/24 VmNet8 (Host-only)

Internal (LAN)

10.0.0.0/24

VmNet1 (Host-only)

Mô tả
Phân vùng mạng
kết nối Internet
Phân vùng đặt các
máy chủ web.
Phân vùng mạng
nội bộ.

2.2. Cài đặt pfSense
Thực hiện tải CD cài đặt Pfsense tại website www.pfsense.org. Người dùng cóthể
download phiên bản cài đặt phù hợp với nhu cầu triển khai thực tế tại mục Download.
Hiện tại pfSense đã hỗ trợ nền tảng ảo hóa VMware, người sử dụng có thể tải và tích
hợp trực tiếp vào hạ tầng ảo dễ dàng và hiệu quả.

Internet Gateway với Firewall Open Sources

8
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
Trong ví dụ bên dưới, chúng tôi thực hiện cài đặt pfSense từ tập tin ISO đã được tải và
ghi đĩa CD. Cấu hình phần cứng sử dụng bao gồm: CPU Core I3 (1 processor),
RAM 256MB, HDD 5GB, 3 NIC, CD Rom.

Hình 9: PfSense thông báo thông tin đăng nhập mặc định

2.3. Cấu hình pfSense cơ bản
Tại phần này, chúng tôi thực hiện cấu hình các chức năng cơ bản của pfSense bằng
giao diện quản trị Web (WebGUI). Thực hiện truy cập vào địa chỉ IP mà hệ thống đã
cấp cho máy pfSense như hình 7, đăng nhập với tài khoản mặc định user: admin,
password: pfsense.
Sau khi đã đăng nhập thành công, pfSense sẽ yêu cầu cấu hình một số thông tin cơ bản
phù hợp với hệ thống mạng sử dụng.

Hình 10: Cấu hình thông tin IP

Internet Gateway với Firewall Open Sources

9
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
Tại mục cấu hình IP cho card mạng kết nối với hệ thống WAN, quản trị viên cần cấu
hình chính xác thông tin kết nối với hệ thống WAN do nhà cung cấp dịch vụ (ISP) đã
cung cấp. PfSense hỗ trợ các dạng cấu hình IP kết nối WAN như sau:
DHCP/Static/PPoE/PPTP.
Cấu hình PfSense cấp DHCP cho các máy client trong vùng mạng LAN.
Chúng tôi thực hiện đăng ký một card mạng vào vùng LAN với địa chỉ MAC tương
ứng tại menu Interfaces > Assign

Hình 11: Lựa chọn địa chỉ MAC tương ứng

Tiếp theo, chúng tôi cấu hình các thông tin IP, DNS cho card mạng kết nối với vùng
mạng nội bộ. Chú ý: trong trường hợp nhân viên quản trị muốn sử dụng pfSense như
một máy chủ DHCP thì bắt buộc card LAN phải được cấu hình địa chỉ IP tĩnh.

Hình 12: Thông tin mô tả card mạng

Hình 13: Địa chỉ IP được cấu hình tại card LAN

Sau khi các thông tin cấu hình cơ bản, nhấn nút Save và “Apply changes”. Chuyển
sang menu Services > DHCP Server, chọn thẻ LAN.

Internet Gateway với Firewall Open Sources

10
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 14: Cung cấp dãy IP mà pfSense cấp cho người dùng

Hình 15: Cung cấp DNS tại phía người dùng

Hình 16: Cung cấp Default gateway

Sau khi cấu hình hoàn thành, tại phía client thực hiện yêu cầu server cấp IP và kiểm
tra đường truyền.

Hình 17: Client đã được cấp IP từ pfSense

Hình 18: Kiểm tra kết nối mạng LAN

Internet Gateway với Firewall Open Sources

11
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 19: Kiểm tra kết nối Internet

Hình 20: Trạng thái cấp phát IP tại pfSense

2.4. Cấu hình tƣờng lửa
2.4.1. Alias
Alias là một phương pháp đặt bí danh cho một hoặc nhiều IP/Network/URL… nhằm
giúp quản trị viên dễ dàng quản lý các địa chỉ mạng hoặc subnet.
Thực hiện truy cập menu tường lửa > Aliases để tạo mới hoặc chỉnh sửa các alias.

Hình 21: Giao diện tạo alias

Internet Gateway với Firewall Open Sources

12
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 22: Alias Webserver1

pfSense hỗ trợ tạo alias bằng một danh sách địa chỉ IP được lưu trữ từ xa, và thực hiện
cập nhật danh sách tự động theo thời gian đã được cấu hình.

Hình 23: URL Table Alias

Hình 24: Danh mục IP Trung Quốc

Hình 25: Alias danh mục website

Internet Gateway với Firewall Open Sources

13
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

2.4.2. NAT
Network Address Tranlation (NAT) là một cơ chế chuyển đổi IP được sử dụng rộng
rãi, nhằm giảm số lượng IP publickhi kết nối với hệ thống mạng Internet. Cơ chế NAT
dược sử dụng theo một trong hai cách dựa vào hướng truyền dữ liệu là inbound và
outbound. Outbound NAT dùng chuyển đổi các IPprivate thành IP public với mục
đích cho phép các máy tính trong mạng nội bộ có thể kết nối Internet. Inbound NAT
dùng chuyển đổi IP từ bên ngoài vào các máy tính nội bộ.
2.4.2.1 Port Forward
Tại menu tường lửa > NAT > chọn thẻ Port Forward, thực hiện tạo mới một rule NAT
cho phép các máy tính từ Internet truy cập máy chủ web trong vùng DMZ.

Hình 26: NAT Webserver1 - DMZ

Internet Gateway với Firewall Open Sources

14
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 27: Truy cập máy chủ web từ Public IP

2.4.2.2 Reflection 1:1
Cấu hình NAT reflection 1:1 được dùng ánh xạ 1 địa chỉ IP public thành 1 IP private.

Hình 28: Cấu hình NAT Reflection 1:1

Internet Gateway với Firewall Open Sources

15
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
2.4.2.3 Outbound
Khi sử dụng cấu hình mặc định trong mục NAT Outbound, pfSense sẽ tự động tạo các
bản ghi NAT cho phép các IP private truy cập internet thông qua IP public. Các cấu
hình mẫu này bao gồm các rule cho phép các kết nối VPN đến hệ thống, tuy nhiên
quản trị viên cần chú ý tạo thêm các static route phù hợp với hạ tầng mạng.

Hình 29: Automatic outbound NAT

Đối với những hạ tầng mạng phức tạp yêu cầu cấu hình những rule linh động hơn để
phù hợp với kiến trúc mạng doanh nghiệp, ta có thể chọn Manual Outbound NAT với
mục đích tùy biến các rule hiện có.

2.4.3. Rules
Rule là thành phần cơ bản trong các hệ thống tường lửa giúp tạo ra các chính sách
mạng dựa trên mô hình TCP/IP. Theo cấu hình mặc định của pfSense, các rule cho
phép các vùng mạng kết nối với nhau, tuy nhiên việc này không thường gặp trong
thực tế do các yêu cầu bảo mật, nhân viên quản trị mạng cần tùy biến các rule cho phù
hợp với các chính sách truy cập mạng của doanh nghiệp.

Internet Gateway với Firewall Open Sources

16
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 30: Rule mặc định được cấu hình tại card WAN

Chú ý: Trong trường hợp sử dụng NAT port forward thì pfSense tự động tạo rule phù
hợp cho phép kết nối từ mạng WAN đến vùng DMZ.

Hình 31: Rule được tạo tự động khi sử dụng NAT

Các thành phần cơ bản của rule:
Action: pfSense có 3 tùy chọn Pass/Block (hủy gói tin)/Reject (gởi cờ
RST về phía người dùng);
Disabled: tắt hoạt động của rule hiện tại mà không cần xóa;
TCP/IP version: pfSense hoạt động với phiên bản IPv4 và IPv6;
Protocol: pfSense cho phép tùy chọn các giao thức truyền dữ liệu (TCP,
UDP, ICMP…) và giao thức định tuyến (OSPF, IGMP);
Source/Destination (port): chỉ định các IP nguồn/đích;
Log: bật chức năng theo dõi hoạtđộng của rule hiện tại.

2.4.4. Schedules
Chức năng lập lịch trong pfSense cho phép cấu hình thời gian hoạt động của hệ thống
một cách tự động thông qua bảng thời gian đã được thiết lập sẵn. Bằng cách này, hệ
thống pfSense sẽ tự động điều chỉnh các firewall rule theo thời gian lập lịch.

Internet Gateway với Firewall Open Sources

17
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 32: Giao diện lập lịch pfSense

Chúng tôi thực hiện cấu hình chỉ cho phép truy cập webserver của công ty vào thời
gian đã được chỉ định trong mục Schedules. Tại menu cấu hình tường lửa rule, thực
hiện chỉ định thời gian biểu đã được tạo trước đó.

Hình 33: Chỉ định thời gian biểu Working

Hình 34: Rule hoạt động khi thời gian biểu phù hợp

2.5. QoS
Traffic Shaper còn được gọi QoS (Quality of Service) được sử dụng trong môi trường
có nhiều loại dịch vụ mạng cùng hoạt động như VoIP, data network, streaming…,
việc xây dựng QoS trong môi trường mạng doanh nghiệp là khá quan trọng nhằm bảo
đảm tính ổn định cho các dịch vụ cần độ ưu tiên cao.

Internet Gateway với Firewall Open Sources

18
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
Việc quản lý QoS được sử dụng trong pfSense dựa trên nền tảng AltQ (ALTernate
Queueing). AltQ được tích hợp và sử dụng trong BSD UNIX nhằm cung cấp cơ chế
xử lý gói tin cũng như quản lý luồng băng thông đi qua. Đối với các luồng dữ liệu
TCP/IP mặc định thì các gói tin được xử lý theo thứ tự đầu vào (phương pháp FIFO).
Để thay đổi thứ tự gói tin được xử lý, AltQ sử dụng các thuật toán xử lý các gói tin
dựa trên mức độ ưu tiên. Các thuật toán được AltQ dùng trong cơ chế lập lịch kiểm
soát gói tin bao gồm Class Based Queuing (CBQ), Priority-based queues (PRIQ) và
Hierarchical Fair Service Curve (HFSC).
CBQ: Class-based queues hoạt động dựa vào các chỉ số băng thông mạng như
số phần trăm băng thông được sử dụng hoặc tổng dung lượng được sử dụng
theo đơn vị kilobits, megabits hoặc gigabits với thời gian tính bằng giây. CBQ
thực hiện phân mức ưu tiên cho các gói tin từ 0 đến 7, các gói tin có độ ưu tiên
cao hơn sẽ được xử lý trước so với các gói tin có độ ưu tiên thấp hơn.Ví dụ:
Dịch vụ/Giao thức

Băng thông đƣợc sử dụng

Web

30%

SSH

20%

ICMP

2%

UDP

30%

18%
Khác
PRIQ: cơ chế PRIQ dựa vào mức độ ưu tiên được chia thành các mức độ từ 0
đến 15, các dịch vụ có giá trị ưu tiên cao hơn sẽ được xử lý trước.
HFSC: thuật toán Hierarchical Fair Service Curve được sử dụng nhằm bảo đảm
các kết nối đều có thể ở một mức ổn định cho từng loại dịch vụ.Giả sử, khi bạn
tạo một kết nối lần đầu tiên đến một web server thì trong vài giây đầu tiên băng
thông sử dụng là tối đa ~100KB/giây, trong vài giây tiếp theo thì băng thông sẽ
giảm xuống phụ thuộc vào cấu hình ~25KB/sec. Vậy trong trường hợp người
dùng thực hiện tải một tập tin dung lượng 5MB sẽ được pfSense giới hạn ở tốc
độ thấp nhằm bảo đảm đủ băng thông cho các kết nối khác.
Các phiên bản pfSense từ 2.0 tích hợp thêm cơ chế Dummynet, đây là cơ chế được sử
dụng chính trong ipfirewall. Một tính năng mạnh mẽ mà pfSense cung cấp đến người
dùng là cho phép quản lý băng thông đối với các giao thức lớp 7 như Skype, IRC,

Internet Gateway với Firewall Open Sources

19
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
Yahoo,… ipfw-classifyd là ứng dụng chịu trách nhiệm phân loại các nhóm giao thức
lớp 7 được tạo bởi một chương trình cụ thể.
Cơ chế lọc QoS tại lớp 7 được thực hiện qua bốn bước chính:
Phân loại nhóm giao thức lớp 7: tiến trình này được xử lý thông qua cơ chế
kiểm soát gói tin tại AltQ hoặc Dummynet nhằm phân loại các gói tin TCP/IP.
Chuyển hướng luồng dữ liệu: các gói tin đầu vào sau khi được kiểm tra tại lớp
3 (địa chỉ nguồn/đích) sẽ được pfSense chuyển sang xử lý tại tiến trình ipfwclassifyd.
Tạo mẫu cho các giao thức lớp 7: các mẫu này được pfSense định nghĩa trong
các tập tin có dạng tengiaothuc.pat nằm tại thư mục /usr/local/share/protocols,
đây là thành phần quan trọng giúp pfSense có thể xác định các giao thức hoạt
động tại lớp 7.

Hình 35: Các tập tin lưu trữ các mẫu dữ liệu giao thức lớp ứng dụng

Hình 36: Mẫu dữ liệu giao thức lớp 7 chương trình Half-Life 2

Internet Gateway với Firewall Open Sources

20
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
Chỉ định hành vi: sau khi các gói tin được so trùng tại bước 3, tiến trình ipfwclassifyd sẽ thực hiện hủy/cho phép gói tin phụ thuộc cấu hình từ người dùng.

Hình 37: Quy trình xử lý gói tin tại pfSense

Cấu hình tại pfSense
Truy cập menu tường lửa > Traffic Shaper > chọn thẻ Wizards, pfSense cung cấp sẵn
một số cấu hình tham khảo thường dùng trong kiến trúc mạng bao gồm: Single Lan
multi Wan, Single Wan multi Lan, Multi Lan/Wan và Dedicated links.

Hình 38: Các cấu hình tham khảo do pfSense cung cấp

Chúng tôi thực hiện chọn 1 cấu hình mẫu cho sơ đồ tại mục SƠ ĐỒ TRIỂN KHAI là
Single Wan multi Lan.

Hình 39: Số lượng card LAN

Internet Gateway với Firewall Open Sources

21
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 40: Nhập thông số băng thông cho phép Upload/Download

Hình 41: Cấu hình QoS dịch vụ VoIP Asterisk

Hình 42: Cấu hình QoSdịch vụ P2P

Internet Gateway với Firewall Open Sources

22
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 43: Cấu hình QoS dịch vụGame (layer 7)

Hình 44: Cấu hình QoS dịch vụ mạng khác

Quản trị viên hệ thống cần tinh chỉnh độ ưu tiên các dịch vụ mạng tại phần này nhằm
đảm bảo vẫn có thể kết nối đến các máy chủ trong trường hợp hệ thống mạng xảy ra
độ trễ cao do nhiều người dùng cùng thời điểm.

Internet Gateway với Firewall Open Sources

23
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 45: Giao diện theo dõi lưu lượng và trạng thái QoS tại các interface

2.6. pfSense Squid proxy
Squid là một web proxy có khả năng tích hợp vào hệ thống pfSense bằng chương trình
quản lý gói cài đặt System > Packages, Squid hoạt động như một Web Cache proxy và
có thể trong suốt (Transparent) với người dùng. Squid web Cache proxy sẽ giúp hệ
thống mạng giảm băng thông đến hệ thống mạng WAN trong trường hợp nhiều người
dùng cùng tảimột tập tin hoặc cùng truy cập vào một website. Khi pfSense vận hành
trên nền tảng tích hợp (được cài đặt vào thẻ SD) thì bạn cần thận trọng khi sử dụng
chức năng Web cache do giới hạn về mặt dung lượng lưu trữ.
Người dùng có thể cài đặt gói mở rộng squidGuard phục vụ việc ngăn chặn danh sách
các website có nội dung nhạy cảm.

2.6.1. Squid web cache proxy
Chúng tôi tiến hành cài đặt hai gói Squid và squidGuard tại trình quản lý gói cài đặt
pfSense.

Hình 46: Gói tin Squid và squidGuard đã được cài đặt

Truy cập Service > Proxy server: General Settings

Internet Gateway với Firewall Open Sources

24
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 47: Chỉ định phân vùng mạng Squid thực hiện Cache

Hình 48: Tinh chỉnh dung lượng dữ liệu cho phép cache

Hình 49: Tinh chỉnh dung lượng Cachecho phép

Maximum object size = 1024 x 1024 = 1048576 kB

Internet Gateway với Firewall Open Sources

25
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 50: Bảng thống kê Squid log (package lightsquid)

2.6.2. SquidGuad
SquidGuard là một gói mở rộng cho phép cập nhật danh sách các website có nội dung
nhạy cảm và thực hiện ngăn chặn truy cập những nội dung này. Chúng tôi thực hiện
bật chức năng SquidGuard tại menu Services > Proxy filter

Hình 51: Bật tính năng filter

Internet Gateway với Firewall Open Sources

26
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 52: Bật tính năng ghi log

Hình 53: Cho phép SquidGuard cập nhật các mẫu website từ máy chủ www.shallalist.de

Sau khi Save, chuyển sang thẻ Blacklist thực hiện download và cập nhập các rule.

Hình 54: Tiến trình cập nhật blacklists

Internet Gateway với Firewall Open Sources

27
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
Tại thẻ Common ACL, thực hiện chỉ định các nhóm nội dung web ngăn chặn hoặc
cho phép.

Hình 55: Chỉ định nhóm nội dung cần ngăn chặn

Hình 56: Kết nối đến trang web youporn.com bị ngăn chặn

2.7. VLAN
VLAN thường được sử dụng trong việc phân hoạch kiến trúc mạng nội bộ, kỹ thuật
này cho phép bạn xây dựng nhiều mạng LAN theo sơ đồ luận lý trên cùng một thiết
bị/hạ tầng vật lý. Việc sử dụng VLAN trong môi trường mạng nội bộ giúp giảm thiểu
vùng quảng bá (broadcast domain), đồng thời tạo thuận lợi cho quản trị viên điều hành
hệ thống mạng cục bộ có số lượng máy tính lớn và phân bố trên nhiều vùng địa lý
khác nhau.

2.7.1. Trunking
Trunking được sử dụng tại những phân đoạn mạng yêu cầu truyền tải dữ liệu từ nhiều
VLAN khác nhau trên cùng một cổng vật lý. Các frame dữ liệu khi chuyển ra khỏi
cổng trunk sẽ được thêm một thông tinnhãn 802.1Q trong phần đầu của gói tin, việc
này giúp các VLAN được cấu hình trên nhiều thiết bị phần cứng khác nhau có thể
Internet Gateway với Firewall Open Sources

28
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
giao tiếp với nhau. Cổng trunk thường được cấu hình phục vụ cho việc kết nối nhiều
switch vật lý, hoặc các thiết bị hỗ trợ đánh nhãn 802.1Q có nhu cầu truy cập dữ liệu
đến nhiều VLAN.

2.7.2. VLAN ID
Mỗi VLAN tồn tại một ID với mục đích dịnh danh nguồn gốc dữ liệu khi các gói tin
được vận chuyển qua kênh truyền có đánh nhãn dữ liệu. ID là một số định danh có giá
trị từ 1 đến 4094. Giá trị VLAN mặc định trên switch là VLAN 1 (native vlan), và
VLAN này không được sử dụng trong việc triển khai VLAN trunking, bạn có thể sử
dụng các giá trị VLAN khác cho việc triển khai trunking. Một số trường hợp bạn có
thể sử dụng VLAN 2 và tăng dần giá trị ID cho đến khi phù hợp với nhu cầu phân
hoạch mạng nội bộ của doanh nghiệp. Một cách khác mà các quản trị viên thường sử
dụng để phân hoạch VLAN là dựa vào octet thứ ba của dãy IP sẽ được cấp cho các
máy trạm. Ví dụ, nếu bạn sử dụng dãy IP 192.168.10.0/24, 192.168.20.0/24 và
192.168.30.0/24 thì việc đặt các giá trị VLAN ID có thể sử dụng là VLAN 10, 20, 30.

2.7.3. Double tagging (QinQ)
QinQ được sử dụng trong môi trường mạng có quy mô hạ tầng rất lớn như ISP. QinQ
được pfSense hỗ trợ trừ phiên bản 2.0 trở về sau. Việc sử dụng các cấu hình QinQ trên
pfSene ít được sử dụng trong hầu hết các môi trường mạng phổ biến và cần sự hỗ trợ
của thiết bị phần cứng chuyên dụng. Ta có thể tăng lưu lượngtag lên gấp đôi bằng
cách dùng giao thức 802.1Q hai chiều. Gọi là QinQ. Giải pháp này hiệu quả trong môi
trường lớn như của ISP và các môi trường mạng khác có hệ thống lớn. Ngoài ra, ta
còn có thể gắn tag ba lần. QinQ được hỗ trợ trong pfSense 2.0. Các hệ thống này chủ
yếu cần một loại định tuyến mạnh mà chỉ có các router dựa trên ASIC (ApplicationSpecific Integrated Circuit) hỗ trợ, và QinQ tăng cấp độ phức tạp không cần thiết
trong hầu hết các hệ thống môi trường mạng.

2.8. Cân bằng tải
PfSense hỗ trợ người dùng hai phương pháp cân bằng tải: gateway và server. Cân
bằng tải gateway cho phép hệ thống mạng phân bố lưu lượng dữ liệu trên nhiều kết
nối WAN. Cân bằng tải server cho phép bạn phân bố việc sử tài nguyên từ các máy
chủ nội bộ và bảo đảm tính dư thừa cho hệ thống máy chủ phục vụ. Phương pháp này

Internet Gateway với Firewall Open Sources

29
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
thường được sử dụng trong việc cân bằng tải các dịch vụ web, SMTP, DNS hoặc các
dịch vụ sử dụng giao thức TCP trong việc truyền dữ liệu.
Trong hệ thống mạng vừa và nhỏ, pfSense hỗ trợ khá tốt các vấn đề cân bằng tải cho
hạ tầng mà không cần đầu tư vào các giải pháp thương mại có chi phí cao như BigIP,
Cisco LocalDirector, Citrix NetScaler...Tuy nhiên, pfSense không thể hỗ trợ những
tính năng phức tạp và đòi hỏi hiệu suất cao như các giải pháp cùng chức năng khác.
Nếu doanh nghiệp cần giải quyết vấn đề cân bằng tải và cân đối chi phí hợp lý, chúng
tôi khuyến cáo bạn nên sử dụng kết hợp pfSense và một hoặc nhiều giải pháp nguồn
mở khác (nginx reverse proxy, LBS, HAproxy...) trong vùng DMZ để có kết quả tốt
nhất.
Dịch vụ chính chịu trách nhiệm cho quá trình cân bằng tải là relayd, đây là dịch vụ
được tác giả tích hợp từ phiên bản 1.2.x và vẫn hoạt động khá tốt trong nhiều trường
hợp triển khai hiện nay. HAProxy và Varnish là những plugin được cung cấp từ nhà
phát triển thứ ba mà bạn có thể cài đặt với mục đích cải thiện chất lượng của máy chủ
pfSense.

2.8.1. Cân bằng tải multi-WAN

Hình 57: Sơ đồ mạng có 2 kết nối WAN

Vùng mạng

IP/SUBNET

VMware NIC
VmNet0 (Auto
bridging)

WAN 1

192.168.0.0/24

WAN 2

192.168.116.0/24

VmNet8 (NAT)

Internal
(LAN)

10.0.0.0/24

VmNet1 (Host-only) Phân vùng mạng nội bộ.

Internet Gateway với Firewall Open Sources

Mô tả
Phân vùng mạng kết nối
Internet (ISP 1)
Phân vùng mạng kết nối
Internet (ISP 2)

30
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
Việc kết hợp nhiều đường truyền WAN là một giải pháp thường được dùng trong các
môi trường mạng doanh nghiệp vừa và nhỏ nhằm bảo đảm tính sẵn sàng cho doanh
nghiệp đồng thời có thể tăng băng thông kết nối Internet.
Để thực hiện phần cấu hình này, truy cập System> Routing > chọn thẻ Gateways.
Trong phần này pfSense đã tự động tạo các Gateway mặc định cho hệ thống, tacó thể
tùy chỉnh lại các gateway này cho phù hợp với hệ thống mà tađang quản lý.

Chuyển sang thẻ Groups để tạo nhóm các Gateways.

Hình 58: Cấu hình nhóm các gateway

Hình 59: Nhóm các gateway thực hiện cân bằng tải

Tại mục Gateway Priority, chúng tôi chọn Tier 1 cho cả gateway WAN 1 và WAN 2.

Internet Gateway với Firewall Open Sources

31
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
Chú ý: vì trong ví dụ này, chúng tôi thực hiện cấu hình cân bằng tải bằng cách kết hợp
nhiều đường truyền WAN nên Priority cho các gateway được ưu tiên bằng nhau.
Trong trường hợp bạn cần thiết lập Multi WAN Failover thì chỉ cần thay đổi giá trị
Tier có độ ưu tiên khác nhau.
Cuối cùng, để bảo đảm tất cả các kết nối từ mạng LAN sẽ được định tuyến qua nhóm
các gateway mà ta đã tạo, thực hiện truy cập tường lửa > Rules > chọn thẻ LAN và
chỉnh sửa tường lửa rule kết nối Internet.

Hình 60: Rule cần tinh chỉnh

Hình 61: Chỉ định nhóm các gateway đã được tạo

Thực hiện kiểm tra trong trường hợp 2 card WAN online và trường hợp 1 card WAN
offline.

Hình 62: Đường truyền khi 2 card WAN online

Internet Gateway với Firewall Open Sources

32
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 63: Đường truyền khi 1 card WAN offline

Hình 64: Giao diện theo dõi trạng thái Gateway

2.8.2. Cân bằng tải máy chủ
Trong phần này, chúng tôi sẽ thực hiện cấu hình cân bằng tải cho hệ thống web nằm
trong vùng DMZ như sơ đồ sau:

Hình 65: Cân bằng tải máy chủ web

Internet Gateway với Firewall Open Sources

33
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
Vùng mạng

IP/SUBNET

VMware NIC

Mô tả

172.16.10.250/24 VmNet8 (Host-only)
172.16.10.20/24

VmNet8 (Host-only)

Máy chủ web Apache 1

172.16.10.21/24

DMZ

pfSense DMZ gateway

VmNet8 (Host-only)

Máy chủ web Apache 2

Trước tiên, truy cập Services > Load balancer > chọn thẻ Monitors và thêm một cấu
hình như hình sau:

Hình 66: Cấu hình Monitor

Tại mục Host/Hostname cần chỉ định 1 IP hoặc tên máy chủ web tại vùng DMZ, chọn
máy chủ web có IP 172.16.10.20.
Chuyển sang thẻ Pools, cấu hình danh sách các máy chủ web phục vụ cân bằng tải.

Hình 67: Mô tả poolphục vụ cân bằng tải

Internet Gateway với Firewall Open Sources

34
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 68: Danh mục các máy chủ tham gia phục vụ cân bằng tải

Sau khi danh mục các máy chủ web tại vùng DMZ đã được thêm vào tại mục
Members, thực hiện tạo một Virtual Server (Services > Load Balancer > Virtual
Server). Tại mục cấu hình IP Address tacần chỉ định địa chỉ IP/Alias tại card WAN.

Internet Gateway với Firewall Open Sources

35
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
Để bảo đảm các kết nối từ Internet có thể truy cập website, chúng tôi thực hiện tạo
một rule trong tường lửa cho phép kết nối từ WAN đến Alias định nghĩa các máy chủ
web.

Hình 69: Tạo alias danh sách các máy chủ web

Hình 70: Danh mục máy chủ web

Hình 71: Tạo tường lửa rule cho phép kết nối đến hệ thống web

Thực hiện kiểm tra bằng cách truy cập vào WAN IP.

Hình 72: pfSense thực hiện chuyển hướng người dùng vào các máy chủ web

Internet Gateway với Firewall Open Sources

36
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

2.9. Redundancy vàFailover: CARP vàpfsync
2.9.1. Tổng quan CARP
CARP (Common Address Redundancy Protocol) được viết ra bởi các nhà phát triển
OpenBSD như một giải pháp dự phòng mã nguồn mở và miễn phí để chia sẻ địa chỉ IP
giữa một nhóm các thiết bị mạng. Các giải pháp tương tự đã tồn tại, khởi đầu là IETF
cho Virtual Router Redundancy Protocol (VRRP). Tuy nhiên, VRRP đã được đăng ký
bản quyền bởi Cisco. Do đó, các nhà phát triển OpenBSD tạo ra một giao thức mã
nguồn mở và miễn phí mới có thể đạt được hiệu quả tương tự mà không vi phạm bằng
sáng chế. CARP chính thức ra mắt vào tháng 10 năm 2003 bởi OpenBSD, và sau đó
được bổ sung vào FreeBSD.
Mỗi tường lửa pfSense trong một nhóm CARP có địa chỉ IP riêng được đặt trên mỗi
cổng, và nhóm các IP CARP được chia sẻ. Các địa chỉ IP CARP chỉ hoạt động khi
firewall hiện tại đang là master.
CARP gửi các gói tin đến các node khác, mỗi gói đến các địa chỉ IP ảo trên các
interfacetrong mỗi giây hoặc lâu hơn. Các thông tin được gửi bằng multicast và switch
sẽ chuyển tiếp đến các thiết bị khác trong mạng. CARP cũng quan sát các interfacecó
CARP IP đang hoạt động để theo dõi các gói tin CARP. Nếu một gói tin không
chuyển nhanh như mong đợi, nó sẽ giả định rằng hệ thống gặp vấn đề, và một node có
chỉ số ưu tiên thấp sẽ được chuyển thành master. Chúng ta cấu hình hệ thống CARP
như khi có vấn đề xảy ra thì thiết bị tường lửa được chỉ định kế đó sẽ lên nắm quyền
quản lý các interface.
Khi mất tín hiệu từ một máy master (không nhận được tín hiệu heartbeat) trên một
interface, hoặc các gói tin đến chậm (đánh giá theo mức chậm hơn so với node thứ
cấp), lập tức hệ thống sẽ giả định có vấn đề xảy ra. Các gói tin, thông tin của kết nối
giao thức CARP có thể không truyền lẫn nhau do nguyên nhân gây ra bởi một số vấn
đề ở lớp 2 như: các switch chặn multicast, xử lý kém, hoặc không cung cấp các gói tin
tín hiệu (heartbeat) giữa các node, dẫn đến trường hợp tất cả các node "nghĩ" rằng
chúng đều là master cho một số IP ảo nhất định.
Lưu ý: Vì mỗi thành viên thuộc nhóm CARP phải có một địa chỉ IP trong một subnet,
thêm với địa chỉ IP CARP, nên cần ít nhất ba địa chỉ IP có sẵn cho mỗi card mạng và
một IP ảo. Điều này cũng áp dụng cho cổng WAN của bạn để chắc chắn rằng bạn có ít
Internet Gateway với Firewall Open Sources

37
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
nhất ba địa chỉ IP định tuyến có sẵn từ ISP. Khối bảng định tuyến nhỏ nhất sẽ có 3 địa
chỉ IP là một mạng con /29, tương đương với 8 địa chỉ IP (6IP có thể sử dụng).

2.9.2. Tổng quan psync
pfsync sẽ đồng bộ hóa từ tường lửa chính đến tường lửa thứ cấp. Thay đổi trên bảng
trạng thái của máy chính sẽ được gửi đến các máy thứ cấp, và ngược lại. Phương thức
này mặc định dùng multicast, thông qua địa chỉ IP định nghĩa trên cổng pfSense sử
dụng unicast để cập nhập trong môi trường chỉ có 2 tường lửa, nơi multicast hoạt động
không chính xác (do một số thiết bị chuyển mạch sẽ chặn multicast). Ta có thể sử
dụng bất kỳ cổng nào đang mở để gửi cập nhập pfsync, tuy nhiên khuyến cáo nên sử
dụng một cổng riêng để tăng độ an toàn và hiệu suất hoạt động. pfsync không hỗ trợ
bất kỳ cơ chế chứng thực nào nên nếu có khả năng, bất cứ người dùng nào bên trong
mạng nội bộ đều có thể thay đổi trạng thái đến tường lửa l thứ cấp. Trong môi trường
mạng nhỏ ta có thể tận dụng cổng LAN cho giải pháp này. Để đồng bộ hóa sẽ tốn rất
nhiều băng thông, có thể chiếm đến 10% lưu lượngmạng đi qua tường lửa tùy theo sự
thay đổi trong mạng.
Lợi ích của pfsync là vẫn có thể duy trì hệ thống khi xảy ra sự cố. Trong một số mô
hình mạng, sẽ khó có thể nhận ra sự khác biệt giữa failing over statefully và losing
state during failover. Trong một vùng mạng khác, nó có thể gây ra ảnh hưởng nghiêm
trọng khiến mạng quá tải.
Cấu hình pfsync phải được kích hoạt trên tất cả các node tham gia đồng bộ, bao gồm
cả các node con.

2.9.3. Tổng quan đồng bộ XML-RPC của pfSense
Đồng bộ hóa cấu hình pfSense cho phép bạn thực hiện hầu hết các thay đổi cấu hình
chỉ trên các tường lửa chính, sau đó sao chép những thay đổi về phía tường lửa thứ
cấp. Các phần được hỗ trợ gồm danh sách người dùng và các nhóm, các máy chủ xác
thực, chứng chỉ, các rule của tường lửa, lập lịch, alias, NAT, IPSec, OpenVPN,
DHCP, Wake on LAN, các cấu hình định tuyến và gateway, cân bằng tải, IP ảo, quản
lý lưu lượng (hàng đợi, giới hạn, và các ứng dụng lớp 7), DNS forwarder, và captive
portal. Các thiết lập khác phải được cấu hình riêng trên các tường lửa thứ cấp khi cần
thiết, mặc dù sự đồng bộ đã bao gồm hầu hết các công việc nếu các dữ liệu trong hệ

Internet Gateway với Firewall Open Sources

38
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
thống không thường xuyên thay đổi. Đồng bộ hóa cấu hình nên sử dụng cùng một
cổng chạy pfsync.
Các thiết lập XML-RPC chỉ nên được kích hoạt trên node chính, tất cả các node khác
nên bị vô hiệu hóa những thiết lập này.

2.9.4. Triển khai mô hình cơ bản

Hình 73: Sơ đồ triển khai CARP

Cấu hình máy chủ pfSense chính (primary)
Cấu hình Vitural IP, CARP
Tại máy chủ pfSense chính (IP: 192.168.0.151), chúng tôi thực hiện tạo hai IP ảo
(VIP), một VIP dành cho kết nối WAN và một VIP dùng trong môi trường mạng
LAN. Tại menu Firewall > Virtual IP, thực hiện thêm VIP với các thông tin ứng với
sơ đồ mạng.

Internet Gateway với Firewall Open Sources

39
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 74: Cấu hình Virtual IP cho kết nối WAN

Bằng cách tương tự, tạo một VIP cho kết nối mạng LAN, kết quả sau khi tạo VIP trên
máy chủ pfSense chính sẽ như hình dưới.

Hình 75: VirtualIP được cấu hình tại máy chủ pfSense chính

Để đảm bảo các kết nối từ mạng LAN có thể thông suốt đến mạng Internet, thực hiện
cấu hình Outbound NAT từ vùng mạng 10.0.10.0/24 đi qua WAN VIP.

Hình 76: Cấu hình Outbound NAT

Cấu hình pfsync
Pfsync được thực hiện cấu hình trên trên card mạng còn lại của máy chủ pfSense, thao
tác tại menuSystem > High Availability Sync, ta cần bảo đảm thông tin IP được thiết
lập pfsync là địa chỉ IP của máy pfSense phụ, trong trường hợp này là 172.16.1.3.

Internet Gateway với Firewall Open Sources

40
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 77: Địa chỉ IP máy chủ pfSense phụ được cấu hình

Cấu hình máy chủ pfSense phụ (secondary)
Phần cấu hình cho máy chủ pfSense phụ tương tự như máy chủ pfSense chính. Tại
mục cấu hình pfsync cho máy pfSense phụ, tacần chỉ định IP của máy pfSense chính
để chắc chắn rằng hai máy tính có thể thực hiện việc theo dõi trạng thái lẫn nhau nhằm
bảo đảm tính sẵn sàng cho hệ thống mạng.
Sau khi hai máy pfSense được cấu hình hoàn chỉnh, chúng tôi thực hiện theo dõi trạng
thái CARP tại menu Status.

Internet Gateway với Firewall Open Sources

41
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 78: Trạng thái CARP trên cả hai máy pfSense

Để kiểm tra tính sẵn sàng của hệ thống mà chúng tôi vừa thiết lập, từ một máy tính
trong mạng nội bộ, chúng tôi thực hiện ping đến một WAN IP đồng thời tắt một máy
pfSense để kiểm tra tính thông suốt của luồng dữ liệu.

Hình 79: Kết nối mạng bảo đảm tính thông suốt trong trường hợpmáy pfSense chính khởi
động lại

Internet Gateway với Firewall Open Sources

42
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

2.9.5. Triển khai mô hình multiWAN

Hình 80: Sơ đồ hệ thống CARP multiWAN

Danh mục IP WAN1
IP

MÔ TẢ

VMNET

192.168.0.151

Primary WAN1

Bridged

192.168.0.152

Secondary WAN1

Bridged

192.168.0.160

Shared CARP IP dùng cho Outbound NAT

192.168.0.161 Shared CARP IP dùng cho 1:1 NAT
Danh mục IP WAN2
IP

MÔ TẢ

VMNET

192.168.10.151

Primary WAN1

Vmnet 8 (NAT)

192.168.10.152

Secondary WAN1

Vmnet 8 (NAT)

192.168.10.160

Shared CARP IP dùng cho Outbound NAT

192.168.10.161

Shared CARP IP dùng cho 1:1 NAT

Internet Gateway với Firewall Open Sources

43
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
Danh mục IP pfsync
IP

MÔ TẢ

VMNET

172.16.10.2

Primary firewall LAN IP

Vmnet1 (host only)

192.168.10.152 Secondary firewall LAN IP
Danh mục IP LAN
IP

MÔ TẢ

10.0.10.1

CARP shared LAN IP

10.0.10.2

Primary firewall LAN IP

Vmnet1 (host only)

10.0.10.3 Secondary firewall LAN IP
Danh mục IP DMZ
IP

MÔ TẢ

10.0.30.1

Primary firewall DMZ IP

Vmnet2 (host only)
Vmnet2 (host only)

CARP shared DMZ IP

10.0.30.2

VMNET

VMNET

Vmnet3 (host only)

10.0.30.3 Secondary firewall DMZ IP Vmnet3 (host only)
Tại máy chủ pfSense chính và phụ, chúng tôi thực hiện tạo danh sách Virtual IP ứng
với sơ đồ mạng như hình dưới.

Hình 81: Danh sách VirtualIP tại máy chủ pfSense chính

Internet Gateway với Firewall Open Sources

44
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 82: Danh sách VirtualIP tại máy chủ pfSense phụ

Sau khi danh sách các VIP được thiết lập phù hợp với sơ đồ, ta cần bảo đảm chức
năng pfsync cũng được cấu hình chính xác trên cả hai máy chủ pfSense. Để thực hiện
thông suốt luồng dữ liệu từ máy tính trong mạng nội bộ có thể truy cập Internet, chúng
tôi thực hiện cấu hình Outbound NAT trên cả hai WAN1/WAN2 VIP (cấu hình trên
cả hai máy pfSense).

Hình 83: Cấu hình Outbound NAT

Thực hiện kiểm tra kết nối từ một máy tính trong mạng LAN, đồng thời ngắt kết nối
một máy chủ pfSense để kiểm tra tính sẵn sàng của hệ thống.

Hình 84: Trạng thái hệ thống Failover

Internet Gateway với Firewall Open Sources

45
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 85: Đường truyền chính được sử dụng khi hệ thống ổn định

Hình 86: Đường truyền dự phòng được sử dụng khi đường chính bị gián đoạn

2.10. VPN
Mạng riêng ảo (VPN) là một nền tảng cho phép người dùng kết nối an toàn đến một
hệ thống mạng máy tính từ xa, người dùng đóng vai trò như một đối tượng trong môi
trường mạng nội bộ. Một kết nối VPN được thiết lập thành công sẽ bảo đảm tính an
toàn cho dữ liệu được truyền đi trên truyền không bảo mật. Việc triển khai VPN trên
mã nguồn mở pfSense giúp doanh nghiệp giảm thiểu chi phí đầu tư vào các thiết bị
phần cứng từ các hãng nổi tiếng như Cisco, Fortinet... mà vẫn đảm bảo được các yêu
cầu về bảo mật cho các kết nối từ xa. pfSense hỗ trợ người dùng bốn loại VPN bao
gồm: IPSec, L2TP, PPTP và OpenVPN.
IPSec ngày nay được sử dụng rộng rãi song song với L2TP và PPTP. Việc triển khai
IPSec được xem là phức tạp hơn so với các loại còn lại, tuy nhiên đây là giải pháp
được khuyến cáo sử dụng trong hầu hết các giải pháp triển khai VPN do tính tương
thích cao trong những môi trường mạng sử dụng nhiều nền tảng phần cứng/phần mềm
khác nhau.
OpenVPN là lựa chọn khác cho người sử dụng pfSense. Hoạt động dựa trên cơ chế
SSL/TLS, OpenVPN có độ bảo mật, ổn định cao và dễ triển khai hơn so với IPSec.

Internet Gateway với Firewall Open Sources

46
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

2.10.1.

IPSEC

Quá trình đàm phán tạo kết nối VPN bằng IPSec trải qua hai bước (pha) chính:
Pha 1:Thiết bị đầu cuối thực hiện thiết lập một kênh truyền bảo mật bằng cách sử
dụng ISAKMP (Internet Security Association and Key Management Protocol) trao đổi
SA (Security Association) và các khóa (key) bao gồm: các thuật toán mã hóa, hàm
băm, các phương pháp bảo vệ mã khóa. Quá trình đàm phán tại pha này có thể thực
hiện qua hai cách: main mode và aggressive mode.
Main mode
Main mode thực hiện xác nhận và bảo đảm tính toàn vẹn của dữ liệu trong quá trình
truyền tải dữ liệu, có 6 thông điệp được trao đổi trong chế độ này:
Hai thông điệp đầu sử dụng đàm phán thuật toán mã hóa và thuật toán băm. Ví
dụ: 3DES, MD5 hoặc RSA.
Hai thông điệp tiếp theo đùng trao dổi khóa DH và nounce (độ dài khóa thường
được sử dụng là 1024 bit)
Hai thông điệp cuối đàm phán các chữ ký (signature), ID và chứng thư số.

Hình 87: ISAKMP Main mode

Aggressive mode
Phương thức này tương tự như main mode, tuy nhiên toàn bộ tiến trình đàm phán chỉ
sử dụng 3 gói tin.
Đàm phán chính sách bảo mật (SA), ID, nonce và khóa bảo mật dữ liệu.
Phản hồi các thông tin chấp nhận tại bước đầu tiên.
Khởi tạo chữ ký số, hàm băm và ID.

Hình 88: ISAKMP Aggressive mode

Internet Gateway với Firewall Open Sources

47
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
Aggressive mode được đánh giá là nhanh hơn so với main mode, tuy nhiên mức độ
bảo mật trong pha 1 sẽ giảm đi khi sử dụng aggressive mode trong đàm phán các
chính sách bảo mật cho kênh truyền VPN.
Kết quả tại pha 1 là các đối tượng hoàn thành việc tạo SA cho ISAKMP.
Pha 2: Sau khi tạo SA thành công cho ISAKMP tại pha 1, giai đoạn 2 tiếp tục quá
trình tạo SA cho IPSec. Trong pha này các cơ chế xác thực, hàm băm và thuật toán mã
hóa bảo vệ dữ liệu IPSec sẽ được trao đổi. Sau khi pha 2 thực hiện thành công, tiến
trình truyền dữ liệu sẽ được bắt đầu thông qua IPSec VPN.
Triển khai
Tại mục này, chúng tôi thực hiện triển khai VPN thông qua cơ chế IPSec. Thực hiện
tạo một đường truyền mới bằng cách truy cập menu VPN > IPSec.

Hình 89:Cấu hình tham số Remote gateway và Pre-shared key

Internet Gateway với Firewall Open Sources

48
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 90:Các tùy chọn nâng cao khác

Hình 91: Kênh truyền VPN sau khi tạo thành công

Bước tiếp theo, thực hiện tạo một firewall rule cho phép kết nối từ hệ thống mạng bên
ngoài truy cập vào mạng nội bộ thông qua IPSec.

Hình 92: Rule cho phép kết nối đến LAN thông qua IPSec

2.10.2.

L2TP

Toàn bộ gói L2TP, bao gồm cả payload và L2TP header, được gửi trong một gói tin
UDP. Người ta thường dùng đường hầm L2TP để mang các session PPP. L2TP không
cung cấp cơ chế bảo mật và chứng thực mạnh mẽ. Do đó, IPsec thường được sử dụng
để bảo đảm an toàn cho các gói tin L2TP bằng cách cung cấp cơ chế bảo mật, xác
thực và toàn vẹn. Sự kết hợp của hai giao thức này thường được gọi là L2TP/IPsec.
Hai điểm đầu cuối của một đường hầm L2TP được gọi là LAC (L2TP Access
Concentrator) và LNS (L2TP Network Server). LAC khởi tạo kết nối VPN trong khi
LNS là máy chủ chờ đợi cho kết nối mới. Khi một kết nối VPN được thiết lập, luồng

Internet Gateway với Firewall Open Sources

49
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
kết nối giữa các client là hai chiều. Để hệ thống mạng chạy tốt hơn, các giao thức cấp
cao hơn sau đó đều đi qua đường hầm L2TP. Để tạo điều kiện này, một phiên L2TP
được gọi trong đường hầm cho mỗi giao thức cấp cao hơn như PPP. Hoặc là LAC,
hoặc là LNS đều có thể khởi tạo các session. Lưu lượng truy cập cho mỗi phiên đang
bị cô lập bởi L2TP, vì vậy ta có thể thiết lập nhiều mạng ảo trên một đường hầm duy
nhất. MTU nên được quan tâm khi thực hiện L2TP.
Các gói tin trao đổi trong một đường hầm L2TP được phân loại thành các gói điều
khiển hoặc các gói dữ liệu. L2TP cung cấp tính năng độ tin cậy cho các gói điều
khiển, nhưng không có độ tin cậy cho các gói dữ liệu. Độ tin cậy, nếu muốn, phải
được cung cấp bởi các giao thức lồng nhau chạy trong mỗi session của đường hầm
L2TP.
L2TP cho phép tạo ra một mạng lưới quay số riêng ảo (VPDN) để kết nối một khách
hàng từ xa vào mạng công ty bằng cách sử dụng một cơ sở hạ tầng được chia sẻ, có
thể là Internet hoặc một nhà cung cấp dịch vụ mạng.

2.10.3.

PPTP

Point-to-Point Tunneling Protocol (PPTP) là một phương pháp để tạo ra các mạng
riêng ảo. PPTP sử dụng một kênh điều khiển qua giao thức TCP và đường hầm GRE
để đóng gói các gói tin PPP.
pfSense có thể đóng vai trò như một máy chủ PPTP VPN trong danh mục các loại
VPN được hỗ trợ, PPTP VPN phù hợp với các hạ tầng mạng đã được xây dựng từ
trước tồn tại các máy khách sử dụng Windows hoặc OS X. Hơn nữa, pfSense có thể
quản lý các luồng dữ liệu đi vào một máy chủ PPTP VPN trong mạng nội bộ. Mặc dù
tính phổ dụng của PPTP VPN được biết đến trong nhiều năm trước đây, nhưng các
chính sách bảo mật ngày nay không khuyến cáo bạn sử dụng kiến trúc VPN này vì lý
do bảo mật. PPTP hoạt động dựa trên MS-CHAPv2, một giao thức xác thực đã được
các chuyên gia bảo mật công bố là có thể bị giải mã 100% bằng cách sử dụng các
công cụ của một hãng phần mềm thứ ba. Những giải pháp VPN có tính bảo mật cao
hơn như OpenVPN, IPSec được các chuyên gia khuyến cáo sử dụng nhằm thay thế
những kỹ thuật không còn bảo đảm tính an toàn cho hệ thống mạng của bạn.

Internet Gateway với Firewall Open Sources

50
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
Do cơ chế xử lý gói tin GRE của pfSense chỉ có thể hoạt động trên một đường truyền
WAN tại một thời điểm, nên đối với hạ tầng có sử dụng nhiều kết nối WAN thì
pfSense không thể sử dụng chế độ cân bằng tải cho kết nối VPN.

2.10.4.

OpenVPN

OpenVPN là một giải pháp VPN nguồn mở dựa trên nền tảng SSL/TLS VPNtương
thích với nhiều kiến trúc hệ điều hành khác nhau bao gồm BSD, Linux, MacOS,
Solaris và Windows. OpenVPN cho phép sử dụng nhiều phương pháp chứng thực
khác nhau như: X.509 (SSL/TLS, PKI), chứng thực bằng pfSense user, LDAP và
RADIUS. Một số điểm mạnh khi triển khai OpenVPN như:
Hoạt động tại lớp 2 và lớp 3 trong mô hình OSI có thể vận chuyển dữ liệu
Ethernet frame (lớp 2), IPX packet (lớp 3) và cả NETBIOS (Windows Network
Browsing packets) giúp giải quyết được vấn đề thường gặp trong các giải pháp
VPN khác.
Kết nối sử dụng OpenVPN có thể tương thích tốt với hầu hết các thiết bị tường
lửa, proxy. Nếu bạn có thể kết nối đến các máy tính từ xa thông qua giao thức
HTTPS thì bạn cũng có thể sử dụng OpenVPN để thiết lập đường truyền VPN.
Có thể hoạt động với giao thức UDP hoặc TCP.
Hiệu suất sử dụng cao: OpenVPN hỗ trợ nén các dữ liệu tại phía đầu cuối trước
khi truyền đi qua môi trường mạng (sử dụng thư viện LZO).
Hỗ trợ cài đặt trên nhiều nền tảng khác nhau: việc triển khai OpenVPN tại phía
server lẫn phía người dùng đều khá dễ dàng so với IPSec. OpenWrt/FreeWrt là
những hệ điều hành được tích hợp trên thiết bị phần cứng cũng hoạt động khá
ổn định khi sử dụng OpenVPN.
Triển khai
Trong ví dụ tiếp theo, chúng tôi thực hiện phương pháp chứng thực kết hợp X.509 và
pfSense user.
Trước tiên, thực hiện tạo một CA bằng cách truy cập menu System > Cert manager

Internet Gateway với Firewall Open Sources

51
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 93: Thông tin VPN Server CA trong System: Certificate Authority Manager

Tiếp theo, tại menu System > User manager, tạo một user mới với thông tin như hình
dưới:

Hình 94: Thông tin User/Password kết nối VPN trong User Manager

Internet Gateway với Firewall Open Sources

52
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
Bước tiếp theo, thực hiện cấu hình OpenVPN Server, truy cập menu VPN >
OpenVPN > chọn thẻ Wizards

Hình 95: Chọn phương pháp xác thực

Hình 96: Chỉ định CA

Hình 97: Chỉ định Certificate

Hình 98: Cấu hình tham số OpenVPN server

Hình 99: Thiết lập thông số tunnel

Internet Gateway với Firewall Open Sources

53
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com
Tunnel network: dãy IP được dùng cấp cho người dùng khi kết nối thông qua VPN,
cần bảo đảm rằng dãy IP không trùng với các dãy IP khác đã sử dụng trong hệ thống
mạng.
Local network: dãy IP nội bộ cho phép kết nối từ xa, phần này thường được chỉ định
dãy IP mạng LAN.

Hình 100: Cấu hình tường lửa rule

Thực hiện chọn tường lửa rule và OpenVPN rule thông báo pfSense tự động tạo rule
cho phép kết nối OpenVPN.

Hình 101: Thông tin OpenVPN server

2.10.5.

Trích xuất cấu hình OpenVPN client

pfSense cung cấp cho người dùng một tiện ích cho phép trích xuất cấu hình đăng nhập
OpenVPN nhanh chóng. Tại menu System > Packages > cài đặt tiện ích OpenVPN
Client Export Utility

Hình 102: Cài đặt tiện ích OpenVPN Client Export Utility

Internet Gateway với Firewall Open Sources

54
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 103: Quá trình cài đặt OpenVPN Client Export Utility

Để trích xuất cấu hình cho người dùng, truy cập menu VPN > OpenVNP > chọn thẻ
Client export, chọn thông tin cấu hình người dùng tamqm phù hợp với phiên bản máy
khách kết nối. Chúng tôi chọn cấu hình Windows Installer 2.3-x86 do máy tính được
sử dụng để kết nối là Windows 7 Professional – 32bits, tập tin tải về có dạng pfSenseudp-1194-tamqm-install.exe.

Hình 104: Chọn phiên bản cấu hình thích hợp với máy khách

Thực hiện kết nối VPN tại máy khách.
Yêu cầu:
Máy người dùng đã cài phiên bản OpenVPN Client phù hợp, trong ví dụ này
chúng tôi đã cài đặt OpenVPN 2.3.2 (http://openvpn.net/index.php/opensource/downloads.html).
Cài đặt tập tin cấu hình đã được cung cấp pfSense-udp-1194-tamqm-install.exe

Internet Gateway với Firewall Open Sources

55
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 105: Thông tin quá trình kết nối

Hình 106: Quá trình kết nối thành công

Hình 107: Địa chỉ IP cấp từ pfSense

Bằng phương pháp tương tự, người dùng có thể cấu hình sử OpenVPN cho các thiết bị
di động như máy tính bảng, điện thoại thông minh.

Hình 108: Sử dụng OpenVPN trên thiết bị di động (Android)

Internet Gateway với Firewall Open Sources

56
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 109: Nhật ký kết nối OpenVPN tại pfSense

2.11. Captive portal
Captive portal là một trang web hiển thị tại trình duyệt người dùng trước khi kết nối
đến một phân vùng mạng đã được chỉ định, đây là một tính năng khá mạnh mẽ giúp
quản lý việc truy cập của người dùng. pfSense hỗ trợ 2 phương pháp chứng thực
người dùng bao gồm: pfSense user và chứng thực thông qua Radius server. Trong
trường hợp hệ thống mạng cần cung cấp dịch vụ truy cập có tính phí, pfSense cung
cấp giải pháp sinh mã voucher nhằm tạo những ưu đãi cho người dùng.
Ví dụ, hệ thống mạng tại trường Đại học Hoa Sen yêu cầu sinh viên phải đăng nhập
tài khoản email/password trước khi truy cập internet. Thực hiện truy cập menu Service
> Captive Portal > tạo một Zone mới.

Hình 110: Chỉ định vùng mạng cần thông báo chứng thực

Hình 111: Chỉ định URL sẽ được chuyển hướng sau khi đăng nhập thành công

Internet Gateway với Firewall Open Sources

57
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 112: Giới hạn băng thông Download/upload cho từng người dùng

Hình 113: Chọn phương thức chứng thực

Hình 114: Upload mã HTML hiển thị tại người dùng

Mã HTML tham khảo như bảng dưới:
<!-- captiveprotal.html -->
<html><head>
<title>Welcome to Hoa Sen University | Hoa Sen
University</title>
<linkrel="shortcut
icon"href="http://hoasen.edu.vn/misc/favicon.ico"/>
<metahttp-equiv="Content-Type"content="text/html;
charset=utf-8"/>
</head>
<bodyBGCOLOR="224999"TEXT="FFFFFF"><center>
<h1><br/>CHÀO MỪNG BẠN ĐÃ KẾT NỐI ĐẾN <br/>HỆ THỐNG MÁY TÍNH
ĐẠI HỌC HOA SEN</h1>
<h2>VUI LÒNG NHẬP TÀI KHOẢN VÀ MẬT KHẨU ĐĂNG NHẬP</h2>
<imgsrc="captiveportal-logo.jpg"width="200"></img>
<formmethod="post"action="$PORTAL_ACTION$">
<p>Tài khoản:<inputname="auth_user"type="text"></p>
<p>Mật khẩu:<inputname="auth_pass"type="password"></p>
<inputname="redirurl"type="hidden"value="$PORTAL_REDIRURL$">
<inputname="accept"type="submit"value="Đăng nhập">
</form>
</center>
</body></html>

Sau khi Save, thực hiện truy cập web từ một máy tính trong mạng LAN.
Internet Gateway với Firewall Open Sources

58
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 115: Giao diện yêu cầu đăng nhập tại người dùng

Hình 116: Giao diện theo dõi trạng thái đăng nhập của người dùng, Status > Captive portal

2.12. Logging, monitoring, và statistics
Theo cấu hình mặc định, pfSense thực hiện ghi log với số lượng bản ghi giới hạn
nhằm giúp quản trị viên theo dõi trạng thái hiện tại của hệ thống tại thời điểm hiện tại.
Trong trường hợp doanh nghiệp cần thực hiện ghi log trong thời gian dài và cần thu
thập nhiều thông tin hơn, thì giải pháp được khuyến cáo sử dụng là “Remote syslog”
nhằm tăng dung lượng lưu trữ log đến một hệ thống bên ngoài.
Để thực hiện theo dõi trạng thái của máy chủ pfSense, quản trị viên có thể thực hiện
bằng 2 cách:
Cách 1: Truy cập bằng giao diện web Status > System logs > Chọn tab tương
ứng cần theo dõi như hình bên dưới:

Internet Gateway với Firewall Open Sources

59
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 117: Theo dõi DHCP log bằng giao diện web

Hình 118: tường lửa > Summary view

Cách 2:theo dõi bằng Secure Shell, các tập tin log được lưu trữ tại đường dẫn
/var/log/.

Hình 119: Theo dõi DHCP log bằng Secure Shell

Internet Gateway với Firewall Open Sources

60
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

2.12.1.

Remote syslog

Để đảm bảo tính sẵn sàng khi có nhu cầu theo dõi các sự kiện được ghi log trong thời
gian dài, phương pháp Remote syslog là giải pháp tối ưu để phục vụ mục đích này.
Để thực hiện phân tích log từ xa, bạn cần một chương trình syslog server để tiếp nhận
các dữ kiện từ pfSense gởi đến. Trong phần này, chúng tôi sử dụng máy chủ Splunk
hoạt động tại địa chỉ 10.0.0.32 có nhiệm vụ nhận các bản ghi log được gởi từ pfSense.

Hình 120: Cấu hình Splunk nhận các bản ghi log thông qua giao thức UDP

Tại giao diện web pfSense Status > System logs > chọn thẻ Settings và cấu hình IP
máy chủ Syslog Server, chọn các danh mục dịch vụ cần theo dõi.

Hình 121: Giao diện cấu hình Remote Syslog

Internet Gateway với Firewall Open Sources

61
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 122: Biểu đồ phân tích Syslog

2.12.2.

Đồthị RRD

Đồ thị RRD (Round-Robin Database) là một tiện ích hỗ trợ người dùng theo dõi lịch
sử hoạt động của hệ thống theo đồ thị, bao gồm: System (trạng thái máy chủ pfSense),
Traffic (lưu lượng qua các card mạng, IPSec và Outbound), Packets, Quality…

Hình 123: Biểu đồ trạng thái máy chủ pfSense

Internet Gateway với Firewall Open Sources

62
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

Hình 124: Biểu đồ lưu lượng dữ liệu tại card WAN

Internet Gateway với Firewall Open Sources

63
Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com

CHƢƠNG 3. TÀI LIỆU THAM KHẢO
[1]

Buechler, Christopher M., and Jim Pingle. PfSense: The Definitive Guide: The

Definitive Guide to the PfSense Open Source Firewall and Router Distribution. [s.l.]:
Reed Media Services, 2009. Web.
[2]

Williamson, Matt. PfSense 2 Cookbook a Practical, Example-driven Guide to

Configure Even the Most Advanced Features of PfSense 2. Birmingham, U.K.: Packt
Open Source, 2011. Web.
[3]

Hansteen, Peter N. M. The Book of PF: A No-nonsense Guide to the OpenBSD

Firewall. San Francisco: No Starch, 2011. Web.
[4]

Feilner, Markus, and Norbert Graf. Beginning Open VPN 2.0.9: Build and

Integrate Virtual Private Networks Using OpenVPN. Birmingham: Packt, 2009. Web.
[5]

Hélder Pereira, André Ribeiro, Paulo Carvalho, "L7 Classification and Policing

in the pfSense Platform", Actas da CRC'2009 - 9ª Conferência sobre Redes de
Computadores, IST - Taguspark, Oeiras, 15-16 Outubro 2009.
[6]

"PfSense Setup HQ." PfSense Setup HQ. N.p., n.d. Web. 18 Dec. 2013.

<http://pfsensesetup.com/>.
[7]

BSD Firewalling with PfSense by Chris Buechler: 2010

NYCBSDCon. YouTube. YouTube, 07 Feb. 2012. Web. 18 Dec. 2013.
<http://www.youtube.com/watch?v=ckesvwkNiJE>.
[8]

"Layer 2 Tunneling Protocol." Wikipedia. Wikimedia Foundation, 5 Dec. 2013.

Web. 6 Dec. 2013. <http://en.wikipedia.org/wiki/Layer_2_Tunneling_Protocol>.
[9]

"Point-to-Point Tunneling Protocol." Wikipedia. Wikimedia Foundation, 9 Dec.

2013. Web. 12 Dec. 2013. <http://en.wikipedia.org/wiki/Point-toPoint_Tunneling_Protocol>.

Internet Gateway với Firewall Open Sources

64

More Related Content

What's hot

[123doc.vn] thiet ke mang lan cho truong hoc copy
[123doc.vn]   thiet ke mang lan cho truong hoc copy[123doc.vn]   thiet ke mang lan cho truong hoc copy
[123doc.vn] thiet ke mang lan cho truong hoc copy
nenohap
 
Bài giảng bảo mật hệ thống thông tin
Bài giảng bảo mật hệ thống thông tinBài giảng bảo mật hệ thống thông tin
Bài giảng bảo mật hệ thống thông tinTran Tien
 
Bai giang atbmtt
Bai giang atbmtt Bai giang atbmtt
Bai giang atbmtt Hà Vũ
 
200 đề tài luận văn thạc sĩ an ninh mạng. HAY
200 đề tài luận văn thạc sĩ an ninh mạng. HAY200 đề tài luận văn thạc sĩ an ninh mạng. HAY
200 đề tài luận văn thạc sĩ an ninh mạng. HAY
Dịch vụ viết thuê Khóa Luận - ZALO 0932091562
 
bao cao linux
bao cao linuxbao cao linux
bao cao linuxbinhnv186
 
Phân tích mã độc cơ bản - báo cáo thực tập
Phân tích mã độc cơ bản - báo cáo thực tậpPhân tích mã độc cơ bản - báo cáo thực tập
Phân tích mã độc cơ bản - báo cáo thực tập
Phạm Trung Đức
 
Thiết kế mạng LAN cho công ty 2 tầng
Thiết kế mạng LAN cho công ty 2 tầng Thiết kế mạng LAN cho công ty 2 tầng
Thiết kế mạng LAN cho công ty 2 tầng
ThíckThọ Thì ThêThảm
 
Bài giảng kiểm thử xâm nhập PTIT
Bài giảng kiểm thử xâm nhập PTITBài giảng kiểm thử xâm nhập PTIT
Bài giảng kiểm thử xâm nhập PTIT
NguynMinh294
 
Xây dựng hệ thống mạng cho Công Ty Cổ Phần Trường Tân trên nền tảng server 2008
Xây dựng hệ thống mạng cho Công Ty Cổ Phần Trường Tân trên nền tảng server 2008Xây dựng hệ thống mạng cho Công Ty Cổ Phần Trường Tân trên nền tảng server 2008
Xây dựng hệ thống mạng cho Công Ty Cổ Phần Trường Tân trên nền tảng server 2008
laonap166
 
Luận văn Thạc sĩ Nghiên cứu triển khai giải pháp đảm bảo an ninh mạng trên nề...
Luận văn Thạc sĩ Nghiên cứu triển khai giải pháp đảm bảo an ninh mạng trên nề...Luận văn Thạc sĩ Nghiên cứu triển khai giải pháp đảm bảo an ninh mạng trên nề...
Luận văn Thạc sĩ Nghiên cứu triển khai giải pháp đảm bảo an ninh mạng trên nề...
Dịch vụ viết thuê Luận Văn - ZALO 0932091562
 
Giáo trình bảo mật thông tin
Giáo trình bảo mật thông tinGiáo trình bảo mật thông tin
Giáo trình bảo mật thông tin
jackjohn45
 
Slide An toàn mạng nâng cao PTIT
Slide An toàn mạng nâng cao PTITSlide An toàn mạng nâng cao PTIT
Slide An toàn mạng nâng cao PTIT
NguynMinh294
 
ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...
ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...
ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...
nataliej4
 
Đề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đ
Đề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đĐề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đ
Đề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đ
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
[123doc.vn] xay dung he thong mang cho doanh nhiep nho
[123doc.vn]   xay dung he thong mang cho doanh nhiep nho[123doc.vn]   xay dung he thong mang cho doanh nhiep nho
[123doc.vn] xay dung he thong mang cho doanh nhiep nhoNguyễn Quân
 
Xây dựng, thiết kế hệ thống mạng cục bộ (Thực tế) 2225926
Xây dựng, thiết kế hệ thống mạng cục bộ (Thực tế) 2225926Xây dựng, thiết kế hệ thống mạng cục bộ (Thực tế) 2225926
Xây dựng, thiết kế hệ thống mạng cục bộ (Thực tế) 2225926
nataliej4
 
Đề tài: Hệ thống giám sát mạng dựa trên phần mềm Zabbix, 9đ
Đề tài: Hệ thống giám sát mạng dựa trên phần mềm Zabbix, 9đĐề tài: Hệ thống giám sát mạng dựa trên phần mềm Zabbix, 9đ
Đề tài: Hệ thống giám sát mạng dựa trên phần mềm Zabbix, 9đ
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Lập trình phân tích bắt gói tin mạng bằng Python
Lập trình phân tích bắt gói tin mạng bằng PythonLập trình phân tích bắt gói tin mạng bằng Python
Lập trình phân tích bắt gói tin mạng bằng Python
Phạm Trung Đức
 
TƯ VẤN HẠ TẦNG MẠNG TẠI TRƯỜNG ĐẠI HỌC KINH TẾ ĐÀ NẴNG
TƯ VẤN HẠ TẦNG MẠNG  TẠI TRƯỜNG ĐẠI HỌC KINH TẾ ĐÀ NẴNGTƯ VẤN HẠ TẦNG MẠNG  TẠI TRƯỜNG ĐẠI HỌC KINH TẾ ĐÀ NẴNG
TƯ VẤN HẠ TẦNG MẠNG TẠI TRƯỜNG ĐẠI HỌC KINH TẾ ĐÀ NẴNG
laonap166
 

What's hot (20)

[123doc.vn] thiet ke mang lan cho truong hoc copy
[123doc.vn]   thiet ke mang lan cho truong hoc copy[123doc.vn]   thiet ke mang lan cho truong hoc copy
[123doc.vn] thiet ke mang lan cho truong hoc copy
 
Bài giảng bảo mật hệ thống thông tin
Bài giảng bảo mật hệ thống thông tinBài giảng bảo mật hệ thống thông tin
Bài giảng bảo mật hệ thống thông tin
 
Bai giang atbmtt
Bai giang atbmtt Bai giang atbmtt
Bai giang atbmtt
 
200 đề tài luận văn thạc sĩ an ninh mạng. HAY
200 đề tài luận văn thạc sĩ an ninh mạng. HAY200 đề tài luận văn thạc sĩ an ninh mạng. HAY
200 đề tài luận văn thạc sĩ an ninh mạng. HAY
 
bao cao linux
bao cao linuxbao cao linux
bao cao linux
 
Phân tích mã độc cơ bản - báo cáo thực tập
Phân tích mã độc cơ bản - báo cáo thực tậpPhân tích mã độc cơ bản - báo cáo thực tập
Phân tích mã độc cơ bản - báo cáo thực tập
 
Thiết kế mạng LAN cho công ty 2 tầng
Thiết kế mạng LAN cho công ty 2 tầng Thiết kế mạng LAN cho công ty 2 tầng
Thiết kế mạng LAN cho công ty 2 tầng
 
Bài giảng kiểm thử xâm nhập PTIT
Bài giảng kiểm thử xâm nhập PTITBài giảng kiểm thử xâm nhập PTIT
Bài giảng kiểm thử xâm nhập PTIT
 
Xây dựng hệ thống mạng cho Công Ty Cổ Phần Trường Tân trên nền tảng server 2008
Xây dựng hệ thống mạng cho Công Ty Cổ Phần Trường Tân trên nền tảng server 2008Xây dựng hệ thống mạng cho Công Ty Cổ Phần Trường Tân trên nền tảng server 2008
Xây dựng hệ thống mạng cho Công Ty Cổ Phần Trường Tân trên nền tảng server 2008
 
Luận văn Thạc sĩ Nghiên cứu triển khai giải pháp đảm bảo an ninh mạng trên nề...
Luận văn Thạc sĩ Nghiên cứu triển khai giải pháp đảm bảo an ninh mạng trên nề...Luận văn Thạc sĩ Nghiên cứu triển khai giải pháp đảm bảo an ninh mạng trên nề...
Luận văn Thạc sĩ Nghiên cứu triển khai giải pháp đảm bảo an ninh mạng trên nề...
 
Giáo trình bảo mật thông tin
Giáo trình bảo mật thông tinGiáo trình bảo mật thông tin
Giáo trình bảo mật thông tin
 
Slide An toàn mạng nâng cao PTIT
Slide An toàn mạng nâng cao PTITSlide An toàn mạng nâng cao PTIT
Slide An toàn mạng nâng cao PTIT
 
ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...
ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...
ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...
 
Đề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đ
Đề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đĐề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đ
Đề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đ
 
[123doc.vn] xay dung he thong mang cho doanh nhiep nho
[123doc.vn]   xay dung he thong mang cho doanh nhiep nho[123doc.vn]   xay dung he thong mang cho doanh nhiep nho
[123doc.vn] xay dung he thong mang cho doanh nhiep nho
 
Mang vpn
Mang vpnMang vpn
Mang vpn
 
Xây dựng, thiết kế hệ thống mạng cục bộ (Thực tế) 2225926
Xây dựng, thiết kế hệ thống mạng cục bộ (Thực tế) 2225926Xây dựng, thiết kế hệ thống mạng cục bộ (Thực tế) 2225926
Xây dựng, thiết kế hệ thống mạng cục bộ (Thực tế) 2225926
 
Đề tài: Hệ thống giám sát mạng dựa trên phần mềm Zabbix, 9đ
Đề tài: Hệ thống giám sát mạng dựa trên phần mềm Zabbix, 9đĐề tài: Hệ thống giám sát mạng dựa trên phần mềm Zabbix, 9đ
Đề tài: Hệ thống giám sát mạng dựa trên phần mềm Zabbix, 9đ
 
Lập trình phân tích bắt gói tin mạng bằng Python
Lập trình phân tích bắt gói tin mạng bằng PythonLập trình phân tích bắt gói tin mạng bằng Python
Lập trình phân tích bắt gói tin mạng bằng Python
 
TƯ VẤN HẠ TẦNG MẠNG TẠI TRƯỜNG ĐẠI HỌC KINH TẾ ĐÀ NẴNG
TƯ VẤN HẠ TẦNG MẠNG  TẠI TRƯỜNG ĐẠI HỌC KINH TẾ ĐÀ NẴNGTƯ VẤN HẠ TẦNG MẠNG  TẠI TRƯỜNG ĐẠI HỌC KINH TẾ ĐÀ NẴNG
TƯ VẤN HẠ TẦNG MẠNG TẠI TRƯỜNG ĐẠI HỌC KINH TẾ ĐÀ NẴNG
 

Viewers also liked

pfSense presentation
pfSense presentationpfSense presentation
pfSense presentation
Simon Vass
 
pfSense, OpenSource Firewall
pfSense, OpenSource FirewallpfSense, OpenSource Firewall
pfSense, OpenSource Firewall
Erik Kirschner
 
pfSense firewall workshop guide
pfSense firewall workshop guidepfSense firewall workshop guide
pfSense firewall workshop guide
Sopon Tumchota
 
Lab 2 - Basic Secure
Lab 2 - Basic SecureLab 2 - Basic Secure
Lab 2 - Basic Secure
Tu Khiem
 
TÌM HIỂU FIREWALL VÀ TRIỂN KHAI TRÊN MÃ NGUỒN MỞ
TÌM HIỂU FIREWALL VÀ TRIỂN KHAI TRÊN MÃ NGUỒN MỞTÌM HIỂU FIREWALL VÀ TRIỂN KHAI TRÊN MÃ NGUỒN MỞ
TÌM HIỂU FIREWALL VÀ TRIỂN KHAI TRÊN MÃ NGUỒN MỞTiki.vn
 
pfSsense
pfSsensepfSsense
pfSsense
Chris Hsiang
 
Quảng Ninh CIO: QUẢN LÝ VÀ BẢO MẬT THÔNG TIN DOANH NGHIỆP
Quảng Ninh CIO: QUẢN LÝ VÀ BẢO MẬT THÔNG TIN DOANH NGHIỆPQuảng Ninh CIO: QUẢN LÝ VÀ BẢO MẬT THÔNG TIN DOANH NGHIỆP
Quảng Ninh CIO: QUẢN LÝ VÀ BẢO MẬT THÔNG TIN DOANH NGHIỆP
Vu Hung Nguyen
 
Malware - Thieu Mao - KSEC
Malware - Thieu Mao - KSECMalware - Thieu Mao - KSEC
Malware - Thieu Mao - KSEC
Thieu Mao
 
Creating a firewall in UBUNTU
Creating a firewall in UBUNTUCreating a firewall in UBUNTU
Creating a firewall in UBUNTU
Mumbai University
 
PFSENSE Load Balance with Fail Over From Version Beta3
PFSENSE Load Balance with Fail Over From Version Beta3PFSENSE Load Balance with Fail Over From Version Beta3
PFSENSE Load Balance with Fail Over From Version Beta3
series09
 
Xây dựng và vận hành hệ thống an ninh mạng hiệu quả - Mr Hoàng Văn Thắng
Xây dựng và vận hành hệ thống an ninh mạng hiệu quả - Mr Hoàng Văn ThắngXây dựng và vận hành hệ thống an ninh mạng hiệu quả - Mr Hoàng Văn Thắng
Xây dựng và vận hành hệ thống an ninh mạng hiệu quả - Mr Hoàng Văn Thắng
Lac Viet Computing Corporation
 
Tường lửa ip cop
Tường lửa ip copTường lửa ip cop
Tường lửa ip cop
Trần Văn Quyết
 
Fortinet forti gate_vs._pfsense_report_from_it_central_station_2016-09-05
Fortinet forti gate_vs._pfsense_report_from_it_central_station_2016-09-05Fortinet forti gate_vs._pfsense_report_from_it_central_station_2016-09-05
Fortinet forti gate_vs._pfsense_report_from_it_central_station_2016-09-05
Ivan Carmona
 
đồ áN thực tập tại athena
đồ áN thực tập tại athenađồ áN thực tập tại athena
đồ áN thực tập tại athenaHuy Bach
 
Vpn : client to site và vpn site to site
Vpn : client to site và vpn site to siteVpn : client to site và vpn site to site
Vpn : client to site và vpn site to siteKhỉ Lùn
 

Viewers also liked (20)

pfSense presentation
pfSense presentationpfSense presentation
pfSense presentation
 
pfSense, OpenSource Firewall
pfSense, OpenSource FirewallpfSense, OpenSource Firewall
pfSense, OpenSource Firewall
 
pfSense firewall workshop guide
pfSense firewall workshop guidepfSense firewall workshop guide
pfSense firewall workshop guide
 
Lab 2 - Basic Secure
Lab 2 - Basic SecureLab 2 - Basic Secure
Lab 2 - Basic Secure
 
TÌM HIỂU FIREWALL VÀ TRIỂN KHAI TRÊN MÃ NGUỒN MỞ
TÌM HIỂU FIREWALL VÀ TRIỂN KHAI TRÊN MÃ NGUỒN MỞTÌM HIỂU FIREWALL VÀ TRIỂN KHAI TRÊN MÃ NGUỒN MỞ
TÌM HIỂU FIREWALL VÀ TRIỂN KHAI TRÊN MÃ NGUỒN MỞ
 
pfSsense
pfSsensepfSsense
pfSsense
 
Quảng Ninh CIO: QUẢN LÝ VÀ BẢO MẬT THÔNG TIN DOANH NGHIỆP
Quảng Ninh CIO: QUẢN LÝ VÀ BẢO MẬT THÔNG TIN DOANH NGHIỆPQuảng Ninh CIO: QUẢN LÝ VÀ BẢO MẬT THÔNG TIN DOANH NGHIỆP
Quảng Ninh CIO: QUẢN LÝ VÀ BẢO MẬT THÔNG TIN DOANH NGHIỆP
 
Ch20
Ch20Ch20
Ch20
 
Malware - Thieu Mao - KSEC
Malware - Thieu Mao - KSECMalware - Thieu Mao - KSEC
Malware - Thieu Mao - KSEC
 
Creating a firewall in UBUNTU
Creating a firewall in UBUNTUCreating a firewall in UBUNTU
Creating a firewall in UBUNTU
 
PFSENSE Load Balance with Fail Over From Version Beta3
PFSENSE Load Balance with Fail Over From Version Beta3PFSENSE Load Balance with Fail Over From Version Beta3
PFSENSE Load Balance with Fail Over From Version Beta3
 
firewall
firewallfirewall
firewall
 
Xây dựng và vận hành hệ thống an ninh mạng hiệu quả - Mr Hoàng Văn Thắng
Xây dựng và vận hành hệ thống an ninh mạng hiệu quả - Mr Hoàng Văn ThắngXây dựng và vận hành hệ thống an ninh mạng hiệu quả - Mr Hoàng Văn Thắng
Xây dựng và vận hành hệ thống an ninh mạng hiệu quả - Mr Hoàng Văn Thắng
 
Tường lửa ip cop
Tường lửa ip copTường lửa ip cop
Tường lửa ip cop
 
Fortinet forti gate_vs._pfsense_report_from_it_central_station_2016-09-05
Fortinet forti gate_vs._pfsense_report_from_it_central_station_2016-09-05Fortinet forti gate_vs._pfsense_report_from_it_central_station_2016-09-05
Fortinet forti gate_vs._pfsense_report_from_it_central_station_2016-09-05
 
đồ áN thực tập tại athena
đồ áN thực tập tại athenađồ áN thực tập tại athena
đồ áN thực tập tại athena
 
Vpn : client to site và vpn site to site
Vpn : client to site và vpn site to siteVpn : client to site và vpn site to site
Vpn : client to site và vpn site to site
 
Iptables
IptablesIptables
Iptables
 
66_pfSenseTutorial
66_pfSenseTutorial66_pfSenseTutorial
66_pfSenseTutorial
 
Pfsense
PfsensePfsense
Pfsense
 

Similar to Pf sense firewall

Isas semina
Isas seminaIsas semina
Isas semina
hoangt_ti22
 
3d. Firewall.pptx
3d. Firewall.pptx3d. Firewall.pptx
3d. Firewall.pptx
learnitlearnit
 
tường lửa full.doc
tường lửa full.doctường lửa full.doc
tường lửa full.doc
PhcNguynHu22
 
Đề Tài Thực Hành CCNA Lab - CSMars.pdf
Đề Tài Thực Hành CCNA Lab - CSMars.pdfĐề Tài Thực Hành CCNA Lab - CSMars.pdf
Đề Tài Thực Hành CCNA Lab - CSMars.pdf
NuioKila
 
Tải Free TIỂU LUẬN VỀ AN NINH MẠNG 9 ĐIỂM.doc
Tải Free TIỂU LUẬN VỀ AN NINH MẠNG 9 ĐIỂM.docTải Free TIỂU LUẬN VỀ AN NINH MẠNG 9 ĐIỂM.doc
Báo cáo snort
Báo cáo snortBáo cáo snort
Báo cáo snort
anhkhoa2222
 
Mạng máy tính nâng cao
Mạng máy tính nâng caoMạng máy tính nâng cao
Mạng máy tính nâng cao
ssuserd16c49
 
Bài mẫu tiểu luận về An ninh mạng, HAY
Bài mẫu tiểu luận về An ninh mạng, HAYBài mẫu tiểu luận về An ninh mạng, HAY
Bài mẫu tiểu luận về An ninh mạng, HAY
Viết Thuê Khóa Luận _ ZALO 0917.193.864 default
 
BÀI GIẢNG An ninh mạng máy tính.pdf
BÀI GIẢNG An ninh mạng máy tính.pdfBÀI GIẢNG An ninh mạng máy tính.pdf
BÀI GIẢNG An ninh mạng máy tính.pdf
NuioKila
 
Hệ thống phát hiện xâm nhập mạng Suricata.docx
Hệ thống phát hiện xâm nhập mạng Suricata.docxHệ thống phát hiện xâm nhập mạng Suricata.docx
Hệ thống phát hiện xâm nhập mạng Suricata.docx
DV Viết Luận văn luanvanmaster.com ZALO 0973287149
 
Luận văn: Hệ thống phát hiện xâm nhập mạng, HAY
Luận văn: Hệ thống phát hiện xâm nhập mạng, HAYLuận văn: Hệ thống phát hiện xâm nhập mạng, HAY
Luận văn: Hệ thống phát hiện xâm nhập mạng, HAY
Viết thuê trọn gói ZALO 0934573149
 
luan van thac si tim hieu he thong phat hien canh bao nguy co tan cong mang
luan van thac si tim hieu he thong phat hien canh bao nguy co tan cong mangluan van thac si tim hieu he thong phat hien canh bao nguy co tan cong mang
luan van thac si tim hieu he thong phat hien canh bao nguy co tan cong mang
Dịch vụ viết thuê Luận Văn - ZALO 0932091562
 
Designing firewalls
Designing firewallsDesigning firewalls
Designing firewalls
Le Kim Hung
 
Báo cáo thực tập - Quốc Nghị
Báo cáo thực tập - Quốc NghịBáo cáo thực tập - Quốc Nghị
Báo cáo thực tập - Quốc Nghị
blue_abc
 
Luận văn: Nghiên cứu tiêu chuẩn ISO 27001 và ứng dụng, HAY
Luận văn: Nghiên cứu tiêu chuẩn ISO 27001 và ứng dụng, HAYLuận văn: Nghiên cứu tiêu chuẩn ISO 27001 và ứng dụng, HAY
Luận văn: Nghiên cứu tiêu chuẩn ISO 27001 và ứng dụng, HAY
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Luận văn: Bài toán an toàn thông tin trong mạng riêng ảo, HOT
Luận văn: Bài toán an toàn thông tin trong mạng riêng ảo, HOTLuận văn: Bài toán an toàn thông tin trong mạng riêng ảo, HOT
Luận văn: Bài toán an toàn thông tin trong mạng riêng ảo, HOT
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Đề tài: Tìm hiểu giải pháp an ninh mạng với Firewall, HOT
Đề tài: Tìm hiểu giải pháp an ninh mạng với Firewall, HOTĐề tài: Tìm hiểu giải pháp an ninh mạng với Firewall, HOT
Đề tài: Tìm hiểu giải pháp an ninh mạng với Firewall, HOT
Dịch vụ viết bài trọn gói ZALO 0917193864
 
cai-dat-va-cau-hinh-firewall-fortigate-compress.pdf
cai-dat-va-cau-hinh-firewall-fortigate-compress.pdfcai-dat-va-cau-hinh-firewall-fortigate-compress.pdf
cai-dat-va-cau-hinh-firewall-fortigate-compress.pdf
Internet [L]
 
Đồ Án Tốt Nghiệp Về Nghiên Cứu Kiến Trúc Mạng Internet, Sự Lây Lan Của Worm V...
Đồ Án Tốt Nghiệp Về Nghiên Cứu Kiến Trúc Mạng Internet, Sự Lây Lan Của Worm V...Đồ Án Tốt Nghiệp Về Nghiên Cứu Kiến Trúc Mạng Internet, Sự Lây Lan Của Worm V...
Đồ Án Tốt Nghiệp Về Nghiên Cứu Kiến Trúc Mạng Internet, Sự Lây Lan Của Worm V...
mokoboo56
 

Similar to Pf sense firewall (20)

Isas semina
Isas seminaIsas semina
Isas semina
 
3d. Firewall.pptx
3d. Firewall.pptx3d. Firewall.pptx
3d. Firewall.pptx
 
tường lửa full.doc
tường lửa full.doctường lửa full.doc
tường lửa full.doc
 
Đề Tài Thực Hành CCNA Lab - CSMars.pdf
Đề Tài Thực Hành CCNA Lab - CSMars.pdfĐề Tài Thực Hành CCNA Lab - CSMars.pdf
Đề Tài Thực Hành CCNA Lab - CSMars.pdf
 
Tải Free TIỂU LUẬN VỀ AN NINH MẠNG 9 ĐIỂM.doc
Tải Free TIỂU LUẬN VỀ AN NINH MẠNG 9 ĐIỂM.docTải Free TIỂU LUẬN VỀ AN NINH MẠNG 9 ĐIỂM.doc
Tải Free TIỂU LUẬN VỀ AN NINH MẠNG 9 ĐIỂM.doc
 
Báo cáo snort
Báo cáo snortBáo cáo snort
Báo cáo snort
 
Mạng máy tính nâng cao
Mạng máy tính nâng caoMạng máy tính nâng cao
Mạng máy tính nâng cao
 
Bài mẫu tiểu luận về An ninh mạng, HAY
Bài mẫu tiểu luận về An ninh mạng, HAYBài mẫu tiểu luận về An ninh mạng, HAY
Bài mẫu tiểu luận về An ninh mạng, HAY
 
BÀI GIẢNG An ninh mạng máy tính.pdf
BÀI GIẢNG An ninh mạng máy tính.pdfBÀI GIẢNG An ninh mạng máy tính.pdf
BÀI GIẢNG An ninh mạng máy tính.pdf
 
E Lib&Learning
E Lib&LearningE Lib&Learning
E Lib&Learning
 
Hệ thống phát hiện xâm nhập mạng Suricata.docx
Hệ thống phát hiện xâm nhập mạng Suricata.docxHệ thống phát hiện xâm nhập mạng Suricata.docx
Hệ thống phát hiện xâm nhập mạng Suricata.docx
 
Luận văn: Hệ thống phát hiện xâm nhập mạng, HAY
Luận văn: Hệ thống phát hiện xâm nhập mạng, HAYLuận văn: Hệ thống phát hiện xâm nhập mạng, HAY
Luận văn: Hệ thống phát hiện xâm nhập mạng, HAY
 
luan van thac si tim hieu he thong phat hien canh bao nguy co tan cong mang
luan van thac si tim hieu he thong phat hien canh bao nguy co tan cong mangluan van thac si tim hieu he thong phat hien canh bao nguy co tan cong mang
luan van thac si tim hieu he thong phat hien canh bao nguy co tan cong mang
 
Designing firewalls
Designing firewallsDesigning firewalls
Designing firewalls
 
Báo cáo thực tập - Quốc Nghị
Báo cáo thực tập - Quốc NghịBáo cáo thực tập - Quốc Nghị
Báo cáo thực tập - Quốc Nghị
 
Luận văn: Nghiên cứu tiêu chuẩn ISO 27001 và ứng dụng, HAY
Luận văn: Nghiên cứu tiêu chuẩn ISO 27001 và ứng dụng, HAYLuận văn: Nghiên cứu tiêu chuẩn ISO 27001 và ứng dụng, HAY
Luận văn: Nghiên cứu tiêu chuẩn ISO 27001 và ứng dụng, HAY
 
Luận văn: Bài toán an toàn thông tin trong mạng riêng ảo, HOT
Luận văn: Bài toán an toàn thông tin trong mạng riêng ảo, HOTLuận văn: Bài toán an toàn thông tin trong mạng riêng ảo, HOT
Luận văn: Bài toán an toàn thông tin trong mạng riêng ảo, HOT
 
Đề tài: Tìm hiểu giải pháp an ninh mạng với Firewall, HOT
Đề tài: Tìm hiểu giải pháp an ninh mạng với Firewall, HOTĐề tài: Tìm hiểu giải pháp an ninh mạng với Firewall, HOT
Đề tài: Tìm hiểu giải pháp an ninh mạng với Firewall, HOT
 
cai-dat-va-cau-hinh-firewall-fortigate-compress.pdf
cai-dat-va-cau-hinh-firewall-fortigate-compress.pdfcai-dat-va-cau-hinh-firewall-fortigate-compress.pdf
cai-dat-va-cau-hinh-firewall-fortigate-compress.pdf
 
Đồ Án Tốt Nghiệp Về Nghiên Cứu Kiến Trúc Mạng Internet, Sự Lây Lan Của Worm V...
Đồ Án Tốt Nghiệp Về Nghiên Cứu Kiến Trúc Mạng Internet, Sự Lây Lan Của Worm V...Đồ Án Tốt Nghiệp Về Nghiên Cứu Kiến Trúc Mạng Internet, Sự Lây Lan Của Worm V...
Đồ Án Tốt Nghiệp Về Nghiên Cứu Kiến Trúc Mạng Internet, Sự Lây Lan Của Worm V...
 

Pf sense firewall

  • 1. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com MỤC LỤC MỤCLỤC I CHƢƠNG 1. TỔNG QUAN.....................................................................................1 1.1. Tổng quan tường lửa ......................................................................................... 1 1.1.1. Static packet-filtering firewall ................................................................ 2 1.1.2. Application-level firewal ........................................................................ 2 1.1.3. Circuit-level firewall ............................................................................... 3 1.1.4. Stateful inspection firewall ..................................................................... 4 1.2. Các mô hình triển khai tường lửa ..................................................................... 5 1.3. Tổng quan pfSense ............................................................................................ 6 1.4. Một số phương pháp triển khai thực tế ............................................................. 6 1.5. Các nền tảng phần cứng hỗ trợ ......................................................................... 7 CHƢƠNG 2. TRIỂN KHAI HỆ THỐNG PFSENSE TRONG MÔI TRƢỜNG MẠNG DOANH NGHIỆP ...........................................................................................8 2.1. Sơ đồ triển khai cơ bản ..................................................................................... 8 2.2. Cài đặt pfSense.................................................................................................. 8 2.3. Cấu hình pfSense cơ bản ................................................................................... 9 2.4. Cấu hình tường lửa.......................................................................................... 12 2.4.1. Alias ...................................................................................................... 12 2.4.2. NAT ...................................................................................................... 14 2.4.3. Rules ..................................................................................................... 16 2.4.4. Schedules .............................................................................................. 17 2.5. QoS.................................................................................................................. 18 2.6. pfSense Squid proxy ....................................................................................... 24 2.6.1. Squid web cache proxy ......................................................................... 24 2.6.2. SquidGuad ............................................................................................ 26 2.7. VLAN.............................................................................................................. 28 2.7.1. Trunking................................................................................................ 28 2.7.2. VLAN ID .............................................................................................. 29 2.7.3. Double tagging (QinQ) ......................................................................... 29 2.8. Cân bằng tải .................................................................................................... 29 2.8.1. Cân bằng tải multi-WAN ...................................................................... 30 Internet Gateway với Firewall Open Sources Trang I
  • 2. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com 2.8.2. Cân bằng tải máy chủ............................................................................ 33 2.9. Redundancy và Failover: CARP và pfsync .................................................... 37 2.9.1. Tổng quan CARP .................................................................................. 37 2.9.2. Tổng quan psync ................................................................................... 38 2.9.3. Tổng quan đồng bộ XML-RPC của pfSense ........................................ 38 2.9.4. Triển khai mô hình cơ bản .................................................................... 39 2.9.5. Triển khai mô hình multiWAN ............................................................. 43 2.10. VPN ............................................................................................................. 46 2.10.1. IPSEC.................................................................................................... 47 2.10.2. L2TP ..................................................................................................... 49 2.10.3. PPTP ..................................................................................................... 50 2.10.4. OpenVPN .............................................................................................. 51 2.10.5. Trích xuất cấu hình OpenVPN client.................................................... 54 2.11. Captive portal .............................................................................................. 57 2.12. Logging, monitoring, và statistics ............................................................... 59 2.12.1. Remote syslog ....................................................................................... 61 2.12.2. Đồ thị RRD ........................................................................................... 62 CHƢƠNG 3. TÀI LIỆU THAM KHẢO ..............................................................64 Internet Gateway với Firewall Open Sources Trang II
  • 3. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com CHƢƠNG 1. TỔNG QUAN 1.1. Tổng quan tƣờng lửa Tường lửa là công cụ cần thiết trong việc quản lý và kiểm soát lưu lượng mạng, là một thiết bị mạng được sử dụng để lọc lưu lượng truy cập, thường được triển khai giữa một mạng riêng và một mạng kết nối đến Internet. Ngoài ra tường lửa cũng có thể được triển khai để phân chia giữa các phòng ban trong một công ty. Nếu không có tường lửa, hệ thống mạng sẽ không thể hạn chế lưu lượng truy cập độc hại từ Internet thâm nhập vào mạng nội bộ. Lưu lượng mạng thông qua tường lửa được lọc dựa trên các chính sách đã được thiết lập, còn được gọi là các bộ lọc hoặc danh sách kiểm soát truy cập (ACL). Chúng cơ bản là một bộ các chỉ lệnh có nhiệm vụ lọc ra các luồng dữ liệu nguy hại hoặc không được cho phép truy cập, chỉ có các kết nối cho phép mới vượt qua hàng rào an ninh được cung cấp bởi các tường lửa. Tường lửa là một biện pháp hiệu quả trong việc ngăn chặn hay lọc lưu lượng truy cập, chống lại các lượt truy cập không hợp pháp cố gắng kết nối từ bên ngoài vào mạng nội bộ bên trong, đồng thời ngăn chặn các dữ liệu độc hại dựa trên thông tin các gói đi vào, ứng dụng, giao thức hay địa chỉ nguồn. Hầu hết các tường lửa cung cấp cơ chế log, kiểm định và khả năng giám sát cũng như hệ thống phát hiện xâm nhập (IDS) cơ bản. Cần lưu ý rằng tường lửa không thể ngăn chặn virus hoặc các mã độc hay lây lan qua các đường đi khác khi người dùng vô tình hay cố ý cho phép các đoạn mã độc thực thi đằng sau tường lửa. Ngoài hoạt động kết nối mạng, tường lửa còn lưu lại các thông tin về các sự kiện như: Thời gian boot/reboot thiết bị tường lửa. Trạng thái dịch vụ như: proxy, các dịch vụ phụ thuộc. Thay đổi cấu hình. Lỗi hệ thống tường lửa. Tường lửa chỉ là một phần của một giải pháp bảo mật tổng thể. Với một tường lửa có nhiều các cơ chế bảo mật được tập trung tại một nơi, điều này tạo ra rủi ro làm hệ thống mạng có thể bị mất kết nối trong trường hợp thiết bị tường lửa có sự cố. Để bảo Internet Gateway với Firewall Open Sources 1
  • 4. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com vệ tốt hơn cho hệ thống thì chúng ta cần kết hợp nhiều tường lửa với nhau để bổ trợ cho nhau trong trường hợp một tường lửa bị tấn công. Có bốn loại tường lửa cơ bản: (Simple) Packet Filters, Circuit-Level, ApplicationLevel và Stateful Multilayer Inspection.Cũng có nhiều cách để tạo ra bức tường lửa an toàn bằng cách kết hợp hai hoặc nhiều hơn các loại tường lửa vào một giải pháp tường lửa duy nhất. 1.1.1. Static packet-filtering firewall Packet-filter lọc lưu lượng truy cập bằng cách kiểm tra thông tin header của gói tin. Thông thường, các chính sách để tường lửa lọc sẽ dựa vào thông số liên quan tới IP nguồn, IP đích, và cổng dịch vụ. Tường lửa dạng này không thể cung cấp cơ chế xác thực người dùng hay có thể xác định được gói tin đến từ bên trong hay bên ngoài mạng riêng, dẫn đến việc dễ dàng bị lừa với các gói tin giả mạo. Static packet filter được xem là khởi đầu cho hệ thống tường lửa, hoạt động ở lớp 3 (lớp Mạng) của mô hình OSI. Nó cũng có thể được coilà thiết bị định tuyến hoặc xem như một router thông thường. Hình 1: Packet-filter trong mô hình OSI 1.1.2. Application-level firewal Một tường lửa ở lớp Ứng dụng còn được gọi là tường lửa proxy. Proxy là một bộ máy tính làm nhiệm vụ sao chép các gói tin từ một mạng đến một mạng khác; việc sao chép này đồng thời sẽ đổi địa chỉ nguồn và địa chỉ đích để bảo vệ thông tin về mạng riêng hoặc mạng trong của hệ thống. Tường lửa lớp Ứng dụng sẽ lọc các lưu lượng mạng dựa trên các dịch vụ Internet dùng để chuyển hoặc nhận dữ liệu. Một proxy server là cách để tập trung các dịch vụ ứng dụng thông qua một máy đơn lẻ, tại đây nó Internet Gateway với Firewall Open Sources 2
  • 5. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com sẽ phân tích các gói dữ liệu. Khi các gói từ bên ngoài đến cổng này, chúng được kiểm tra và đánh giá để xác định chính sách an toàn có cho phép gói này đi vào mạng nội bộ hay không. Loại tường lửa này ảnh hưởng đến hiệu suấtcủa mạng vì mỗi gói tin đi đến tường lửa phải được kiểm tra và đánh giá để xác định trước khi cho phép đi vào mạng nội bộ. Tường lửa lớp ứng dụng được xem là thế hệ tường lửa thứ hai, chúng hoạt động tại lớp ứng dụng (lớp 7) của mô hình OSI. Hình 2: Tường lửa lớp ứng dụng 1.1.3. Circuit-level firewall Tường lửa Circuit-level dùng để khởi tạo phiên kết nối giữa hai người dùng tin cậy. Chúng hoạt động tại lớp Phiên (lớp 5) của mô hình OSI. SOCKS (SOCKetS trong TCP/IP) là dạng tường lửa circuit-level thường được áp dụng nhất. Tường lửa circuitlevel còn được biết đến như là circuit proxy, quản lý kết nối dựa trên circuit, chứ không phải nội dung của lưu lượng mạng. Chúng cho phép hoặc từ chối chuyển tiếp gói tin dựa trên nơi mà gói tin cần được gởi đến (địa chỉ nguồn/đích, số portnguồn/đích). Tường lửa circuit-level cũng được xem là thế hệ thứ hai của tường lửa vì cơ chế hoạt động gần giống với tường lửa lớp ứng dụng Internet Gateway với Firewall Open Sources 3
  • 6. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 3: Circuit-level firewall 1.1.4. Stateful inspection firewall Tường lửa kiểm tra trạng thái đánh giá hiện trạng hoặc bối cảnh lưu lượng mạng. Bằng cách kiểm tra nguồn và địa chỉ đích, sử dụng các ứng dụng, nguồn gốc, và mối quan hệ giữa các gói hiện tại và các gói trước của cùng một session. Tường lửa kiểm tra trạng thái có thể cấp một phạm vi truy cập rộng cho người dùng và các hoạt động có thẩm quyền, chủ động theo dõi và ngăn chặn người sử dụng thực hiện các hoạt động trái phép. Tường lửa kiểm tra trạng thái thường hoạt động hiệu quả hơn so với tường lửa mức Ứng dụng, được xem là tường lửa thế hệ thứ ba, hoạt động ở lớp Mạng và lớp Giao vận (lớp 3 và 4) của mô hình OSI . Hình 4:Stateful inspection firewall Internet Gateway với Firewall Open Sources 4
  • 7. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com 1.2. Các mô hình triển khai tƣờng lửa Có ba dạng kiến trúc tường lửa thường được triển khai là: một lớp, hai lớp, và ba lớp (còn được gọi là nhiều lớp). Kiến trúc tường lửa một lớp được kết nối thông qua một router đến Internet (hoặc những vùng mạng không an toàn khác). Mô hình tường lửa một lớp khá hữu ích trong việc ngăn chặn các cuộc tấn công cơ bản,kiến trúc này thực hiện được các cơ chế bảo mật tối thiểu. Kiến trúc tường lửa hai lớpsử dụng một tường lửa cóbanetwork interface trở lên, cho phép thiết lập thêm một vùng DMZ hoặc Extranet để giao tiếp với mạng bên ngoài. DMZ được sử dụng đặt những hệ thống máy chủ thông tin mà người dùng bên ngoài có thể truy cập. Một kiến trúc ba lớp là việc triển khai của nhiều mạng con giữa mạng nội bộ và Internet ngăn cách bởi các tường lửa. Mỗi tường lửa có quy tắc lọc nghiêm ngặt hơn để hạn chế các quyền truy cập bất hợp lệ vào hệ thống mạng dữ liệu nhạy cảm. Mạng ngoài cùng thường được triển khai như là một vùng DMZ. Lớp mạng thứ hai có nhiệm vụ như một lớp mạng chuyển tiếp nhằm phục vụ các tính năng phức tạp theo yêu cầu của máy chủ tại vùng DMZ (ví dụ: database, web service…). Mạng con thứ ba hoặc back-end có thể hỗ trợ mạng nội bộ. Kiến trúc này là an toàn nhất, tuy nhiên mức độ triển khai và quản lý phức tạp hơn so với các kiến trúc còn lại. Hình 5: Mô hình tường lửa một lớp Hình 6: Two-tier Hình 7: Three-tier Internet Gateway với Firewall Open Sources 5
  • 8. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com 1.3. Tổng quan pfSense PfSene là một dự án nguồn mở dựa trên nền tảng hệ điều hành FreeBSD và được sử dụng như một tường lửa hoặc một thiết bị định tuyến. Chris Buechler và Scott Ullrich là hai tác giả sáng lập dự án m0n0wall năm 2004. Tuy nhiên tại thời điểm 2004, tác giả phải gặp vấn đề khó khăn khi mã nguồn của họ không tương thích tốt với các giải pháp tích hợp phần cứng (các thiết bị sử dụng 64MB RAM). PfSense với sự phát triển theo thời gian đã hỗ trợ rộng rãi các nền tảng phần cứng khác nhau và được sự đóng góp to lớn từ cộng động sử dụng mã nguồn mở thế giới. Cùng với các chức năng quản lý mạnh mẽ, thân thiện với người dùng nên pfSense được cộng đồng sử dụng rộng rãi trong môi trường doanh nghiệp vừa và nhỏ. PfSense yêu cầu cấu hình phần cứng thấp nên phù hợp cho việc tích hợp vào các thiết bị tích hợp khác nhau nhằm tăng tính linh động và hiệu suất trong quá trình vận hành. Phiên bản pfSense hiện tại được công bố là 2.1, tập trung phát triển các tính năng hỗ trợ môi trường mạng IPv6. 1.4. Một số phƣơng pháp triển khai thực tế Với các tính năng linh hoạt, pfSense được sử dụng trong nhiều mục đích khác nhau trên thực tế. Giá thành triển khai thấp hơn so với những thiết bị cùng loại, hỗ trợ những tính năng cơ bản và nâng cao như VPN, BGP, Wirelsess, cân bằng tải, QoS… Các chức năng thường được sử dụng bao gồm: Tường lửa: với tính năng xử lý gói tin TCP/IP mạnh mẽ, nên pfSense được dùng như một tường lửa nhằm cản lọc những kết nối không hợp pháp đến một phân vùng mạng chỉ định. Thiết bị định tuyến mạng WAN/LAN: đóng vai trò như một router, pfSense hỗ trợ các chức năng như định tuyến như PPoE, BGP… phù hợp cho doanh nghiệp triển khai với giá thành thấp mà không cần đầu tư thêm router cùng chức năng.Trong môi trường mạng LAN, pfSense hỗ trợ giao thức 802.1q cho phép nhân viên kỹ thuật có thể hoạch định các phân vùng mạng nội bộ khác nhau. PfSense có thể hỗ trợ băng thông 3Gbps hoặc xử lý hơn 500.000 gói tin/giây, vì vậy pfSense có thể sử dụng thay thế một thiết bị switch lớp 3 (yêu cầu có thêm card mạng). Internet Gateway với Firewall Open Sources 6
  • 9. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Wireless Access Point. Máy chủ VPN/DNS/DHCP/Sniffer: pfSense được tác giả tích hợp thêm các mã nguồn mở như TinyDNS (http://tinydns.org), tcpdump (http://www.tcpdump.org/) nhằm phục vụ với vai trò là máy chủ DNS hoặc máy chủ sniffer (thu thập gói tin cho nhiệm vụ phân tích). 1.5. Các nền tảng phần cứng hỗ trợ Live CD: nhân viên quản trị hệ thống có thể sử dụng pfSense bằng cách khởi động mã nguồn pfSense và sử dụng trực tiếp trên CD hoặc USB. Tuy nhiên, phương pháp này không được khuyến cáo sử dụng do một số tính năng như vẽ đồ thị lưu lượng truy cập không thể thực hiện. Cài đặt vào thiết bị có kiến trúc máy tính (computer based device): đây là phương pháp được tác giả khuyến cáo sử dụng. PfSense được cài đặt trên thiết bị máy tính sẽ hỗ trợ đầy đủ các tính năng mà tác giả đã tích hợp. Tuy nhiên, nhân viên quản trị cần chú ý pfSense không hỗ trợ khởi động nhiều nền tảng hệ điều hành (Multi-boot), vì vậy cần bảo đảm rằng các thiết bị lưu trữ (HDD, SSD) có thể bị xóa trắng trong quá trình cài đặt. Tích hợp (embedded): pfSense được cài đặt trên thẻ CF có thể được sử dụng cho các thiết bị phần cứng tích hợp. Tuy nhiên do hạn chế về không gian lưu trữ, nên người sử dụng cần lưu ý nên cấu hình sử dụng bộ nhớ RAM hệ thống để lưu trữ các bản ghi nhật ký trong quá trình vận hành. Internet Gateway với Firewall Open Sources 7
  • 10. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com CHƢƠNG 2. TRIỂN KHAI HỆ THỐNG PFSENSE TRONG MÔI TRƢỜNG MẠNG DOANH NGHIỆP 2.1. Sơ đồ triển khai cơ bản Hình 8: Sơ đồ hệ thống Vùng mạng Internet (WAN) IP/SUBNET VMware NIC VmNet0 192.168.0.0/24 (Auto bridging) DMZ 172.16.10.0/24 VmNet8 (Host-only) Internal (LAN) 10.0.0.0/24 VmNet1 (Host-only) Mô tả Phân vùng mạng kết nối Internet Phân vùng đặt các máy chủ web. Phân vùng mạng nội bộ. 2.2. Cài đặt pfSense Thực hiện tải CD cài đặt Pfsense tại website www.pfsense.org. Người dùng cóthể download phiên bản cài đặt phù hợp với nhu cầu triển khai thực tế tại mục Download. Hiện tại pfSense đã hỗ trợ nền tảng ảo hóa VMware, người sử dụng có thể tải và tích hợp trực tiếp vào hạ tầng ảo dễ dàng và hiệu quả. Internet Gateway với Firewall Open Sources 8
  • 11. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Trong ví dụ bên dưới, chúng tôi thực hiện cài đặt pfSense từ tập tin ISO đã được tải và ghi đĩa CD. Cấu hình phần cứng sử dụng bao gồm: CPU Core I3 (1 processor), RAM 256MB, HDD 5GB, 3 NIC, CD Rom. Hình 9: PfSense thông báo thông tin đăng nhập mặc định 2.3. Cấu hình pfSense cơ bản Tại phần này, chúng tôi thực hiện cấu hình các chức năng cơ bản của pfSense bằng giao diện quản trị Web (WebGUI). Thực hiện truy cập vào địa chỉ IP mà hệ thống đã cấp cho máy pfSense như hình 7, đăng nhập với tài khoản mặc định user: admin, password: pfsense. Sau khi đã đăng nhập thành công, pfSense sẽ yêu cầu cấu hình một số thông tin cơ bản phù hợp với hệ thống mạng sử dụng. Hình 10: Cấu hình thông tin IP Internet Gateway với Firewall Open Sources 9
  • 12. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Tại mục cấu hình IP cho card mạng kết nối với hệ thống WAN, quản trị viên cần cấu hình chính xác thông tin kết nối với hệ thống WAN do nhà cung cấp dịch vụ (ISP) đã cung cấp. PfSense hỗ trợ các dạng cấu hình IP kết nối WAN như sau: DHCP/Static/PPoE/PPTP. Cấu hình PfSense cấp DHCP cho các máy client trong vùng mạng LAN. Chúng tôi thực hiện đăng ký một card mạng vào vùng LAN với địa chỉ MAC tương ứng tại menu Interfaces > Assign Hình 11: Lựa chọn địa chỉ MAC tương ứng Tiếp theo, chúng tôi cấu hình các thông tin IP, DNS cho card mạng kết nối với vùng mạng nội bộ. Chú ý: trong trường hợp nhân viên quản trị muốn sử dụng pfSense như một máy chủ DHCP thì bắt buộc card LAN phải được cấu hình địa chỉ IP tĩnh. Hình 12: Thông tin mô tả card mạng Hình 13: Địa chỉ IP được cấu hình tại card LAN Sau khi các thông tin cấu hình cơ bản, nhấn nút Save và “Apply changes”. Chuyển sang menu Services > DHCP Server, chọn thẻ LAN. Internet Gateway với Firewall Open Sources 10
  • 13. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 14: Cung cấp dãy IP mà pfSense cấp cho người dùng Hình 15: Cung cấp DNS tại phía người dùng Hình 16: Cung cấp Default gateway Sau khi cấu hình hoàn thành, tại phía client thực hiện yêu cầu server cấp IP và kiểm tra đường truyền. Hình 17: Client đã được cấp IP từ pfSense Hình 18: Kiểm tra kết nối mạng LAN Internet Gateway với Firewall Open Sources 11
  • 14. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 19: Kiểm tra kết nối Internet Hình 20: Trạng thái cấp phát IP tại pfSense 2.4. Cấu hình tƣờng lửa 2.4.1. Alias Alias là một phương pháp đặt bí danh cho một hoặc nhiều IP/Network/URL… nhằm giúp quản trị viên dễ dàng quản lý các địa chỉ mạng hoặc subnet. Thực hiện truy cập menu tường lửa > Aliases để tạo mới hoặc chỉnh sửa các alias. Hình 21: Giao diện tạo alias Internet Gateway với Firewall Open Sources 12
  • 15. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 22: Alias Webserver1 pfSense hỗ trợ tạo alias bằng một danh sách địa chỉ IP được lưu trữ từ xa, và thực hiện cập nhật danh sách tự động theo thời gian đã được cấu hình. Hình 23: URL Table Alias Hình 24: Danh mục IP Trung Quốc Hình 25: Alias danh mục website Internet Gateway với Firewall Open Sources 13
  • 16. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com 2.4.2. NAT Network Address Tranlation (NAT) là một cơ chế chuyển đổi IP được sử dụng rộng rãi, nhằm giảm số lượng IP publickhi kết nối với hệ thống mạng Internet. Cơ chế NAT dược sử dụng theo một trong hai cách dựa vào hướng truyền dữ liệu là inbound và outbound. Outbound NAT dùng chuyển đổi các IPprivate thành IP public với mục đích cho phép các máy tính trong mạng nội bộ có thể kết nối Internet. Inbound NAT dùng chuyển đổi IP từ bên ngoài vào các máy tính nội bộ. 2.4.2.1 Port Forward Tại menu tường lửa > NAT > chọn thẻ Port Forward, thực hiện tạo mới một rule NAT cho phép các máy tính từ Internet truy cập máy chủ web trong vùng DMZ. Hình 26: NAT Webserver1 - DMZ Internet Gateway với Firewall Open Sources 14
  • 17. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 27: Truy cập máy chủ web từ Public IP 2.4.2.2 Reflection 1:1 Cấu hình NAT reflection 1:1 được dùng ánh xạ 1 địa chỉ IP public thành 1 IP private. Hình 28: Cấu hình NAT Reflection 1:1 Internet Gateway với Firewall Open Sources 15
  • 18. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com 2.4.2.3 Outbound Khi sử dụng cấu hình mặc định trong mục NAT Outbound, pfSense sẽ tự động tạo các bản ghi NAT cho phép các IP private truy cập internet thông qua IP public. Các cấu hình mẫu này bao gồm các rule cho phép các kết nối VPN đến hệ thống, tuy nhiên quản trị viên cần chú ý tạo thêm các static route phù hợp với hạ tầng mạng. Hình 29: Automatic outbound NAT Đối với những hạ tầng mạng phức tạp yêu cầu cấu hình những rule linh động hơn để phù hợp với kiến trúc mạng doanh nghiệp, ta có thể chọn Manual Outbound NAT với mục đích tùy biến các rule hiện có. 2.4.3. Rules Rule là thành phần cơ bản trong các hệ thống tường lửa giúp tạo ra các chính sách mạng dựa trên mô hình TCP/IP. Theo cấu hình mặc định của pfSense, các rule cho phép các vùng mạng kết nối với nhau, tuy nhiên việc này không thường gặp trong thực tế do các yêu cầu bảo mật, nhân viên quản trị mạng cần tùy biến các rule cho phù hợp với các chính sách truy cập mạng của doanh nghiệp. Internet Gateway với Firewall Open Sources 16
  • 19. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 30: Rule mặc định được cấu hình tại card WAN Chú ý: Trong trường hợp sử dụng NAT port forward thì pfSense tự động tạo rule phù hợp cho phép kết nối từ mạng WAN đến vùng DMZ. Hình 31: Rule được tạo tự động khi sử dụng NAT Các thành phần cơ bản của rule: Action: pfSense có 3 tùy chọn Pass/Block (hủy gói tin)/Reject (gởi cờ RST về phía người dùng); Disabled: tắt hoạt động của rule hiện tại mà không cần xóa; TCP/IP version: pfSense hoạt động với phiên bản IPv4 và IPv6; Protocol: pfSense cho phép tùy chọn các giao thức truyền dữ liệu (TCP, UDP, ICMP…) và giao thức định tuyến (OSPF, IGMP); Source/Destination (port): chỉ định các IP nguồn/đích; Log: bật chức năng theo dõi hoạtđộng của rule hiện tại. 2.4.4. Schedules Chức năng lập lịch trong pfSense cho phép cấu hình thời gian hoạt động của hệ thống một cách tự động thông qua bảng thời gian đã được thiết lập sẵn. Bằng cách này, hệ thống pfSense sẽ tự động điều chỉnh các firewall rule theo thời gian lập lịch. Internet Gateway với Firewall Open Sources 17
  • 20. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 32: Giao diện lập lịch pfSense Chúng tôi thực hiện cấu hình chỉ cho phép truy cập webserver của công ty vào thời gian đã được chỉ định trong mục Schedules. Tại menu cấu hình tường lửa rule, thực hiện chỉ định thời gian biểu đã được tạo trước đó. Hình 33: Chỉ định thời gian biểu Working Hình 34: Rule hoạt động khi thời gian biểu phù hợp 2.5. QoS Traffic Shaper còn được gọi QoS (Quality of Service) được sử dụng trong môi trường có nhiều loại dịch vụ mạng cùng hoạt động như VoIP, data network, streaming…, việc xây dựng QoS trong môi trường mạng doanh nghiệp là khá quan trọng nhằm bảo đảm tính ổn định cho các dịch vụ cần độ ưu tiên cao. Internet Gateway với Firewall Open Sources 18
  • 21. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Việc quản lý QoS được sử dụng trong pfSense dựa trên nền tảng AltQ (ALTernate Queueing). AltQ được tích hợp và sử dụng trong BSD UNIX nhằm cung cấp cơ chế xử lý gói tin cũng như quản lý luồng băng thông đi qua. Đối với các luồng dữ liệu TCP/IP mặc định thì các gói tin được xử lý theo thứ tự đầu vào (phương pháp FIFO). Để thay đổi thứ tự gói tin được xử lý, AltQ sử dụng các thuật toán xử lý các gói tin dựa trên mức độ ưu tiên. Các thuật toán được AltQ dùng trong cơ chế lập lịch kiểm soát gói tin bao gồm Class Based Queuing (CBQ), Priority-based queues (PRIQ) và Hierarchical Fair Service Curve (HFSC). CBQ: Class-based queues hoạt động dựa vào các chỉ số băng thông mạng như số phần trăm băng thông được sử dụng hoặc tổng dung lượng được sử dụng theo đơn vị kilobits, megabits hoặc gigabits với thời gian tính bằng giây. CBQ thực hiện phân mức ưu tiên cho các gói tin từ 0 đến 7, các gói tin có độ ưu tiên cao hơn sẽ được xử lý trước so với các gói tin có độ ưu tiên thấp hơn.Ví dụ: Dịch vụ/Giao thức Băng thông đƣợc sử dụng Web 30% SSH 20% ICMP 2% UDP 30% 18% Khác PRIQ: cơ chế PRIQ dựa vào mức độ ưu tiên được chia thành các mức độ từ 0 đến 15, các dịch vụ có giá trị ưu tiên cao hơn sẽ được xử lý trước. HFSC: thuật toán Hierarchical Fair Service Curve được sử dụng nhằm bảo đảm các kết nối đều có thể ở một mức ổn định cho từng loại dịch vụ.Giả sử, khi bạn tạo một kết nối lần đầu tiên đến một web server thì trong vài giây đầu tiên băng thông sử dụng là tối đa ~100KB/giây, trong vài giây tiếp theo thì băng thông sẽ giảm xuống phụ thuộc vào cấu hình ~25KB/sec. Vậy trong trường hợp người dùng thực hiện tải một tập tin dung lượng 5MB sẽ được pfSense giới hạn ở tốc độ thấp nhằm bảo đảm đủ băng thông cho các kết nối khác. Các phiên bản pfSense từ 2.0 tích hợp thêm cơ chế Dummynet, đây là cơ chế được sử dụng chính trong ipfirewall. Một tính năng mạnh mẽ mà pfSense cung cấp đến người dùng là cho phép quản lý băng thông đối với các giao thức lớp 7 như Skype, IRC, Internet Gateway với Firewall Open Sources 19
  • 22. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Yahoo,… ipfw-classifyd là ứng dụng chịu trách nhiệm phân loại các nhóm giao thức lớp 7 được tạo bởi một chương trình cụ thể. Cơ chế lọc QoS tại lớp 7 được thực hiện qua bốn bước chính: Phân loại nhóm giao thức lớp 7: tiến trình này được xử lý thông qua cơ chế kiểm soát gói tin tại AltQ hoặc Dummynet nhằm phân loại các gói tin TCP/IP. Chuyển hướng luồng dữ liệu: các gói tin đầu vào sau khi được kiểm tra tại lớp 3 (địa chỉ nguồn/đích) sẽ được pfSense chuyển sang xử lý tại tiến trình ipfwclassifyd. Tạo mẫu cho các giao thức lớp 7: các mẫu này được pfSense định nghĩa trong các tập tin có dạng tengiaothuc.pat nằm tại thư mục /usr/local/share/protocols, đây là thành phần quan trọng giúp pfSense có thể xác định các giao thức hoạt động tại lớp 7. Hình 35: Các tập tin lưu trữ các mẫu dữ liệu giao thức lớp ứng dụng Hình 36: Mẫu dữ liệu giao thức lớp 7 chương trình Half-Life 2 Internet Gateway với Firewall Open Sources 20
  • 23. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Chỉ định hành vi: sau khi các gói tin được so trùng tại bước 3, tiến trình ipfwclassifyd sẽ thực hiện hủy/cho phép gói tin phụ thuộc cấu hình từ người dùng. Hình 37: Quy trình xử lý gói tin tại pfSense Cấu hình tại pfSense Truy cập menu tường lửa > Traffic Shaper > chọn thẻ Wizards, pfSense cung cấp sẵn một số cấu hình tham khảo thường dùng trong kiến trúc mạng bao gồm: Single Lan multi Wan, Single Wan multi Lan, Multi Lan/Wan và Dedicated links. Hình 38: Các cấu hình tham khảo do pfSense cung cấp Chúng tôi thực hiện chọn 1 cấu hình mẫu cho sơ đồ tại mục SƠ ĐỒ TRIỂN KHAI là Single Wan multi Lan. Hình 39: Số lượng card LAN Internet Gateway với Firewall Open Sources 21
  • 24. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 40: Nhập thông số băng thông cho phép Upload/Download Hình 41: Cấu hình QoS dịch vụ VoIP Asterisk Hình 42: Cấu hình QoSdịch vụ P2P Internet Gateway với Firewall Open Sources 22
  • 25. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 43: Cấu hình QoS dịch vụGame (layer 7) Hình 44: Cấu hình QoS dịch vụ mạng khác Quản trị viên hệ thống cần tinh chỉnh độ ưu tiên các dịch vụ mạng tại phần này nhằm đảm bảo vẫn có thể kết nối đến các máy chủ trong trường hợp hệ thống mạng xảy ra độ trễ cao do nhiều người dùng cùng thời điểm. Internet Gateway với Firewall Open Sources 23
  • 26. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 45: Giao diện theo dõi lưu lượng và trạng thái QoS tại các interface 2.6. pfSense Squid proxy Squid là một web proxy có khả năng tích hợp vào hệ thống pfSense bằng chương trình quản lý gói cài đặt System > Packages, Squid hoạt động như một Web Cache proxy và có thể trong suốt (Transparent) với người dùng. Squid web Cache proxy sẽ giúp hệ thống mạng giảm băng thông đến hệ thống mạng WAN trong trường hợp nhiều người dùng cùng tảimột tập tin hoặc cùng truy cập vào một website. Khi pfSense vận hành trên nền tảng tích hợp (được cài đặt vào thẻ SD) thì bạn cần thận trọng khi sử dụng chức năng Web cache do giới hạn về mặt dung lượng lưu trữ. Người dùng có thể cài đặt gói mở rộng squidGuard phục vụ việc ngăn chặn danh sách các website có nội dung nhạy cảm. 2.6.1. Squid web cache proxy Chúng tôi tiến hành cài đặt hai gói Squid và squidGuard tại trình quản lý gói cài đặt pfSense. Hình 46: Gói tin Squid và squidGuard đã được cài đặt Truy cập Service > Proxy server: General Settings Internet Gateway với Firewall Open Sources 24
  • 27. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 47: Chỉ định phân vùng mạng Squid thực hiện Cache Hình 48: Tinh chỉnh dung lượng dữ liệu cho phép cache Hình 49: Tinh chỉnh dung lượng Cachecho phép Maximum object size = 1024 x 1024 = 1048576 kB Internet Gateway với Firewall Open Sources 25
  • 28. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 50: Bảng thống kê Squid log (package lightsquid) 2.6.2. SquidGuad SquidGuard là một gói mở rộng cho phép cập nhật danh sách các website có nội dung nhạy cảm và thực hiện ngăn chặn truy cập những nội dung này. Chúng tôi thực hiện bật chức năng SquidGuard tại menu Services > Proxy filter Hình 51: Bật tính năng filter Internet Gateway với Firewall Open Sources 26
  • 29. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 52: Bật tính năng ghi log Hình 53: Cho phép SquidGuard cập nhật các mẫu website từ máy chủ www.shallalist.de Sau khi Save, chuyển sang thẻ Blacklist thực hiện download và cập nhập các rule. Hình 54: Tiến trình cập nhật blacklists Internet Gateway với Firewall Open Sources 27
  • 30. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Tại thẻ Common ACL, thực hiện chỉ định các nhóm nội dung web ngăn chặn hoặc cho phép. Hình 55: Chỉ định nhóm nội dung cần ngăn chặn Hình 56: Kết nối đến trang web youporn.com bị ngăn chặn 2.7. VLAN VLAN thường được sử dụng trong việc phân hoạch kiến trúc mạng nội bộ, kỹ thuật này cho phép bạn xây dựng nhiều mạng LAN theo sơ đồ luận lý trên cùng một thiết bị/hạ tầng vật lý. Việc sử dụng VLAN trong môi trường mạng nội bộ giúp giảm thiểu vùng quảng bá (broadcast domain), đồng thời tạo thuận lợi cho quản trị viên điều hành hệ thống mạng cục bộ có số lượng máy tính lớn và phân bố trên nhiều vùng địa lý khác nhau. 2.7.1. Trunking Trunking được sử dụng tại những phân đoạn mạng yêu cầu truyền tải dữ liệu từ nhiều VLAN khác nhau trên cùng một cổng vật lý. Các frame dữ liệu khi chuyển ra khỏi cổng trunk sẽ được thêm một thông tinnhãn 802.1Q trong phần đầu của gói tin, việc này giúp các VLAN được cấu hình trên nhiều thiết bị phần cứng khác nhau có thể Internet Gateway với Firewall Open Sources 28
  • 31. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com giao tiếp với nhau. Cổng trunk thường được cấu hình phục vụ cho việc kết nối nhiều switch vật lý, hoặc các thiết bị hỗ trợ đánh nhãn 802.1Q có nhu cầu truy cập dữ liệu đến nhiều VLAN. 2.7.2. VLAN ID Mỗi VLAN tồn tại một ID với mục đích dịnh danh nguồn gốc dữ liệu khi các gói tin được vận chuyển qua kênh truyền có đánh nhãn dữ liệu. ID là một số định danh có giá trị từ 1 đến 4094. Giá trị VLAN mặc định trên switch là VLAN 1 (native vlan), và VLAN này không được sử dụng trong việc triển khai VLAN trunking, bạn có thể sử dụng các giá trị VLAN khác cho việc triển khai trunking. Một số trường hợp bạn có thể sử dụng VLAN 2 và tăng dần giá trị ID cho đến khi phù hợp với nhu cầu phân hoạch mạng nội bộ của doanh nghiệp. Một cách khác mà các quản trị viên thường sử dụng để phân hoạch VLAN là dựa vào octet thứ ba của dãy IP sẽ được cấp cho các máy trạm. Ví dụ, nếu bạn sử dụng dãy IP 192.168.10.0/24, 192.168.20.0/24 và 192.168.30.0/24 thì việc đặt các giá trị VLAN ID có thể sử dụng là VLAN 10, 20, 30. 2.7.3. Double tagging (QinQ) QinQ được sử dụng trong môi trường mạng có quy mô hạ tầng rất lớn như ISP. QinQ được pfSense hỗ trợ trừ phiên bản 2.0 trở về sau. Việc sử dụng các cấu hình QinQ trên pfSene ít được sử dụng trong hầu hết các môi trường mạng phổ biến và cần sự hỗ trợ của thiết bị phần cứng chuyên dụng. Ta có thể tăng lưu lượngtag lên gấp đôi bằng cách dùng giao thức 802.1Q hai chiều. Gọi là QinQ. Giải pháp này hiệu quả trong môi trường lớn như của ISP và các môi trường mạng khác có hệ thống lớn. Ngoài ra, ta còn có thể gắn tag ba lần. QinQ được hỗ trợ trong pfSense 2.0. Các hệ thống này chủ yếu cần một loại định tuyến mạnh mà chỉ có các router dựa trên ASIC (ApplicationSpecific Integrated Circuit) hỗ trợ, và QinQ tăng cấp độ phức tạp không cần thiết trong hầu hết các hệ thống môi trường mạng. 2.8. Cân bằng tải PfSense hỗ trợ người dùng hai phương pháp cân bằng tải: gateway và server. Cân bằng tải gateway cho phép hệ thống mạng phân bố lưu lượng dữ liệu trên nhiều kết nối WAN. Cân bằng tải server cho phép bạn phân bố việc sử tài nguyên từ các máy chủ nội bộ và bảo đảm tính dư thừa cho hệ thống máy chủ phục vụ. Phương pháp này Internet Gateway với Firewall Open Sources 29
  • 32. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com thường được sử dụng trong việc cân bằng tải các dịch vụ web, SMTP, DNS hoặc các dịch vụ sử dụng giao thức TCP trong việc truyền dữ liệu. Trong hệ thống mạng vừa và nhỏ, pfSense hỗ trợ khá tốt các vấn đề cân bằng tải cho hạ tầng mà không cần đầu tư vào các giải pháp thương mại có chi phí cao như BigIP, Cisco LocalDirector, Citrix NetScaler...Tuy nhiên, pfSense không thể hỗ trợ những tính năng phức tạp và đòi hỏi hiệu suất cao như các giải pháp cùng chức năng khác. Nếu doanh nghiệp cần giải quyết vấn đề cân bằng tải và cân đối chi phí hợp lý, chúng tôi khuyến cáo bạn nên sử dụng kết hợp pfSense và một hoặc nhiều giải pháp nguồn mở khác (nginx reverse proxy, LBS, HAproxy...) trong vùng DMZ để có kết quả tốt nhất. Dịch vụ chính chịu trách nhiệm cho quá trình cân bằng tải là relayd, đây là dịch vụ được tác giả tích hợp từ phiên bản 1.2.x và vẫn hoạt động khá tốt trong nhiều trường hợp triển khai hiện nay. HAProxy và Varnish là những plugin được cung cấp từ nhà phát triển thứ ba mà bạn có thể cài đặt với mục đích cải thiện chất lượng của máy chủ pfSense. 2.8.1. Cân bằng tải multi-WAN Hình 57: Sơ đồ mạng có 2 kết nối WAN Vùng mạng IP/SUBNET VMware NIC VmNet0 (Auto bridging) WAN 1 192.168.0.0/24 WAN 2 192.168.116.0/24 VmNet8 (NAT) Internal (LAN) 10.0.0.0/24 VmNet1 (Host-only) Phân vùng mạng nội bộ. Internet Gateway với Firewall Open Sources Mô tả Phân vùng mạng kết nối Internet (ISP 1) Phân vùng mạng kết nối Internet (ISP 2) 30
  • 33. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Việc kết hợp nhiều đường truyền WAN là một giải pháp thường được dùng trong các môi trường mạng doanh nghiệp vừa và nhỏ nhằm bảo đảm tính sẵn sàng cho doanh nghiệp đồng thời có thể tăng băng thông kết nối Internet. Để thực hiện phần cấu hình này, truy cập System> Routing > chọn thẻ Gateways. Trong phần này pfSense đã tự động tạo các Gateway mặc định cho hệ thống, tacó thể tùy chỉnh lại các gateway này cho phù hợp với hệ thống mà tađang quản lý. Chuyển sang thẻ Groups để tạo nhóm các Gateways. Hình 58: Cấu hình nhóm các gateway Hình 59: Nhóm các gateway thực hiện cân bằng tải Tại mục Gateway Priority, chúng tôi chọn Tier 1 cho cả gateway WAN 1 và WAN 2. Internet Gateway với Firewall Open Sources 31
  • 34. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Chú ý: vì trong ví dụ này, chúng tôi thực hiện cấu hình cân bằng tải bằng cách kết hợp nhiều đường truyền WAN nên Priority cho các gateway được ưu tiên bằng nhau. Trong trường hợp bạn cần thiết lập Multi WAN Failover thì chỉ cần thay đổi giá trị Tier có độ ưu tiên khác nhau. Cuối cùng, để bảo đảm tất cả các kết nối từ mạng LAN sẽ được định tuyến qua nhóm các gateway mà ta đã tạo, thực hiện truy cập tường lửa > Rules > chọn thẻ LAN và chỉnh sửa tường lửa rule kết nối Internet. Hình 60: Rule cần tinh chỉnh Hình 61: Chỉ định nhóm các gateway đã được tạo Thực hiện kiểm tra trong trường hợp 2 card WAN online và trường hợp 1 card WAN offline. Hình 62: Đường truyền khi 2 card WAN online Internet Gateway với Firewall Open Sources 32
  • 35. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 63: Đường truyền khi 1 card WAN offline Hình 64: Giao diện theo dõi trạng thái Gateway 2.8.2. Cân bằng tải máy chủ Trong phần này, chúng tôi sẽ thực hiện cấu hình cân bằng tải cho hệ thống web nằm trong vùng DMZ như sơ đồ sau: Hình 65: Cân bằng tải máy chủ web Internet Gateway với Firewall Open Sources 33
  • 36. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Vùng mạng IP/SUBNET VMware NIC Mô tả 172.16.10.250/24 VmNet8 (Host-only) 172.16.10.20/24 VmNet8 (Host-only) Máy chủ web Apache 1 172.16.10.21/24 DMZ pfSense DMZ gateway VmNet8 (Host-only) Máy chủ web Apache 2 Trước tiên, truy cập Services > Load balancer > chọn thẻ Monitors và thêm một cấu hình như hình sau: Hình 66: Cấu hình Monitor Tại mục Host/Hostname cần chỉ định 1 IP hoặc tên máy chủ web tại vùng DMZ, chọn máy chủ web có IP 172.16.10.20. Chuyển sang thẻ Pools, cấu hình danh sách các máy chủ web phục vụ cân bằng tải. Hình 67: Mô tả poolphục vụ cân bằng tải Internet Gateway với Firewall Open Sources 34
  • 37. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 68: Danh mục các máy chủ tham gia phục vụ cân bằng tải Sau khi danh mục các máy chủ web tại vùng DMZ đã được thêm vào tại mục Members, thực hiện tạo một Virtual Server (Services > Load Balancer > Virtual Server). Tại mục cấu hình IP Address tacần chỉ định địa chỉ IP/Alias tại card WAN. Internet Gateway với Firewall Open Sources 35
  • 38. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Để bảo đảm các kết nối từ Internet có thể truy cập website, chúng tôi thực hiện tạo một rule trong tường lửa cho phép kết nối từ WAN đến Alias định nghĩa các máy chủ web. Hình 69: Tạo alias danh sách các máy chủ web Hình 70: Danh mục máy chủ web Hình 71: Tạo tường lửa rule cho phép kết nối đến hệ thống web Thực hiện kiểm tra bằng cách truy cập vào WAN IP. Hình 72: pfSense thực hiện chuyển hướng người dùng vào các máy chủ web Internet Gateway với Firewall Open Sources 36
  • 39. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com 2.9. Redundancy vàFailover: CARP vàpfsync 2.9.1. Tổng quan CARP CARP (Common Address Redundancy Protocol) được viết ra bởi các nhà phát triển OpenBSD như một giải pháp dự phòng mã nguồn mở và miễn phí để chia sẻ địa chỉ IP giữa một nhóm các thiết bị mạng. Các giải pháp tương tự đã tồn tại, khởi đầu là IETF cho Virtual Router Redundancy Protocol (VRRP). Tuy nhiên, VRRP đã được đăng ký bản quyền bởi Cisco. Do đó, các nhà phát triển OpenBSD tạo ra một giao thức mã nguồn mở và miễn phí mới có thể đạt được hiệu quả tương tự mà không vi phạm bằng sáng chế. CARP chính thức ra mắt vào tháng 10 năm 2003 bởi OpenBSD, và sau đó được bổ sung vào FreeBSD. Mỗi tường lửa pfSense trong một nhóm CARP có địa chỉ IP riêng được đặt trên mỗi cổng, và nhóm các IP CARP được chia sẻ. Các địa chỉ IP CARP chỉ hoạt động khi firewall hiện tại đang là master. CARP gửi các gói tin đến các node khác, mỗi gói đến các địa chỉ IP ảo trên các interfacetrong mỗi giây hoặc lâu hơn. Các thông tin được gửi bằng multicast và switch sẽ chuyển tiếp đến các thiết bị khác trong mạng. CARP cũng quan sát các interfacecó CARP IP đang hoạt động để theo dõi các gói tin CARP. Nếu một gói tin không chuyển nhanh như mong đợi, nó sẽ giả định rằng hệ thống gặp vấn đề, và một node có chỉ số ưu tiên thấp sẽ được chuyển thành master. Chúng ta cấu hình hệ thống CARP như khi có vấn đề xảy ra thì thiết bị tường lửa được chỉ định kế đó sẽ lên nắm quyền quản lý các interface. Khi mất tín hiệu từ một máy master (không nhận được tín hiệu heartbeat) trên một interface, hoặc các gói tin đến chậm (đánh giá theo mức chậm hơn so với node thứ cấp), lập tức hệ thống sẽ giả định có vấn đề xảy ra. Các gói tin, thông tin của kết nối giao thức CARP có thể không truyền lẫn nhau do nguyên nhân gây ra bởi một số vấn đề ở lớp 2 như: các switch chặn multicast, xử lý kém, hoặc không cung cấp các gói tin tín hiệu (heartbeat) giữa các node, dẫn đến trường hợp tất cả các node "nghĩ" rằng chúng đều là master cho một số IP ảo nhất định. Lưu ý: Vì mỗi thành viên thuộc nhóm CARP phải có một địa chỉ IP trong một subnet, thêm với địa chỉ IP CARP, nên cần ít nhất ba địa chỉ IP có sẵn cho mỗi card mạng và một IP ảo. Điều này cũng áp dụng cho cổng WAN của bạn để chắc chắn rằng bạn có ít Internet Gateway với Firewall Open Sources 37
  • 40. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com nhất ba địa chỉ IP định tuyến có sẵn từ ISP. Khối bảng định tuyến nhỏ nhất sẽ có 3 địa chỉ IP là một mạng con /29, tương đương với 8 địa chỉ IP (6IP có thể sử dụng). 2.9.2. Tổng quan psync pfsync sẽ đồng bộ hóa từ tường lửa chính đến tường lửa thứ cấp. Thay đổi trên bảng trạng thái của máy chính sẽ được gửi đến các máy thứ cấp, và ngược lại. Phương thức này mặc định dùng multicast, thông qua địa chỉ IP định nghĩa trên cổng pfSense sử dụng unicast để cập nhập trong môi trường chỉ có 2 tường lửa, nơi multicast hoạt động không chính xác (do một số thiết bị chuyển mạch sẽ chặn multicast). Ta có thể sử dụng bất kỳ cổng nào đang mở để gửi cập nhập pfsync, tuy nhiên khuyến cáo nên sử dụng một cổng riêng để tăng độ an toàn và hiệu suất hoạt động. pfsync không hỗ trợ bất kỳ cơ chế chứng thực nào nên nếu có khả năng, bất cứ người dùng nào bên trong mạng nội bộ đều có thể thay đổi trạng thái đến tường lửa l thứ cấp. Trong môi trường mạng nhỏ ta có thể tận dụng cổng LAN cho giải pháp này. Để đồng bộ hóa sẽ tốn rất nhiều băng thông, có thể chiếm đến 10% lưu lượngmạng đi qua tường lửa tùy theo sự thay đổi trong mạng. Lợi ích của pfsync là vẫn có thể duy trì hệ thống khi xảy ra sự cố. Trong một số mô hình mạng, sẽ khó có thể nhận ra sự khác biệt giữa failing over statefully và losing state during failover. Trong một vùng mạng khác, nó có thể gây ra ảnh hưởng nghiêm trọng khiến mạng quá tải. Cấu hình pfsync phải được kích hoạt trên tất cả các node tham gia đồng bộ, bao gồm cả các node con. 2.9.3. Tổng quan đồng bộ XML-RPC của pfSense Đồng bộ hóa cấu hình pfSense cho phép bạn thực hiện hầu hết các thay đổi cấu hình chỉ trên các tường lửa chính, sau đó sao chép những thay đổi về phía tường lửa thứ cấp. Các phần được hỗ trợ gồm danh sách người dùng và các nhóm, các máy chủ xác thực, chứng chỉ, các rule của tường lửa, lập lịch, alias, NAT, IPSec, OpenVPN, DHCP, Wake on LAN, các cấu hình định tuyến và gateway, cân bằng tải, IP ảo, quản lý lưu lượng (hàng đợi, giới hạn, và các ứng dụng lớp 7), DNS forwarder, và captive portal. Các thiết lập khác phải được cấu hình riêng trên các tường lửa thứ cấp khi cần thiết, mặc dù sự đồng bộ đã bao gồm hầu hết các công việc nếu các dữ liệu trong hệ Internet Gateway với Firewall Open Sources 38
  • 41. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com thống không thường xuyên thay đổi. Đồng bộ hóa cấu hình nên sử dụng cùng một cổng chạy pfsync. Các thiết lập XML-RPC chỉ nên được kích hoạt trên node chính, tất cả các node khác nên bị vô hiệu hóa những thiết lập này. 2.9.4. Triển khai mô hình cơ bản Hình 73: Sơ đồ triển khai CARP Cấu hình máy chủ pfSense chính (primary) Cấu hình Vitural IP, CARP Tại máy chủ pfSense chính (IP: 192.168.0.151), chúng tôi thực hiện tạo hai IP ảo (VIP), một VIP dành cho kết nối WAN và một VIP dùng trong môi trường mạng LAN. Tại menu Firewall > Virtual IP, thực hiện thêm VIP với các thông tin ứng với sơ đồ mạng. Internet Gateway với Firewall Open Sources 39
  • 42. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 74: Cấu hình Virtual IP cho kết nối WAN Bằng cách tương tự, tạo một VIP cho kết nối mạng LAN, kết quả sau khi tạo VIP trên máy chủ pfSense chính sẽ như hình dưới. Hình 75: VirtualIP được cấu hình tại máy chủ pfSense chính Để đảm bảo các kết nối từ mạng LAN có thể thông suốt đến mạng Internet, thực hiện cấu hình Outbound NAT từ vùng mạng 10.0.10.0/24 đi qua WAN VIP. Hình 76: Cấu hình Outbound NAT Cấu hình pfsync Pfsync được thực hiện cấu hình trên trên card mạng còn lại của máy chủ pfSense, thao tác tại menuSystem > High Availability Sync, ta cần bảo đảm thông tin IP được thiết lập pfsync là địa chỉ IP của máy pfSense phụ, trong trường hợp này là 172.16.1.3. Internet Gateway với Firewall Open Sources 40
  • 43. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 77: Địa chỉ IP máy chủ pfSense phụ được cấu hình Cấu hình máy chủ pfSense phụ (secondary) Phần cấu hình cho máy chủ pfSense phụ tương tự như máy chủ pfSense chính. Tại mục cấu hình pfsync cho máy pfSense phụ, tacần chỉ định IP của máy pfSense chính để chắc chắn rằng hai máy tính có thể thực hiện việc theo dõi trạng thái lẫn nhau nhằm bảo đảm tính sẵn sàng cho hệ thống mạng. Sau khi hai máy pfSense được cấu hình hoàn chỉnh, chúng tôi thực hiện theo dõi trạng thái CARP tại menu Status. Internet Gateway với Firewall Open Sources 41
  • 44. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 78: Trạng thái CARP trên cả hai máy pfSense Để kiểm tra tính sẵn sàng của hệ thống mà chúng tôi vừa thiết lập, từ một máy tính trong mạng nội bộ, chúng tôi thực hiện ping đến một WAN IP đồng thời tắt một máy pfSense để kiểm tra tính thông suốt của luồng dữ liệu. Hình 79: Kết nối mạng bảo đảm tính thông suốt trong trường hợpmáy pfSense chính khởi động lại Internet Gateway với Firewall Open Sources 42
  • 45. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com 2.9.5. Triển khai mô hình multiWAN Hình 80: Sơ đồ hệ thống CARP multiWAN Danh mục IP WAN1 IP MÔ TẢ VMNET 192.168.0.151 Primary WAN1 Bridged 192.168.0.152 Secondary WAN1 Bridged 192.168.0.160 Shared CARP IP dùng cho Outbound NAT 192.168.0.161 Shared CARP IP dùng cho 1:1 NAT Danh mục IP WAN2 IP MÔ TẢ VMNET 192.168.10.151 Primary WAN1 Vmnet 8 (NAT) 192.168.10.152 Secondary WAN1 Vmnet 8 (NAT) 192.168.10.160 Shared CARP IP dùng cho Outbound NAT 192.168.10.161 Shared CARP IP dùng cho 1:1 NAT Internet Gateway với Firewall Open Sources 43
  • 46. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Danh mục IP pfsync IP MÔ TẢ VMNET 172.16.10.2 Primary firewall LAN IP Vmnet1 (host only) 192.168.10.152 Secondary firewall LAN IP Danh mục IP LAN IP MÔ TẢ 10.0.10.1 CARP shared LAN IP 10.0.10.2 Primary firewall LAN IP Vmnet1 (host only) 10.0.10.3 Secondary firewall LAN IP Danh mục IP DMZ IP MÔ TẢ 10.0.30.1 Primary firewall DMZ IP Vmnet2 (host only) Vmnet2 (host only) CARP shared DMZ IP 10.0.30.2 VMNET VMNET Vmnet3 (host only) 10.0.30.3 Secondary firewall DMZ IP Vmnet3 (host only) Tại máy chủ pfSense chính và phụ, chúng tôi thực hiện tạo danh sách Virtual IP ứng với sơ đồ mạng như hình dưới. Hình 81: Danh sách VirtualIP tại máy chủ pfSense chính Internet Gateway với Firewall Open Sources 44
  • 47. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 82: Danh sách VirtualIP tại máy chủ pfSense phụ Sau khi danh sách các VIP được thiết lập phù hợp với sơ đồ, ta cần bảo đảm chức năng pfsync cũng được cấu hình chính xác trên cả hai máy chủ pfSense. Để thực hiện thông suốt luồng dữ liệu từ máy tính trong mạng nội bộ có thể truy cập Internet, chúng tôi thực hiện cấu hình Outbound NAT trên cả hai WAN1/WAN2 VIP (cấu hình trên cả hai máy pfSense). Hình 83: Cấu hình Outbound NAT Thực hiện kiểm tra kết nối từ một máy tính trong mạng LAN, đồng thời ngắt kết nối một máy chủ pfSense để kiểm tra tính sẵn sàng của hệ thống. Hình 84: Trạng thái hệ thống Failover Internet Gateway với Firewall Open Sources 45
  • 48. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 85: Đường truyền chính được sử dụng khi hệ thống ổn định Hình 86: Đường truyền dự phòng được sử dụng khi đường chính bị gián đoạn 2.10. VPN Mạng riêng ảo (VPN) là một nền tảng cho phép người dùng kết nối an toàn đến một hệ thống mạng máy tính từ xa, người dùng đóng vai trò như một đối tượng trong môi trường mạng nội bộ. Một kết nối VPN được thiết lập thành công sẽ bảo đảm tính an toàn cho dữ liệu được truyền đi trên truyền không bảo mật. Việc triển khai VPN trên mã nguồn mở pfSense giúp doanh nghiệp giảm thiểu chi phí đầu tư vào các thiết bị phần cứng từ các hãng nổi tiếng như Cisco, Fortinet... mà vẫn đảm bảo được các yêu cầu về bảo mật cho các kết nối từ xa. pfSense hỗ trợ người dùng bốn loại VPN bao gồm: IPSec, L2TP, PPTP và OpenVPN. IPSec ngày nay được sử dụng rộng rãi song song với L2TP và PPTP. Việc triển khai IPSec được xem là phức tạp hơn so với các loại còn lại, tuy nhiên đây là giải pháp được khuyến cáo sử dụng trong hầu hết các giải pháp triển khai VPN do tính tương thích cao trong những môi trường mạng sử dụng nhiều nền tảng phần cứng/phần mềm khác nhau. OpenVPN là lựa chọn khác cho người sử dụng pfSense. Hoạt động dựa trên cơ chế SSL/TLS, OpenVPN có độ bảo mật, ổn định cao và dễ triển khai hơn so với IPSec. Internet Gateway với Firewall Open Sources 46
  • 49. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com 2.10.1. IPSEC Quá trình đàm phán tạo kết nối VPN bằng IPSec trải qua hai bước (pha) chính: Pha 1:Thiết bị đầu cuối thực hiện thiết lập một kênh truyền bảo mật bằng cách sử dụng ISAKMP (Internet Security Association and Key Management Protocol) trao đổi SA (Security Association) và các khóa (key) bao gồm: các thuật toán mã hóa, hàm băm, các phương pháp bảo vệ mã khóa. Quá trình đàm phán tại pha này có thể thực hiện qua hai cách: main mode và aggressive mode. Main mode Main mode thực hiện xác nhận và bảo đảm tính toàn vẹn của dữ liệu trong quá trình truyền tải dữ liệu, có 6 thông điệp được trao đổi trong chế độ này: Hai thông điệp đầu sử dụng đàm phán thuật toán mã hóa và thuật toán băm. Ví dụ: 3DES, MD5 hoặc RSA. Hai thông điệp tiếp theo đùng trao dổi khóa DH và nounce (độ dài khóa thường được sử dụng là 1024 bit) Hai thông điệp cuối đàm phán các chữ ký (signature), ID và chứng thư số. Hình 87: ISAKMP Main mode Aggressive mode Phương thức này tương tự như main mode, tuy nhiên toàn bộ tiến trình đàm phán chỉ sử dụng 3 gói tin. Đàm phán chính sách bảo mật (SA), ID, nonce và khóa bảo mật dữ liệu. Phản hồi các thông tin chấp nhận tại bước đầu tiên. Khởi tạo chữ ký số, hàm băm và ID. Hình 88: ISAKMP Aggressive mode Internet Gateway với Firewall Open Sources 47
  • 50. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Aggressive mode được đánh giá là nhanh hơn so với main mode, tuy nhiên mức độ bảo mật trong pha 1 sẽ giảm đi khi sử dụng aggressive mode trong đàm phán các chính sách bảo mật cho kênh truyền VPN. Kết quả tại pha 1 là các đối tượng hoàn thành việc tạo SA cho ISAKMP. Pha 2: Sau khi tạo SA thành công cho ISAKMP tại pha 1, giai đoạn 2 tiếp tục quá trình tạo SA cho IPSec. Trong pha này các cơ chế xác thực, hàm băm và thuật toán mã hóa bảo vệ dữ liệu IPSec sẽ được trao đổi. Sau khi pha 2 thực hiện thành công, tiến trình truyền dữ liệu sẽ được bắt đầu thông qua IPSec VPN. Triển khai Tại mục này, chúng tôi thực hiện triển khai VPN thông qua cơ chế IPSec. Thực hiện tạo một đường truyền mới bằng cách truy cập menu VPN > IPSec. Hình 89:Cấu hình tham số Remote gateway và Pre-shared key Internet Gateway với Firewall Open Sources 48
  • 51. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 90:Các tùy chọn nâng cao khác Hình 91: Kênh truyền VPN sau khi tạo thành công Bước tiếp theo, thực hiện tạo một firewall rule cho phép kết nối từ hệ thống mạng bên ngoài truy cập vào mạng nội bộ thông qua IPSec. Hình 92: Rule cho phép kết nối đến LAN thông qua IPSec 2.10.2. L2TP Toàn bộ gói L2TP, bao gồm cả payload và L2TP header, được gửi trong một gói tin UDP. Người ta thường dùng đường hầm L2TP để mang các session PPP. L2TP không cung cấp cơ chế bảo mật và chứng thực mạnh mẽ. Do đó, IPsec thường được sử dụng để bảo đảm an toàn cho các gói tin L2TP bằng cách cung cấp cơ chế bảo mật, xác thực và toàn vẹn. Sự kết hợp của hai giao thức này thường được gọi là L2TP/IPsec. Hai điểm đầu cuối của một đường hầm L2TP được gọi là LAC (L2TP Access Concentrator) và LNS (L2TP Network Server). LAC khởi tạo kết nối VPN trong khi LNS là máy chủ chờ đợi cho kết nối mới. Khi một kết nối VPN được thiết lập, luồng Internet Gateway với Firewall Open Sources 49
  • 52. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com kết nối giữa các client là hai chiều. Để hệ thống mạng chạy tốt hơn, các giao thức cấp cao hơn sau đó đều đi qua đường hầm L2TP. Để tạo điều kiện này, một phiên L2TP được gọi trong đường hầm cho mỗi giao thức cấp cao hơn như PPP. Hoặc là LAC, hoặc là LNS đều có thể khởi tạo các session. Lưu lượng truy cập cho mỗi phiên đang bị cô lập bởi L2TP, vì vậy ta có thể thiết lập nhiều mạng ảo trên một đường hầm duy nhất. MTU nên được quan tâm khi thực hiện L2TP. Các gói tin trao đổi trong một đường hầm L2TP được phân loại thành các gói điều khiển hoặc các gói dữ liệu. L2TP cung cấp tính năng độ tin cậy cho các gói điều khiển, nhưng không có độ tin cậy cho các gói dữ liệu. Độ tin cậy, nếu muốn, phải được cung cấp bởi các giao thức lồng nhau chạy trong mỗi session của đường hầm L2TP. L2TP cho phép tạo ra một mạng lưới quay số riêng ảo (VPDN) để kết nối một khách hàng từ xa vào mạng công ty bằng cách sử dụng một cơ sở hạ tầng được chia sẻ, có thể là Internet hoặc một nhà cung cấp dịch vụ mạng. 2.10.3. PPTP Point-to-Point Tunneling Protocol (PPTP) là một phương pháp để tạo ra các mạng riêng ảo. PPTP sử dụng một kênh điều khiển qua giao thức TCP và đường hầm GRE để đóng gói các gói tin PPP. pfSense có thể đóng vai trò như một máy chủ PPTP VPN trong danh mục các loại VPN được hỗ trợ, PPTP VPN phù hợp với các hạ tầng mạng đã được xây dựng từ trước tồn tại các máy khách sử dụng Windows hoặc OS X. Hơn nữa, pfSense có thể quản lý các luồng dữ liệu đi vào một máy chủ PPTP VPN trong mạng nội bộ. Mặc dù tính phổ dụng của PPTP VPN được biết đến trong nhiều năm trước đây, nhưng các chính sách bảo mật ngày nay không khuyến cáo bạn sử dụng kiến trúc VPN này vì lý do bảo mật. PPTP hoạt động dựa trên MS-CHAPv2, một giao thức xác thực đã được các chuyên gia bảo mật công bố là có thể bị giải mã 100% bằng cách sử dụng các công cụ của một hãng phần mềm thứ ba. Những giải pháp VPN có tính bảo mật cao hơn như OpenVPN, IPSec được các chuyên gia khuyến cáo sử dụng nhằm thay thế những kỹ thuật không còn bảo đảm tính an toàn cho hệ thống mạng của bạn. Internet Gateway với Firewall Open Sources 50
  • 53. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Do cơ chế xử lý gói tin GRE của pfSense chỉ có thể hoạt động trên một đường truyền WAN tại một thời điểm, nên đối với hạ tầng có sử dụng nhiều kết nối WAN thì pfSense không thể sử dụng chế độ cân bằng tải cho kết nối VPN. 2.10.4. OpenVPN OpenVPN là một giải pháp VPN nguồn mở dựa trên nền tảng SSL/TLS VPNtương thích với nhiều kiến trúc hệ điều hành khác nhau bao gồm BSD, Linux, MacOS, Solaris và Windows. OpenVPN cho phép sử dụng nhiều phương pháp chứng thực khác nhau như: X.509 (SSL/TLS, PKI), chứng thực bằng pfSense user, LDAP và RADIUS. Một số điểm mạnh khi triển khai OpenVPN như: Hoạt động tại lớp 2 và lớp 3 trong mô hình OSI có thể vận chuyển dữ liệu Ethernet frame (lớp 2), IPX packet (lớp 3) và cả NETBIOS (Windows Network Browsing packets) giúp giải quyết được vấn đề thường gặp trong các giải pháp VPN khác. Kết nối sử dụng OpenVPN có thể tương thích tốt với hầu hết các thiết bị tường lửa, proxy. Nếu bạn có thể kết nối đến các máy tính từ xa thông qua giao thức HTTPS thì bạn cũng có thể sử dụng OpenVPN để thiết lập đường truyền VPN. Có thể hoạt động với giao thức UDP hoặc TCP. Hiệu suất sử dụng cao: OpenVPN hỗ trợ nén các dữ liệu tại phía đầu cuối trước khi truyền đi qua môi trường mạng (sử dụng thư viện LZO). Hỗ trợ cài đặt trên nhiều nền tảng khác nhau: việc triển khai OpenVPN tại phía server lẫn phía người dùng đều khá dễ dàng so với IPSec. OpenWrt/FreeWrt là những hệ điều hành được tích hợp trên thiết bị phần cứng cũng hoạt động khá ổn định khi sử dụng OpenVPN. Triển khai Trong ví dụ tiếp theo, chúng tôi thực hiện phương pháp chứng thực kết hợp X.509 và pfSense user. Trước tiên, thực hiện tạo một CA bằng cách truy cập menu System > Cert manager Internet Gateway với Firewall Open Sources 51
  • 54. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 93: Thông tin VPN Server CA trong System: Certificate Authority Manager Tiếp theo, tại menu System > User manager, tạo một user mới với thông tin như hình dưới: Hình 94: Thông tin User/Password kết nối VPN trong User Manager Internet Gateway với Firewall Open Sources 52
  • 55. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Bước tiếp theo, thực hiện cấu hình OpenVPN Server, truy cập menu VPN > OpenVPN > chọn thẻ Wizards Hình 95: Chọn phương pháp xác thực Hình 96: Chỉ định CA Hình 97: Chỉ định Certificate Hình 98: Cấu hình tham số OpenVPN server Hình 99: Thiết lập thông số tunnel Internet Gateway với Firewall Open Sources 53
  • 56. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Tunnel network: dãy IP được dùng cấp cho người dùng khi kết nối thông qua VPN, cần bảo đảm rằng dãy IP không trùng với các dãy IP khác đã sử dụng trong hệ thống mạng. Local network: dãy IP nội bộ cho phép kết nối từ xa, phần này thường được chỉ định dãy IP mạng LAN. Hình 100: Cấu hình tường lửa rule Thực hiện chọn tường lửa rule và OpenVPN rule thông báo pfSense tự động tạo rule cho phép kết nối OpenVPN. Hình 101: Thông tin OpenVPN server 2.10.5. Trích xuất cấu hình OpenVPN client pfSense cung cấp cho người dùng một tiện ích cho phép trích xuất cấu hình đăng nhập OpenVPN nhanh chóng. Tại menu System > Packages > cài đặt tiện ích OpenVPN Client Export Utility Hình 102: Cài đặt tiện ích OpenVPN Client Export Utility Internet Gateway với Firewall Open Sources 54
  • 57. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 103: Quá trình cài đặt OpenVPN Client Export Utility Để trích xuất cấu hình cho người dùng, truy cập menu VPN > OpenVNP > chọn thẻ Client export, chọn thông tin cấu hình người dùng tamqm phù hợp với phiên bản máy khách kết nối. Chúng tôi chọn cấu hình Windows Installer 2.3-x86 do máy tính được sử dụng để kết nối là Windows 7 Professional – 32bits, tập tin tải về có dạng pfSenseudp-1194-tamqm-install.exe. Hình 104: Chọn phiên bản cấu hình thích hợp với máy khách Thực hiện kết nối VPN tại máy khách. Yêu cầu: Máy người dùng đã cài phiên bản OpenVPN Client phù hợp, trong ví dụ này chúng tôi đã cài đặt OpenVPN 2.3.2 (http://openvpn.net/index.php/opensource/downloads.html). Cài đặt tập tin cấu hình đã được cung cấp pfSense-udp-1194-tamqm-install.exe Internet Gateway với Firewall Open Sources 55
  • 58. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 105: Thông tin quá trình kết nối Hình 106: Quá trình kết nối thành công Hình 107: Địa chỉ IP cấp từ pfSense Bằng phương pháp tương tự, người dùng có thể cấu hình sử OpenVPN cho các thiết bị di động như máy tính bảng, điện thoại thông minh. Hình 108: Sử dụng OpenVPN trên thiết bị di động (Android) Internet Gateway với Firewall Open Sources 56
  • 59. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 109: Nhật ký kết nối OpenVPN tại pfSense 2.11. Captive portal Captive portal là một trang web hiển thị tại trình duyệt người dùng trước khi kết nối đến một phân vùng mạng đã được chỉ định, đây là một tính năng khá mạnh mẽ giúp quản lý việc truy cập của người dùng. pfSense hỗ trợ 2 phương pháp chứng thực người dùng bao gồm: pfSense user và chứng thực thông qua Radius server. Trong trường hợp hệ thống mạng cần cung cấp dịch vụ truy cập có tính phí, pfSense cung cấp giải pháp sinh mã voucher nhằm tạo những ưu đãi cho người dùng. Ví dụ, hệ thống mạng tại trường Đại học Hoa Sen yêu cầu sinh viên phải đăng nhập tài khoản email/password trước khi truy cập internet. Thực hiện truy cập menu Service > Captive Portal > tạo một Zone mới. Hình 110: Chỉ định vùng mạng cần thông báo chứng thực Hình 111: Chỉ định URL sẽ được chuyển hướng sau khi đăng nhập thành công Internet Gateway với Firewall Open Sources 57
  • 60. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 112: Giới hạn băng thông Download/upload cho từng người dùng Hình 113: Chọn phương thức chứng thực Hình 114: Upload mã HTML hiển thị tại người dùng Mã HTML tham khảo như bảng dưới: <!-- captiveprotal.html --> <html><head> <title>Welcome to Hoa Sen University | Hoa Sen University</title> <linkrel="shortcut icon"href="http://hoasen.edu.vn/misc/favicon.ico"/> <metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/> </head> <bodyBGCOLOR="224999"TEXT="FFFFFF"><center> <h1><br/>CHÀO MỪNG BẠN ĐÃ KẾT NỐI ĐẾN <br/>HỆ THỐNG MÁY TÍNH ĐẠI HỌC HOA SEN</h1> <h2>VUI LÒNG NHẬP TÀI KHOẢN VÀ MẬT KHẨU ĐĂNG NHẬP</h2> <imgsrc="captiveportal-logo.jpg"width="200"></img> <formmethod="post"action="$PORTAL_ACTION$"> <p>Tài khoản:<inputname="auth_user"type="text"></p> <p>Mật khẩu:<inputname="auth_pass"type="password"></p> <inputname="redirurl"type="hidden"value="$PORTAL_REDIRURL$"> <inputname="accept"type="submit"value="Đăng nhập"> </form> </center> </body></html> Sau khi Save, thực hiện truy cập web từ một máy tính trong mạng LAN. Internet Gateway với Firewall Open Sources 58
  • 61. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 115: Giao diện yêu cầu đăng nhập tại người dùng Hình 116: Giao diện theo dõi trạng thái đăng nhập của người dùng, Status > Captive portal 2.12. Logging, monitoring, và statistics Theo cấu hình mặc định, pfSense thực hiện ghi log với số lượng bản ghi giới hạn nhằm giúp quản trị viên theo dõi trạng thái hiện tại của hệ thống tại thời điểm hiện tại. Trong trường hợp doanh nghiệp cần thực hiện ghi log trong thời gian dài và cần thu thập nhiều thông tin hơn, thì giải pháp được khuyến cáo sử dụng là “Remote syslog” nhằm tăng dung lượng lưu trữ log đến một hệ thống bên ngoài. Để thực hiện theo dõi trạng thái của máy chủ pfSense, quản trị viên có thể thực hiện bằng 2 cách: Cách 1: Truy cập bằng giao diện web Status > System logs > Chọn tab tương ứng cần theo dõi như hình bên dưới: Internet Gateway với Firewall Open Sources 59
  • 62. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 117: Theo dõi DHCP log bằng giao diện web Hình 118: tường lửa > Summary view Cách 2:theo dõi bằng Secure Shell, các tập tin log được lưu trữ tại đường dẫn /var/log/. Hình 119: Theo dõi DHCP log bằng Secure Shell Internet Gateway với Firewall Open Sources 60
  • 63. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com 2.12.1. Remote syslog Để đảm bảo tính sẵn sàng khi có nhu cầu theo dõi các sự kiện được ghi log trong thời gian dài, phương pháp Remote syslog là giải pháp tối ưu để phục vụ mục đích này. Để thực hiện phân tích log từ xa, bạn cần một chương trình syslog server để tiếp nhận các dữ kiện từ pfSense gởi đến. Trong phần này, chúng tôi sử dụng máy chủ Splunk hoạt động tại địa chỉ 10.0.0.32 có nhiệm vụ nhận các bản ghi log được gởi từ pfSense. Hình 120: Cấu hình Splunk nhận các bản ghi log thông qua giao thức UDP Tại giao diện web pfSense Status > System logs > chọn thẻ Settings và cấu hình IP máy chủ Syslog Server, chọn các danh mục dịch vụ cần theo dõi. Hình 121: Giao diện cấu hình Remote Syslog Internet Gateway với Firewall Open Sources 61
  • 64. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 122: Biểu đồ phân tích Syslog 2.12.2. Đồthị RRD Đồ thị RRD (Round-Robin Database) là một tiện ích hỗ trợ người dùng theo dõi lịch sử hoạt động của hệ thống theo đồ thị, bao gồm: System (trạng thái máy chủ pfSense), Traffic (lưu lượng qua các card mạng, IPSec và Outbound), Packets, Quality… Hình 123: Biểu đồ trạng thái máy chủ pfSense Internet Gateway với Firewall Open Sources 62
  • 65. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com Hình 124: Biểu đồ lưu lượng dữ liệu tại card WAN Internet Gateway với Firewall Open Sources 63
  • 66. Draft1 – bnphuonganhvn@gmail.com | minhtamnw@gmail.com CHƢƠNG 3. TÀI LIỆU THAM KHẢO [1] Buechler, Christopher M., and Jim Pingle. PfSense: The Definitive Guide: The Definitive Guide to the PfSense Open Source Firewall and Router Distribution. [s.l.]: Reed Media Services, 2009. Web. [2] Williamson, Matt. PfSense 2 Cookbook a Practical, Example-driven Guide to Configure Even the Most Advanced Features of PfSense 2. Birmingham, U.K.: Packt Open Source, 2011. Web. [3] Hansteen, Peter N. M. The Book of PF: A No-nonsense Guide to the OpenBSD Firewall. San Francisco: No Starch, 2011. Web. [4] Feilner, Markus, and Norbert Graf. Beginning Open VPN 2.0.9: Build and Integrate Virtual Private Networks Using OpenVPN. Birmingham: Packt, 2009. Web. [5] Hélder Pereira, André Ribeiro, Paulo Carvalho, "L7 Classification and Policing in the pfSense Platform", Actas da CRC'2009 - 9ª Conferência sobre Redes de Computadores, IST - Taguspark, Oeiras, 15-16 Outubro 2009. [6] "PfSense Setup HQ." PfSense Setup HQ. N.p., n.d. Web. 18 Dec. 2013. <http://pfsensesetup.com/>. [7] BSD Firewalling with PfSense by Chris Buechler: 2010 NYCBSDCon. YouTube. YouTube, 07 Feb. 2012. Web. 18 Dec. 2013. <http://www.youtube.com/watch?v=ckesvwkNiJE>. [8] "Layer 2 Tunneling Protocol." Wikipedia. Wikimedia Foundation, 5 Dec. 2013. Web. 6 Dec. 2013. <http://en.wikipedia.org/wiki/Layer_2_Tunneling_Protocol>. [9] "Point-to-Point Tunneling Protocol." Wikipedia. Wikimedia Foundation, 9 Dec. 2013. Web. 12 Dec. 2013. <http://en.wikipedia.org/wiki/Point-toPoint_Tunneling_Protocol>. Internet Gateway với Firewall Open Sources 64