Cách cài đặt Suricata IDS/IPS trên Debian 12

Tác giả sysadmin, T.M.Hai 06, 2023, 04:55:25 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Cách cài đặt Suricata IDS/IPS trên Debian 12


Suricata là một phần mềm phát hiện mối đe dọa và phân tích mạng nguồn mở mạnh mẽ được phát triển bởi Tổ chức bảo mật thông tin mở (OISF). Suricata có thể được sử dụng cho nhiều mục đích khác nhau, chẳng hạn như hệ thống phát hiện xâm nhập (IDS), hệ thống ngăn chặn xâm nhập (IPS) và công cụ giám sát an ninh mạng.

Suricata sử dụng quy tắc và ngôn ngữ chữ ký để phát hiện và ngăn chặn các mối đe dọa trên mạng của bạn. Nó là một công cụ bảo mật mạng miễn phí và mạnh mẽ được các doanh nghiệp, công ty lớn và nhỏ sử dụng.

Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cách cài đặt Suricata trên Debian 12 từng bước. Chúng tôi cũng sẽ hướng dẫn bạn cách định cấu hình Suricata và quản lý bộ quy tắc Suricata bằng tiện ích cập nhật suricata.

1. Điều kiện tiên quyết

Trước khi tiếp tục, hãy đảm bảo bạn có những điều sau:

  • Một máy chủ Debian 12.
  • Người dùng không phải root có đặc quyền quản trị viên sudo.

2. Cài đặt Suricata

Suricata là một công cụ giám sát an ninh mạng có thể được sử dụng cho cả IDS (Hệ thống phát hiện xâm nhập) và IPS (Hệ thống ngăn chặn xâm nhập). Nó có thể được cài đặt trên hầu hết các bản phân phối Linux. Đối với Debian, Suricata có sẵn trong kho lưu trữ Debian Backports.

Trước tiên hãy chạy lệnh sau để kích hoạt kho lưu trữ backport cho Debian Bookworkm.

Mã nguồn [Chọn]
sudo echo "deb http://deb.debian.org/debian/ bookworm-backports main"> /etc/apt/sources.list.d/bookworm-backports.sources.list
Sau đó, cập nhật chỉ mục gói của bạn bằng lệnh sau.

Mã nguồn [Chọn]
sudo apt update

Sau khi kho lưu trữ được cập nhật, hãy cài đặt gói suricata bằng lệnh apt install sau. Gõ y để xác nhận cài đặt.

Mã nguồn [Chọn]
sudo apt install suricata

Bây giờ Suricata đã được cài đặt, hãy kiểm tra dịch vụ Suricata bằng các lệnh systemctl sau.

Mã nguồn [Chọn]
sudo systemctl is-enabled suricata

sudo systemctl status suricata

Kết quả đầu ra sau đây sẽ xác nhận rằng Suricata đã được bật và chạy trên hệ thống của bạn.


Bạn cũng có thể kiểm tra phiên bản Suricata bằng cách chạy lệnh sau.

Mã nguồn [Chọn]
sudo suricata --build-info
Trong ví dụ này, bạn đã cài đặt Suricata 6.0 thông qua kho lưu trữ backport trên máy Debian của mình.


3. Định cấu hình Suricata

Sau khi cài đặt Suricata, bạn cần định cấu hình Suricata để giám sát giao diện mạng mục tiêu của mình. Để thực hiện việc này, bạn có thể tìm hiểu chi tiết về giao diện mạng của mình bằng tiện ích lệnh ip. Sau đó, bạn định cấu hình cấu hình Suricata /etc/suricata/suricata.yaml để giám sát giao diện mạng mục tiêu của mình.

Trước khi định cấu hình Suricata, hãy kiểm tra cổng mặc định để truy cập Internet bằng cách chạy lệnh sau.

Mã nguồn [Chọn]
ip -p -j route show default
Trong ví dụ này, cổng Internet mặc định cho máy chủ là giao diện eth0 và Suricata sẽ giám sát giao diện eth0.


Bây giờ hãy mở cấu hình Suricata mặc định /etc/suricata/suricata.yaml bằng lệnh soạn thảo nano sau.

