Internet ngày nay ẩn chứa vô vàn mối hiểm nguy tiềm tàng. Kể từ khi tự xây dựng một router OPNsense và có khả năng theo dõi toàn bộ lưu lượng ra vào mạng, tôi càng nhận thức rõ hơn về điều này. Mục tiêu ban đầu khi thiết lập OPNsense của tôi là cấu hình Hệ thống Phát hiện Xâm nhập (Intrusion Detection System – IDS) và Hệ thống Ngăn chặn Xâm nhập (Intrusion Prevention System – IPS). Khi nhận thấy lưu lượng truy cập liên tục quét mạng, tìm kiếm các dịch vụ mở, tôi đã nhanh chóng triển khai chúng. Hiện tại, tôi cũng đã thiết lập một honeypot để thu thập dữ liệu, nhưng đó là câu chuyện khác.
Để cấu hình các hệ thống này, có một số tùy 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ẽ tìm hiểu về CrowdSec, Suricata và ZenArmor, trong đó ZenArmor là dịch vụ trả phí. Bạn hoàn toàn có thể sử dụng kết hợp CrowdSec và Suricata, tuy nhiên cần lưu ý rằng Suricata sẽ không hoạt động trên mạng WAN của bạn nếu bạn sử dụng PPPoE. Đó chính là tình huống của tôi, vì vậy cá nhân tôi đang sử dụng CrowdSec và ZenArmor. 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 IP của FireHOL, mặc dù đây là phương pháp khá cơ bản.
Sự Khác Biệt Giữa Hệ Thống Phát Hiện Xâm Nhập (IDS) và Hệ Thống Ngăn Chặn Xâm Nhập (IPS)
Có một sự khác biệt quan trọng giữa hai hệ thống này
Bảng điều khiển OPNsense hiển thị lưu lượng mạng và các cảnh báo bảo mật
Cả IDS và IPS đều hoạt động khá tương tự nhau, đặc biệt là ở cấp độ cơ bản. Chúng đều giám sát mạng của bạn, có thể cảnh báo 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.
Hệ thống Phát hiện Xâm nhập (IDS) về cơ bản là một “người quan sát” rất thông minh. Nó phân tích từng gói tin, kiểm tra dựa trên các chữ ký 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 về sự tồn tại của mối đe dọa đó. 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) bất cứ khi nào tường lửa của bạn phát hiện sự cố. Tuy nhiên, gói tin đáng ngờ đó thường vẫn sẽ được cho phép đi qua, trừ khi bạn tự tay can thiệp và chặn nó.
Hệ thống Ngăn chặn Xâm nhập (IPS) thực hiện tất cả những gì IDS làm, cộng thêm một bước bổ sung: nó chặn, loại bỏ hoặc từ chối lưu lượng truy cập đáng ngờ theo thời gian thực. ZenArmor ở chế độ “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ũ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 của tôi, nhưng 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 là bạn sẽ muốn đảm bảo rằng lưu lượng hợp lệ 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ì kích hoạt mọi thứ cùng một lúc. Việc hoàn tác không khó, nhưng có thể gây khó chịu nếu bạn không nhận ra điều đó cho đến khi nó xảy ra.
Thiết lập và Tối ưu ZenArmor trên OPNsense
Có rất nhiều tùy chọn cấu hình
Giao diện quản lý chính của ZenArmor hiển thị các tùy chọn cấu hình bảo mật
ZenArmor có cách 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à sau đó bạn sẽ có một tab ZenArmor mới ở phía bên trái. Bạn có thể cấu hình tất cả các cài đặt của mình tại đó, 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. 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, với thời gian lưu giữ là bảy ngày. Điều này giúp ngăn chặn nó sử dụng quá nhiều RAM trên máy chủ của tôi, đồng thời cho phép tôi thực hiện một số xử lý dữ liệu nâng cao nếu muốn.
Thực sự không có quá nhiều điều để suy nghĩ sau khi nó được cài đặt. Bạn sẽ cần vào mục 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 đang chặn:
- Mã độc/Virus
- Lừa đảo (Phishing)
- Các trang web spam
- Có khả năng nguy hiểm
- Các đợt bùng phát mã độc/lừa đảo/virus gần đây
- Máy chủ điều khiển Botnet (Botnet C&C)
- Tên miền DGA của Botnet
- Phần mềm gián điệp và quảng cáo (Spyware và Adware)
- Phần mềm ghi lại thao tác bàn phím (Keyloggers) và giám sát
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ì các chính sách như “tên miền bị đỗ” (parked domains) 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 lệ, vì vậy tôi biết rằng việc chặn chúng sẽ tạo ra các trường hợp 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 lệ đang bị chặn, điều mà tôi cũng thỉnh thoảng thấy xảy ra.
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 riêng tư, nhưng phản ánh chính xác giao diện người dùng mà tôi thấy trong việc 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, cũng như các yêu cầu web, DNS và TLS. Bạn có thể thay đổi số lượng hàng được hiển thị, lọc theo thiết bị, v.v.
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 tin rằng mình sẽ muốn thực hiện thêm nhiều xử lý bổ sung trong Elastic. Tôi là một người đam mê thống kê, nhưng hầu hết mọi thứ tôi muốn đều đã có sẵn ở đây. Bạn thậm chí có thể khởi tạo truy vấn WHOIS từ các danh sách này để có thêm thông tin về một tên miền nếu không rõ ràng 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, nhưng 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à mã độc mới. Nếu bạn là người quan tâm đến bảo mật, đ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 mình có đăng ký sau 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 vì mục đích 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 phiên bản thấp hơn với chi phí rẻ hơn.
Tôi khuyên bạn nên dùng thử ZenArmor và xem bạn nghĩ gì. 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 đang sử dụng nó để giám sát mạng LAN của mình.
Triển khai CrowdSec: Đơn giản và Hiệu quả
Cài đặt 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 chỉ cần cài đặt nó dưới dạng một plugin OPNsense, và nó sẽ quản lý mọi thứ cho bạn. Không có gì cần phải cấu hình, và bạn có thể kết 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 xảy ra với mạng của mình. Trong các ảnh chụp màn hình tương ứng, 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 mở bất kỳ cổng nào ra internet, nhưng tôi thích có chúng. Việc triển khai nhanh chóng và dễ dàng, và router OPNsense của tôi có thể xử lý được. Tại sao tôi không thiết lập nó? 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 kể chúng đang chặn cái gì, nó không chặn bất cứ thứ gì mà tôi nhận thấy trong việc sử dụng hàng ngày. Cũng may mắn là chưa có bất cứ điều gì cho thấy có mã độc 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.
Suricata: Lựa chọn Mạnh Mẽ cho Phát hiện và Ngăn chặn Xâm nhập
CrowdSec hiển thị danh sách các IP bị chặn do quét cổng trên mạng
Suricata là một công cụ phát hiện và ngăn chặn xâm nhập mã nguồn mở mạnh mẽ, thường được tích hợp sẵn trong OPNsense. Đây là một lựa chọn tuyệt vời cho nhiều người dùng, đặc biệt là những ai không sử dụng kết nối PPPoE cho WAN của mình. Suricata có khả năng phân tích gói tin sâu, phát hiện các mối đe dọa dựa trên chữ ký và hành vi, và có thể hoạt động ở cả chế độ IDS và IPS.
Phiên bản chuyên nghiệp của Suricata có sẵn miễn phí đi kèm với tính năng thu thập dữ liệu ẩn danh (telemetry), cung cấp thêm thông tin chi tiết. Ngay cả phiên bản miễn phí thông thường cũng đã rất mạnh mẽ. Mặc dù tôi không thể sử dụng nó vì loại kết nối internet của mình (PPPoE), nhưng rất nhiều người có thể, vì vậy rất đáng để thử. Các cơ sở dữ liệu công cộng và danh sách được xây dựng dựa trên đóng góp cộng đồng từ các chuyên gia bảo mật trên toàn cầu là một nguồn tài nguyên tuyệt vời đáng để tận dụng trên tất cả các công cụ này.
Nên sử dụng IDS hay IPS trên OPNsense hoặc pfSense?
Chắc chắn là có
Nếu bạn là người quan tâm đến bảo mật, hay đơn giản là bạn muốn biết điều gì đang xảy ra trên mạng của mình, thì 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 router OPNsense hoặc pfSense ngay từ đầu, bởi vì lượng dữ liệu mà tôi có thể thu được từ các công cụ này là không thể định giá. Tôi không sống trong một cảm giác an toàn giả tạo, mà 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ứ thứ gì mà router của nhà cung cấp dịch vụ internet (ISP) có thể cung cấp trước đây.
Nếu bạn có phần cứng phù hợp, tôi thành thật 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 có thể đang bỏ lỡ mục đích chính của việc 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 về 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í (hoặc có phiên bản miễn phí rất tốt). Chúng giúp bạn chủ động hơn trong việc bảo vệ không gian mạng của mình, mang lại sự an tâm và kiểm soát tối đa.
Hãy thử áp dụng các giải pháp bảo mật này cho hệ thống OPNsense/pfSense của bạn ngay hôm nay để nâng cao khả năng phòng thủ mạng. Chia sẻ trải nghiệm của bạn với chúng tôi trong phần bình luận bên dưới nhé!