Internet ngày nay tiềm ẩn vô số mối đe dọa, và nếu bạn đã từng tự xây dựng một router OPNsense để giám sát toàn bộ lưu lượng ra vào mạng của mình, bạn sẽ càng thấm thía điều này. Bản thân tôi đã thiết lập OPNsense với mục tiêu cấu hình các hệ thống Phát hiện Xâm nhập (IDS) và Ngăn chặn Xâm nhập (IPS). Ngay khi nhận thấy mạng lưới của mình liên tục bị quét, tìm kiếm các dịch vụ mở, tôi đã nhanh chóng triển khai chúng. Kể từ đó, tôi còn thiết lập thêm một honeypot để thu thập dữ liệu về các cuộc tấn công, nhưng đó là một câu chuyện khác.
Khi nói đến việc cấu hình các hệ thống bảo mật này trên OPNsense, có một vài lựa chọn đáng cân nhắc, cả miễn phí và trả phí. Trong bài viết này, chúng ta sẽ cùng tìm hiểu về CrowdSec, Suricata và ZenArmor, trong đó ZenArmor là một dịch vụ trả phí. Bạn hoàn toàn có thể sử dụng chỉ CrowdSec và Suricata để bảo vệ mạng của mình, dù cần lưu ý rằng Suricata sẽ không hoạt động trên cổng WAN nếu bạn đang dùng kết nối PPPoE. Đó cũng chính là trường hợp của tôi, vì vậy cá nhân tôi đang sử dụng kết hợp CrowdSec và ZenArmor. Ngoài ra, tôi cũng đã thiết lập một quy tắc tường lửa để chặn các địa chỉ IP có trong danh sách FireHOL IP, mặc dù đây là một biện pháp khá cơ bản.
IDS và IPS: Khái Niệm và Sự Khác Biệt Quan Trọng
Có một sự khác biệt quan trọng giữa hai hệ thống bảo mật này
Giao diện tổng quan OPNsense hiển thị tình trạng mạng và các cảnh báo bảo mật
Về cơ bản, cả hai hệ thống IDS và IPS đều hoạt động khá giống nhau, đặc biệt là ở cấp độ bề mặt. Chúng đều có chức năng giám sát mạng, cảnh báo bạn khi có điều gì đó bất thường, và trong hầu hết các trường hợp, chúng sẽ học cách phát hiện các mối đe dọa mới nổi cùng những thay đổi trong giao tiếp trên mạng của bạn.
Một Hệ thống Phát hiện Xâm nhập (IDS – Intrusion Detection System) về cơ bản là một “người quan sát” rất thông minh. Nó sẽ “ngửi” mọi gói tin, kiểm tra chúng dựa trên các dấu hiệu (signature) hoặc quy tắc hành vi, và nếu có điều gì đó đáng ngờ, nó sẽ cảnh báo cho bạn. Thông thường, bạn sẽ nhận được các mục nhật ký (và thông báo đẩy nếu bạn đã cấu hình) mỗi khi tường lửa phát hiện vấn đề, nhưng gói tin đó thường vẫn sẽ được cho phép đi qua trừ khi bạn tự mình can thiệp và chặn thủ công.
Ngược lại, một Hệ thống Ngăn chặn Xâm nhập (IPS – Intrusion Prevention System) thực hiện tất cả những gì IDS làm, cộng thêm một bước nữa: nó chặn, loại bỏ hoặc từ chối lưu lượng truy cập đáng ngờ trong thời gian thực. ZenArmor ở chế độ “protect” (bảo vệ) hoặc Suricata với IPS được kích hoạt đều thuộc loại này. Tuy nhiên, nhược điểm là lưu lượng truy cập có vẻ đáng ngờ có thể bị chặn. Mặc dù ZenArmor chưa chặn bất kỳ lưu lượng hợp lệ nào, tôi đã thấy nó chặn một số lưu lượng và gắn cờ những lưu lượng mà tôi biết là an toàn là có khả năng không an toàn. Ví dụ, khi chơi Counter-Strike trên FaceIt, tôi đã thấy nó gắn cờ một máy chủ API từ phần mềm chống gian lận là có khả năng không an toàn. May mắn thay, nó không chặn kết nối, nếu không tôi có thể đã bị ngắt kết nối khỏi máy chủ.
Khi cấu hình IPS, đặc biệt, bạn sẽ muốn đảm bảo rằng lưu lượng hợp pháp không bị chặn hoàn toàn. Hãy bắt đầu từ quy mô nhỏ và mở rộng dần, thay vì bật tất cả mọi thứ cùng một lúc. Việc hoàn tác không quá khó, nhưng có thể gây phiền toái nếu bạn không nhận ra vấn đề cho đến khi nó xảy ra.
ZenArmor: Giải Pháp Bảo Mật Toàn Diện Cho OPNsense
Rất nhiều tùy chọn cấu hình mạnh mẽ
Bảng điều khiển ZenArmor trên OPNsense hiển thị các mối đe dọa đã chặn và lưu lượng mạng
ZenArmor có quy trình thiết lập tương đối đơn giản: bạn chỉ cần cài đặt plugin từ trình quản lý plugin của OPNsense, và bạn sẽ thấy một tab ZenArmor mới ở bên trái. Tại đây, bạn có thể cấu hình tất cả các cài đặt của mình, bao gồm nội dung bị chặn, cơ sở dữ liệu thiết bị của bạn, và nhiều hơn nữa. Cá nhân tôi cũng đang sử dụng một cơ sở dữ liệu Elastic bên ngoài để thu thập dữ liệu của mình, với thời gian lưu trữ là bảy ngày. Điều này giúp ngăn chặn việc nó sử dụng quá nhiều RAM trên máy chủ của tôi, và cũng có nghĩa là tôi có thể thực hiện một số xử lý dữ liệu nâng cao nếu muốn.
Sau khi cài đặt, không có quá nhiều điều phải suy nghĩ thêm. Bạn sẽ cần vào phần Policies (Chính sách) để thiết lập những gì bạn muốn và không muốn chặn. Dưới đây là những gì tôi hiện đang chặn:
- Phần mềm độc hại/Virus
- Lừa đảo (Phishing)
- Các trang web spam
- Có khả năng nguy hiểm
- Các đợt bùng phát phần mềm độc hại/lừa đảo/virus gần đây
- Botnet C&C (Máy chủ điều khiển Botnet)
- Tên miền Botnet DGA
- Phần mềm gián điệp và quảng cáo (Spyware and adware)
- Phần mềm ghi lại thao tác bàn phím và giám sát (Keyloggers and monitoring)
Tôi không có bất kỳ ngoại lệ đặc biệt nào được cấp, và tôi đã chọn cho phép các chính sách khác, vì những chính sách như “parked domains” (tên miền đã bị bỏ trống) có thể vô hiệu hóa quyền truy cập vào các tên miền mà tôi thực sự muốn xem. Tôi đã thấy điều này xảy ra trong chế độ xem phiên trực tiếp của mình với các trang web hợp pháp, vì vậy tôi biết rằng việc chặn chúng sẽ tạo ra các báo động giả (false positives). Bạn cũng có thể tạo danh sách trắng (whitelist) các URL nếu bạn thấy rằng các trang web hợp pháp đang bị chặn, điều mà tôi cũng đã thấy xảy ra đôi khi.
Các hình ảnh trên được lấy từ tài liệu chính thức của ZenArmor vì lý do bảo mật, nhưng chúng phản ánh chính xác giao diện người dùng mà tôi thấy trong triển khai của mình trên OPNsense. Bạn có thể xem tất cả lưu lượng mạng của mình trong các bảng điều khiển này, bao gồm các mối đe dọa, kết nối bị chặn, và các yêu cầu web, DNS và TLS. Bạn có thể thay đổi số lượng hàng hiển thị, lọc theo thiết bị và nhiều hơn nữa.
Thành thật mà nói, hầu hết các thông tin này khá chi tiết, và tôi không hoàn toàn bị thuyết phục rằng mình sẽ muốn thực hiện nhiều xử lý bổ sung trong Elastic. Tôi là một người thích thống kê, nhưng gần như mọi thứ tôi cần đều đã có sẵn ở đây. Bạn thậm chí có thể khởi tạo một truy vấn WHOIS từ các danh sách này, để bạn có thể nhận thêm thông tin về một tên miền nếu không rõ ngay lập tức nó đang được sử dụng cho mục đích gì.
Mặc dù tôi đang sử dụng phiên bản dùng thử của ZenArmor, nó vẫn là một công cụ hữu ích ngay cả trong phiên bản miễn phí. Nó vẫn có thể chặn các trang web độc hại và phát hiện botnet, nhưng bạn sẽ mất quyền truy cập vào các tính năng như bảo vệ chống lại các đợt bùng phát virus và phần mềm độc hại mới. Nếu bạn là người có ý thức bảo mật cao, điều đó vẫn có thể đáng giá đối với bạn. Hiện tại tôi vẫn đang cân nhắc liệu có nên đăng ký khi thời gian dùng thử kết thúc hay không, nhưng đây là một công cụ mạnh mẽ từ một công ty dường như thực sự quan tâm đến việc cân bằng nhu cầu của người dùng gia đình không thương mại mà không bị lạm dụng bởi những người dùng thương mại cố gắng sử dụng gói thấp hơn.
Tôi khuyên bạn nên dùng thử ZenArmor và xem bạn nghĩ sao. Bản dùng thử miễn phí trong hai tuần và phiên bản miễn phí vẫn khá tốt. Tôi hiện đang dùng nó để giám sát mạng LAN của mình.
CrowdSec: Phát Hiện Xâm Nhập Cộng Đồng Mạnh Mẽ
Cài đặt và vận hành chỉ mất năm phút
CrowdSec đơn giản một cách tuyệt vời, và đó là một phần lý do tại sao tôi yêu thích nó. Bạn cài đặt nó như một plugin OPNsense, và nó quản lý mọi thứ cho bạn. Không có gì phải cấu hình, và bạn có thể ghép nối nó với một bảng điều khiển trực tuyến để xem chi tiết hơn về những gì đang diễn ra với mạng của bạn. Trong các ảnh chụp màn hình, bạn có thể thấy rằng nó đã chặn hành vi quét cổng trên mạng của tôi. Tôi biết rằng nó đang hoạt động, và đó là một sự an tâm bổ sung khi có nó được thiết lập.
Nói rõ hơn, các công cụ như CrowdSec không phải là quan trọng nhất nếu bạn không phơi bày bất kỳ cổng nào ra internet, nhưng tôi vẫn thích có chúng. Nó nhanh chóng và dễ dàng triển khai, và router OPNsense của tôi có thể xử lý nó. Vậy tại sao tôi lại không thiết lập? Trên cả CrowdSec và ZenArmor, tôi chưa nhận thấy bất kỳ vấn đề nào liên quan đến kết nối, vì vậy tôi biết rằng bất cứ thứ gì chúng đang chặn, nó không phải là thứ tôi nhận thấy trong việc sử dụng hàng ngày. Rất may mắn, cũng không có bất kỳ dấu hiệu nào cho thấy có phần mềm độc hại trên bất kỳ thiết bị nào của tôi, nhưng đó cũng là một sự an tâm bổ sung mà các công cụ này mang lại cho tôi.
Tại Sao Nên Sử Dụng IDS/IPS Trên OPNsense/pfSense?
Chắc chắn bạn nên triển khai các giải pháp bảo mật này
Cấu hình CrowdSec trên OPNsense, hiển thị danh sách IP bị chặn tự động
Nếu bạn là người lo lắng về bảo mật, hoặc chỉ đơn giản là muốn biết những gì đang diễn ra trong mạng của mình, những công cụ này là vô giá. Chúng là một lý do lớn để bạn cân nhắc tự xây dựng một router OPNsense hoặc pfSense ngay từ đầu, bởi vì lượng dữ liệu mà tôi có thể nhận được từ các công cụ này là vô giá. Tôi không sống trong một cảm giác an toàn giả tạo, nhưng tôi biết rằng mọi thứ trông an toàn trên mạng của mình, điều này tốt hơn bất cứ điều gì mà router của nhà cung cấp dịch vụ internet (ISP) có thể cung cấp cho tôi trước đây.
Nếu bạn có phần cứng, tôi hoàn toàn khuyên bạn nên thiết lập các hệ thống này. Nếu bạn không thiết lập chúng, bạn gần như đang bỏ lỡ mục đích chính của việc tự xây dựng một router tùy chỉnh.
Những công cụ này là ví dụ điển hình cho những lợi thế của một nền tảng như OPNsense, và tôi sẽ không bao giờ bỏ qua chúng vì chúng hoàn toàn miễn phí. Ngay cả Suricata, nếu bạn có mạng không sử dụng PPPoE, cũng rất tuyệt vời và được tích hợp sẵn trong OPNsense. Phiên bản chuyên nghiệp (pro) miễn phí với tính năng gửi dữ liệu ẩn danh (telemetry), và ngay cả phiên bản miễn phí thông thường cũng khá tuyệt vời. Tôi không thể sử dụng nó vì loại kết nối internet của mình, nhưng nhiều người có thể, vì vậy rất đáng để thử. Các cơ sở dữ liệu và danh sách công khai có sẵn, được cộng đồng các chuyên gia bảo mật trên toàn cầu đóng góp, là một nguồn tài nguyên tuyệt vời đáng để khai thác thông qua tất cả các công cụ này.
Với những lợi ích rõ ràng mà IDS và IPS mang lại, việc tích hợp chúng vào hệ thống OPNsense hoặc pfSense không chỉ là một lựa chọn mà còn là một bước đi thông minh để bảo vệ mạng của bạn khỏi các mối đe dọa ngày càng tinh vi. Hãy bắt đầu khám phá và tự mình trải nghiệm sự an tâm mà các công cụ này mang lại!