Mã nguồn [Chọn]
sudo nano /etc/suricata/suricata.yaml
Thay đổi tùy chọn mặc định cộng đồng-id thành true.

Mã nguồn [Chọn]
# bật/tắt tính năng id cộng đồng.

community-id: true

Trong biến HOME_NET, thay đổi mạng con mặc định thành mạng con của bạn.

Mã nguồn [Chọn]
# HOME_NET variable

HOME_NET: "[192.168.10.0/24]"

Trong phần af-packet, nhập tên giao diện mạng của bạn như sau.

Mã nguồn [Chọn]
af-packet:
    - interface: eth0

Sau đó, thêm các dòng sau vào cấu hình bên dưới để kích hoạt quy tắc tải lại trực tiếp một cách nhanh chóng.

Mã nguồn [Chọn]
detect-engine:
  - rule-reload: true

Lưu và đóng tập tin khi bạn hoàn tất.

Tiếp theo, chạy lệnh sau để tải lại bộ quy tắc Suricata mà không làm hỏng tiến trình. Sau đó khởi động lại dịch vụ Suricata bằng lệnh systemctl sau.

Mã nguồn [Chọn]
sudo kill -usr2 $(pidof suricata)

sudo systemctl restart suricata

Cuối cùng, kiểm tra Suricata bằng lệnh sau.

Mã nguồn [Chọn]
sudo systemctl status suricata
Dịch vụ Suricata bây giờ sẽ chạy với cài đặt mới.


4. Quản lý bộ quy tắc Suricata thông qua cập nhật Suricata

Bộ quy tắc là một tập hợp các chữ ký tự động phát hiện lưu lượng truy cập độc hại trên giao diện mạng của bạn. Trong phần sau, bạn sẽ tải xuống và quản lý bộ quy tắc Suricata thông qua dòng lệnh suricata-update.

Nếu bạn đang cài đặt Suricata lần đầu tiên, hãy chạy lệnh suricata-update để tải các bộ quy tắc xuống bản cài đặt Suricata của bạn.

Mã nguồn [Chọn]
sudo suricata-update
Trong kết quả đầu ra sau đây, bạn sẽ thấy bộ quy tắc "Mở các mối đe dọa mới nổi " hoặc et/open đã được tải xuống và lưu trữ trong thư mục /var/lib/suricata/rules/suricata.rules. Bạn cũng sẽ thấy thông tin về các quy tắc đã tải xuống, ví dụ: tổng cộng 45055 và 35177 quy tắc được kích hoạt.


Bây giờ hãy mở lại cấu hình suricata /etc/suricata/suricata.yaml bằng lệnh soạn thảo nano sau.

Mã nguồn [Chọn]
sudo nano /etc/suricata/suricata.yaml
Thay đổi đường dẫn quy tắc mặc định thành /var/lib/suricata/rules như sau:

Mã nguồn [Chọn]
default-rule-path: /var/lib/suricata/rules
Lưu và đóng tập tin khi bạn hoàn tất.

Sau đó chạy lệnh sau để khởi động lại dịch vụ Suricata và áp dụng các thay đổi. Sau đó, kiểm tra xem Suricata có thực sự chạy hay không.

Mã nguồn [Chọn]
sudo systemctl restart suricata

sudo systemctl status suricata

Nếu mọi thứ chạy tốt, bạn sẽ thấy kết quả đầu ra sau:


Bạn cũng có thể kích hoạt bộ quy tắc et/open và kiểm tra danh sách các bộ quy tắc được kích hoạt bằng cách chạy lệnh sau.

Mã nguồn [Chọn]
suricata-update enable-source et/open

suricata-update list-sources --enabled

Bạn sẽ thấy bộ quy tắc et/open đã được bật.


Dưới đây là một số lệnh cập nhật suricata bạn cần biết để quản lý bộ quy tắc.

Cập nhật chỉ mục quy tắc suricata bằng lệnh sau.

Mã nguồn [Chọn]
sudo suricata-update update-sources
Kiểm tra danh sách các nguồn bộ quy tắc có sẵn trong chỉ mục.

Mã nguồn [Chọn]
suricata-update list-sources

