1. Tổng quan.
CrowdSec là một hệ thống bảo mật mở nguồn mở mới và mạnh mẽ, được thiết kế để giúp bạn bảo vệ hệ thống và mạng khỏi các mối đe dọa trực tuyến bằng cách phát hiện và đáp ứng các hành vi độc hại. CrowdSec sử dụng cộng đồng rộng lớn của người dùng trên toàn cầu để thu thập thông tin về các cuộc tấn công và triển khai các biện pháp phòng ngừa tự động dựa trên dữ liệu này. Khi có một sự kiện bất thường, CrowdSec có thể thực hiện các biện pháp như chặn IP nguồn hoặc thêm vào danh sách đen để bảo vệ hệ thống của bạn.
OPNsense, một hệ thống firewall mã nguồn mở mạnh mẽ dựa trên hệ điều hành FreeBSD, cung cấp tính năng firewall và bảo mật mạng cho mạng của bạn. Khi kết hợp với CrowdSec, OPNsense trở nên mạnh mẽ hơn trong việc phát hiện và ngăn chặn các mối đe dọa trực tuyến.
Tích hợp CrowdSec vào OPNsense có thể cung cấp cho bạn một lớp bảo mật mạnh mẽ để bảo vệ hệ thống và mạng của bạn khỏi các cuộc tấn công trực tuyến. Hãy nhớ rằng việc cấu hình và quản lý chúng yêu cầu sự hiểu biết về bảo mật mạng và hệ thống.
Dưới đây là cách bạn có thể tích hợp CrowdSec vào OPNsense:
- Cài đặt CrowdSec trên OPNsense:
- Bạn cần cài đặt CrowdSec trên OPNsense.
- Sau khi cài đặt xong, bạn có thể truy cập giao diện quản trị CrowdSec thông qua trình duyệt web.
- Cấu hình CrowdSec:
- Trong giao diện quản trị CrowdSec, bạn sẽ cấu hình các cài đặt liên quan đến việc thu thập dữ liệu và xử lý các cuộc tấn công.
- Tích hợp CrowdSec và OPNsense:
- Bạn có thể sử dụng OPNsense để chặn các IP nguồn bị xác định là độc hại bởi CrowdSec.
- CrowdSec cung cấp các file cấu hình và quy tắc mặc định có thể sử dụng trực tiếp trong OPNsense.
- Cập nhật và Giám sát:
- Đảm bảo rằng bạn cập nhật thường xuyên cả hai hệ thống để có được bảo mật tốt nhất.
- Giám sát các hoạt động của CrowdSec và OPNsense để theo dõi các tấn công đã được phát hiện và ngăn chặn.
2. Cài đặt CrowdSec trên OPNSense.
Vào Plugins tìm kiếm với từ khoá os-crowdsec và bấm vào dấu (+) để cài đặt nó.
Nếu bạn gặp thông báo dưới thì hãy nâng cấp OPNSense lên nhé.
Đây là kết quả sau khi mình nâng cấp version cho nó.
Kết quả cài đặt CrowdSec thành công.
3. Bật tính năng CrowdSec.
Đầu tiên, bạn cần truy cập trang cấu hình của CrowdSec trên trang quản trị của bạn. Điều này thường được thực hiện bằng cách điều hướng đến trang “Services > CrowdSec > Settings”. Các tuỳ chọn trong cài đặt CrowdSec trên OPNsense giúp bạn tùy chỉnh cách CrowdSec hoạt động và tích hợp nó vào môi trường OPNsense của bạn.
Dưới đây là giải thích về các tuỳ chọn này:
- Enable CrowdSec (IDS): Bật tích này để kích hoạt CrowdSec là một hệ thống phát hiện đe dọa (IDS – Intrusion Detection System). IDS theo dõi lưu lượng mạng để phát hiện các hoạt động đáng ngờ hoặc cuộc tấn công.
- Enable LAPI: Bật tích này để kích hoạt Local API (LAPI) của CrowdSec. LAPI cho phép các ứng dụng hoặc dịch vụ khác truy cập vào CrowdSec để truy vấn hoặc tương tác với dữ liệu và quy tắc của nó.
- Enable Firewall Bouncer (IPS): Bật tích này để kích hoạt Firewall Bouncer, còn được gọi là Intrusion Prevention System (IPS). IPS sẽ sử dụng thông tin từ CrowdSec để chặn hoặc từ chối lưu lượng từ các nguồn bị xác định là độc hại.
- Manual LAPI configuration: Tùy chọn này cho phép bạn cấu hình LAPI thủ công, thay vì sử dụng cài đặt mặc định.
- LAPI listen address: Đây là địa chỉ IP mà LAPI lắng nghe để chấp nhận các kết nối từ các ứng dụng hoặc dịch vụ khác.
- LAPI listen port: Đây là cổng mà LAPI lắng nghe để chấp nhận các kết nối từ các ứng dụng hoặc dịch vụ khác.
- Enable log for rules: Khi bật tích này, CrowdSec sẽ tạo bản ghi logs cho các quy tắc và sự kiện mà nó phát hiện. Điều này giúp bạn theo dõi các hoạt động đáng ngờ.
- Tag for matched packets: Bạn có thể đặt một nhãn hoặc thẻ cho các gói dữ liệu mà CrowdSec xác định là độc hại. Điều này có thể hữu ích để nhận biết và quản lý chúng.
- Verbose log for firewall bouncer: Bật tích này nếu bạn muốn log chi tiết về các hoạt động của Firewall Bouncer. Điều này có thể giúp bạn hiểu rõ hơn về cách CrowdSec tương tác với OPNsense.
Lưu ý, khi bạn kích hoạt Bouncer (IPS), CrowdSec sẽ tự động thực hiện các biện pháp bảo mật để chặn các kết nối đến từ các nguồn độc hại, cung cấp một lớp bảo vệ bổ sung cho hệ thống và mạng của bạn.
- Khi Bouncer (IPS) không được kích hoạt: Khi tích hợp CrowdSec vào OPNsense nhưng không kích hoạt Bouncer (IPS), điều này có nghĩa là CrowdSec chỉ hoạt động trong vai trò Intrusion Detection System (IDS). Nghĩa là nó chỉ phát hiện các mối đe dọa và ghi lại chúng, nhưng không thực hiện bất kỳ hành động chặn nào. Mọi kết nối từ các nguồn độc hại vẫn được chấp nhận và xử lý bởi OPNsense theo các quy tắc firewall của nó, nhưng không có sự can thiệp từ CrowdSec.
- Khi Bouncer (IPS) được kích hoạt: Khi bạn kích hoạt Bouncer (IPS) trong CrowdSec, CrowdSec sẽ tự động tạo các rules floating (quy tắc firewall dựa trên thông tin được cung cấp bởi CrowdSec) để chặn tất cả các kết nối đến từ các địa chỉ IP bị xác định là độc hại dựa trên các sự kiện được phát hiện bởi IDS. Điều này có nghĩa rằng CrowdSec sẽ thực hiện hành động chặn lưu lượng độc hại tự động, ngăn chặn nó trước khi nó có cơ hội tiếp cận hệ thống của bạn.
- Tự động tạo danh sách đen (block list): Ngoài việc tạo các rules firewall để chặn các kết nối, CrowdSec cũng tự động tạo danh sách đen (block list) cho cả địa chỉ IPv4 và IPv6 của các nguồn bị xác định là độc hại. Danh sách này có thể được sử dụng cho các rules firewall tùy chỉnh hoặc cho mục đích bảo mật khác.
4. Tạo rule chặn Local tới các IP độc hại.
CrowdSec sẽ tự động chặn các kết nối đến từ các địa chỉ IP độc hại khi Bouncer được kích hoạt, nhưng bạn cũng có thể cần tạo các quy tắc firewall tùy chỉnh để ngăn chặn các kết nối ra đến các địa chỉ IP độc hại từ mạng local của bạn.
Khi Bouncer được kích hoạt: Khi bạn kích hoạt Bouncer (IPS) trong CrowdSec, CrowdSec sẽ tự động tạo hai rules floating (firewall rules) để chặn các kết nối đến hệ thống từ các địa chỉ IP bị xác định là độc hại. Điều này có nghĩa là các kết nối đến từ các nguồn độc hại sẽ bị chặn một cách tự động trước khi chúng có cơ hội tiếp cận hệ thống của bạn.
Mặc dù các kết nối đến từ các địa chỉ IP độc hại từ bên ngoài đã được chặn mặc định bởi CrowdSec khi Bouncer được kích hoạt, nhưng có thể có trường hợp bạn muốn tạo thêm quy tắc (rule) để chặn bất kỳ kết nối ra (outbound connections) từ hệ thống của bạn đến các địa chỉ IP độc hại.Ví dụ: Nếu một máy tính trong mạng local của bạn cố gắng gửi dữ liệu đến một địa chỉ IP độc hại nào đó, CrowdSec không thể tự động ngăn chặn điều này mà bạn cần tạo một firewall rule tùy chỉnh để chặn kết nối này. Điều này đặc biệt hữu ích để ngăn chặn các hoạt động không mong muốn hoặc độc hại từ bên trong mạng của bạn.
Truy cập trang cấu hình bằng cách điều hướng đến “Firewall > Rules > Floating”.
- Chọn interface LAN/VLAN mà bạn muốn áp dụng rule bằng cách sử dụng tùy chọn “Interface”.
- Bạn có thể sử dụng “any” làm địa chỉ nguồn (source addresses) và “crowdsec_blacklists” alias làm địa chỉ đích (destination). Điều này đảm bảo rằng tất cả các giao tiếp từ các máy tính trong interface LAN/VLAN này đến các địa chỉ IP trong danh sách đen của CrowdSec sẽ bị chặn.
Đây là rule của IPv4 khi bạn tạo xong.
Bạn cần tạo một rule riêng biệt cho IPv4 và IPv6 nếu bạn muốn áp dụng cả hai.
Lưu ý rằng việc tạo các rules này sẽ giúp bạn bảo vệ hệ thống của mình khỏi việc gửi hoặc nhận kết nối đến các địa chỉ IP độc hại mà CrowdSec đã xác định. Điều này làm tăng tính bảo mật mạng của bạn và giúp ngăn chặn các hoạt động mạng không mong muốn.
5. Kiểm tra kết quả.
Bạn có thể kiểm tra hoạt động của CrowdSec bằng cách thêm tạm thời một địa chỉ IP vào danh sách cấm, sau đó xác minh xem nó hoạt động đúng cách.
Để thêm một địa chỉ IP tạm thời vào danh sách cấm, bạn có thể chạy lệnh sau trên Server của mình:
sudo cscli decisions add --ip 192.168.1.10 --duration 1m
Lưu ý rằng địa chỉ IP 192.168.1.10 chỉ là một ví dụ, bạn có thể thay thế nó bằng địa chỉ IP mà bạn muốn chặn. Nếu bạn sử dụng địa chỉ IP mà bạn đang đăng nhập vào hệ thống, bạn sẽ bị tạm thời chặn khỏi SSH trong 1 phút.
8. Cách nâng cao cài đặt CrowdSec để tạo một môi trường CrowdSec đa Server.
Môi trường này cho phép bạn cài đặt CrowdSec trên nhiều hệ thống, máy ảo và container trên mạng của bạn để giám sát hoạt động độc hại và báo cáo lại cho Server Local API đang chạy trên OPNsense hoặc trên một Server khác trong mạng của bạn. Đây là một trường hợp sử dụng nâng cao được chính thức được CrowdSec hỗ trợ, bao gồm cả sự tích hợp với CrowdSec Console. Điều này cho phép bạn giám sát các dịch vụ quan trọng đang chạy trên mạng của bạn và thực hiện các biện pháp ngay lập tức nếu phát hiện bất kỳ hoạt động nghi ngờ nào.
Có hai cách chính để thiết lập môi trường CrowdSec đa Server:
- Server Local API trên OPNsense (Mặc định):
- Trong trường hợp này, bạn vẫn sử dụng máy chủ CrowdSec API chạy trên OPNsense, thiết bị mạng của bạn. Máy chủ này thu thập thông tin về các cuộc tấn công và quản lý các quy tắc bảo mật.
- Các máy chủ khác trên mạng của bạn, bất kể là máy tính vật lý, máy ảo, hoặc container, có thể cài đặt CrowdSec để giám sát hoạt động mạng.
- Các máy chủ này sẽ báo cáo các sự kiện độc hại mà họ phát hiện được về máy chủ API trên OPNsense.
- Máy chủ API sẽ chuyển các sự kiện này vào quy trình xử lý và áp dụng các biện pháp bảo mật, ví dụ như chặn các kết nối đến từ các địa chỉ IP độc hại.
- Bouncer (IPS) trên OPNsense vẫn hoạt động để bảo vệ toàn bộ mạng của bạn khỏi lưu lượng gốc từ các địa chỉ IP độc hại.
- Máy Chủ API Local trên Máy Chủ Khác:
- Trong trường hợp này, bạn chạy máy chủ CrowdSec API trên một máy chủ riêng biệt, không phải trên OPNsense. Điều này có thể giúp giảm tải trên OPNsense hoặc nếu bạn có nhiều máy chủ cần giám sát.
- Các máy chủ CrowdSec khác trên mạng của bạn cài đặt CrowdSec và sẽ báo cáo các sự kiện độc hại tới máy chủ API Local này thay vì OPNsense.
- Máy chủ API Local sẽ tiếp tục xử lý các sự kiện như bình thường và thực hiện các biện pháp bảo mật.
- Bouncer (IPS) trên OPNsense vẫn hoạt động để bảo vệ mạng của bạn khỏi lưu lượng gốc từ các địa chỉ IP độc hại.
Mục tiêu của cả hai trường hợp là cung cấp một môi trường giám sát và bảo mật mạng hiệu quả hơn bằng cách sử dụng nhiều máy chủ CrowdSec để theo dõi và phản ứng với các sự kiện độc hại. Việc triển khai cụ thể sẽ phụ thuộc vào mục tiêu và tài nguyên của bạn.
9. Cách CrowdSec được cài đặt với Local API (LAPI) trên hệ thống OPNsense.
Ưu điểm của mô hình này là tích hợp CrowdSec trực tiếp vào OPNsense, tạo ra một điểm tập trung quản lý bảo mật trên thiết bị firewall.
Trong mô hình này, CrowdSec được cài đặt và chạy trực tiếp trên hệ thống OPNsense, một thiết bị firewall phổ biến. Cụ thể:
- CrowdSec Agent: CrowdSec Agent chạy trên OPNsense và theo dõi lưu lượng mạng cũng như sự kiện hệ thống để phát hiện các hoạt động độc hại.
- Local API (LAPI): LAPI cũng chạy trên OPNsense. Nó là các kết nối API để gửi và nhận thông tin từ CrowdSec Agent và cung cấp nó cho CrowdSec Central API (CAPI) hoặc các ứng dụng khác trong mạng.
- Bouncer: Bouncer là một thành phần quan trọng của CrowdSec, chạy trên OPNsense, và thực hiện chặn các kết nối từ các địa chỉ IP được xác định là độc hại.
10. Chạy LAPI của CrowdSec trên một hệ thống local riêng biệt thay vì trên OPNsense.
Mô hình này thích hợp khi bạn muốn giảm tải trên OPNsense hoặc khi bạn có nhiều máy chủ khác cần giám sát. LAPI trên hệ thống Local riêng biệt sẽ thu thập thông tin và gửi nó đến CAPI để quản lý bảo mật và báo cáo về các địa chỉ IP độc hại.
Trong mô hình này, bạn chạy Local API (LAPI) của CrowdSec trên một hệ thống riêng biệt, không phải là OPNsense, trong mạng của bạn. Cụ thể:
- CrowdSec Agent trên OPNsense: OPNsense vẫn chạy CrowdSec Agent để theo dõi lưu lượng mạng và phát hiện các hoạt động độc hại.
- Hệ thống Local Riêng Biệt với LAPI: Một hệ thống độc lập trong mạng của bạn chạy LAPI của CrowdSec. LAPI này sẽ hoạt động như một trung gian giữa CrowdSec Agent trên OPNsense và CrowdSec Central API (CAPI).
- Bouncer trên OPNsense: Bouncer vẫn chạy trên OPNsense để thực hiện chặn các kết nối từ các địa chỉ IP được xác định là độc hại.