Bây giờ bạn có thể kích hoạt bộ quy tắc suricata bằng lệnh sau. Trong ví dụ này, bạn sẽ kích hoạt bộ quy tắc mới oisf/trafficid.

Mã nguồn [Chọn]
suricata-update enable-source oisf/trafficid
Tiếp theo, bạn sẽ cập nhật lại các quy tắc suricata và khởi động lại dịch vụ suricata để áp dụng các thay đổi.

Mã nguồn [Chọn]
sudo suricata-update

sudo systemctl restart suricata


Bạn có thể chạy lại lệnh sau để đảm bảo rằng bộ quy tắc đã được bật.

Mã nguồn [Chọn]
suricata-update list-sources --enabled

Bạn cũng có thể vô hiệu hóa bộ quy tắc bằng lệnh sau.

Mã nguồn [Chọn]
suricata-update disable-source et/pro
Nếu bạn muốn xóa bộ quy tắc, hãy sử dụng lệnh sau.

Mã nguồn [Chọn]
suricata-update remove-source et/pro
5. Kiểm tra Suricata dưới dạng IDS

Quá trình cài đặt và cấu hình Suricata dưới dạng IDS (Hệ thống phát hiện xâm nhập) hiện đã hoàn tất. Ở bước tiếp theo, bạn kiểm tra IDS Suricata của mình bằng cách sử dụng ID chữ ký 2100498 từ ET/Open, ID này được dùng riêng cho thử nghiệm.

Bạn có thể kiểm tra chữ ký ID 2100498 từ bộ quy tắc ET/Open bằng cách chạy lệnh sau.

Mã nguồn [Chọn]
grep 2100498 /var/lib/suricata/rules/suricata.rules
Chữ ký ID 2100498 sẽ cảnh báo bạn khi bạn truy cập một tệp có nội dung "uid=0(root) gid=0(root)group=0(root )". Cảnh báo được đưa ra có thể được tìm thấy trong tệp /var/log/suricata/fast.log.


Sử dụng lệnh tail sau để kiểm tra tệp nhật ký /var/log/suricata/fast.log.

Mã nguồn [Chọn]
tail -f /var/log/suricata/fast.log
Mở một thiết bị đầu cuối mới và kết nối với máy chủ Debian của bạn. Sau đó chạy lệnh sau để kiểm tra cài đặt Suricata của bạn.

Mã nguồn [Chọn]
curl http://testmynids.org/uid/index.html

Nếu mọi việc suôn sẻ, bạn sẽ thấy cảnh báo đó trong tệp /var/log/suricata/fast. log đã được kích hoạt. Cảnh báo được tạo

Bạn cũng có thể kiểm tra nhật ký được định dạng json trong tệp /var/log/suricata/eve.json.

Đầu tiên, cài đặt công cụ jq bằng cách chạy lệnh apt sau.

Mã nguồn [Chọn]
sudo apt install jq -y

Sau khi jq được cài đặt, hãy kiểm tra tệp nhật ký /var/log/suricata/eve.j son bằng cách sử dụng lệnh tail và jq.

Mã nguồn [Chọn]
sudo tail -f /var/log/suricata/eve.json | jq 'select(.event_type=="alert")'
Bạn sẽ thấy đầu ra được định dạng là json.


Dưới đây là một số lệnh khác bạn có thể sử dụng để kiểm tra số liệu thống kê.

Mã nguồn [Chọn]
sudo tail -f /var/log/suricata/eve.json | jq 'select(.event_type=="stats")|.stats.capture.kernel_packets'

sudo tail -f /var/log/suricata/eve.json | jq 'select(.event_type=="stats")'

Chúc mừng bạn đã cài đặt thành công Suricata dưới dạng IDS (Hệ thống phát hiện xâm nhập) trên máy chủ Debian 12. Bạn cũng đã giám sát giao diện mạng thông qua Suricata và hoàn thành việc sử dụng cơ bản tiện ích cập nhật Suricata để quản lý bộ quy tắc. Cuối cùng, bạn đã kiểm tra Suricata dưới dạng IDS bằng cách xem lại nhật ký Suricata.