Snort - Hệ thống phát hiện xâm nhập mạng cho Ubuntu

Tác giả NetworkEngineer, T.Ba 09, 2022, 10:00:26 CHIỀU

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

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

Snort - Hệ thống phát hiện xâm nhập mạng cho Ubuntu


Snort là một hệ thống phát hiện và ngăn chặn xâm nhập mạng mã nguồn mở (IDS) nổi tiếng. Snort rất hữu ích để giám sát gói được gửi và nhận thông qua giao diện mạng. Bạn có thể chỉ định giao diện mạng để giám sát luồng lưu lượng. Snort hoạt động trên cơ sở phát hiện dựa trên chữ ký. Snort sử dụng các loại bộ quy tắc khác nhau để phát hiện các hành vi xâm nhập mạng như cộng đồng. Quy tắc đăng ký và đăng ký có phí. Được cài đặt và cấu hình đúng cách Snort có thể rất hữu ích trong việc phát hiện các loại tấn công và mối đe dọa khác nhau như thăm dò SMB, nhiễm phần mềm độc hại, hệ thống bị xâm phạm, v.v. Trong bài viết này, chúng ta sẽ tìm hiểu cách cài đặt và cấu hình Snort trên hệ thống Ubuntu 20.04.

1. Quy tắc Snort

Snort sử dụng các bộ quy tắc để phát hiện các xâm nhập mạng như sau. Có ba loại bộ quy tắc có sẵn:

1.1. Quy tắc cộng đồng

Đây là những quy tắc được tạo ra bởi cộng đồng người dùng snort và có sẵn miễn phí.

1.2. Các quy tắc đã đăng ký

Đây là những quy tắc được cung cấp bởi Talos và chỉ dành cho người dùng đã đăng ký. Đăng ký chỉ mất một chút thời gian và miễn phí. Sau khi đăng ký, bạn sẽ nhận được một mã cần thiết để gửi trong khi gửi yêu cầu tải xuống

1.3. Quy tắc đăng ký có phí

Các quy tắc này cũng giống như các quy tắc đã đăng ký nhưng được cung cấp cho người dùng đã đăng ký trước khi phát hành. Các bộ quy tắc này được trả phí và chi phí dựa trên người dùng cá nhân hoặc người dùng doanh nghiệp.

2. Cài đặt Snort

Cài đặt snort trong hệ thống Linux sẽ là một quá trình thủ công và kéo dài. Ngày nay, việc cài đặt rất đơn giản và dễ dàng hơn vì hầu hết các bản phân phối Linux đều cung cấp gói Snort trong kho. Gói có thể được cài đặt từ nguồn cũng như từ kho phần mềm.

Trong quá trình cài đặt, bạn sẽ được yêu cầu cung cấp một số chi tiết liên quan đến giao diện mạng. Chạy lệnh sau và ghi lại các chi tiết để sử dụng trong tương lai.

Mã nguồn [Chọn]
$ ip a

Để cài đặt công cụ Snort trong Ubuntu, hãy sử dụng lệnh sau.

Mã nguồn [Chọn]
$ sudo apt install snort
Trong ví dụ trên, ens33 là tên của giao diện mạng và 192.168.218.128 là địa chỉ IP. /24 cho thấy rằng mạng có mặt nạ mạng con 255.255.255.0. Hãy lưu ý những điều này vì mình cần cung cấp những chi tiết này trong quá trình cài đặt.

Bây giờ, nhấn tab để điều hướng đến tùy chọn OK và nhấn Enter.


Bây giờ, hãy cung cấp tên của giao diện mạng, điều hướng đến tùy chọn OK bằng phím tab và nhấn Enter.

Cung cấp địa chỉ mạng với mặt nạ mạng con. Điều hướng đến tùy chọn OK bằng phím tab và nhấn Enter.


Sau khi cài đặt hoàn tất, hãy chạy lệnh bên dưới xác minh.

Mã nguồn [Chọn]
$ snort --version

3. Cấu hình snort

Trước khi sử dụng Snort, có một số thứ cần được thực hiện trong tập tin cấu hình. Snort lưu trữ các tập tin cấu hình trong thư mục /etc/snort/ dưới dạng tên tập tin snort.conf.

Chỉnh sửa tập tin cấu hình bằng bất kỳ trình soạn thảo văn bản nào và thực hiện các thay đổi sau.

Mã nguồn [Chọn]
$ sudo vi /etc/snort/snort.conf
Tìm dòng ipvar HOME_NET any trong tập tin cấu hình và thay thế dòng bất kỳ bằng địa chỉ mạng của bạn.


Trong ví dụ trên, địa chỉ mạng 192.168.218.0 với tiền tố mặt nạ mạng con 24 được sử dụng. Thay thế nó bằng địa chỉ mạng của bạn và cung cấp tiền tố.

Lưu tập tin và thoát

4. Tải xuống và cập nhật quy tắc Snort

Snort sử dụng các bộ quy tắc để phát hiện xâm nhập. Có ba loại bộ quy tắc mà mình đã mô tả trước đây ở đầu bài viết. Trong bài viết này, mình sẽ tải xuống và cập nhật các quy tắc cộng đồng.

Để cài đặt và cập nhật các quy tắc, hãy tạo một thư mục cho các quy tắc.

Mã nguồn [Chọn]
$ mkdir /usr/local/etc/rules
Tải xuống các quy tắc cộng đồng bằng cách sử dụng lệnh sau.

Mã nguồn [Chọn]
$ wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz
Hoặc nếu không, bạn có thể duyệt qua liên kết bên dưới và tải về các quy tắc.

  Đăng nhập để xem liên kết

Giải nén các tập tin đã tải xuống trong thư mục đã tạo trước đó.

Mã nguồn [Chọn]
$ tar xzf snort3-community-rules.tar.gz -C /usr/local/etc/rules/
5. Bật chế độ ngẫu nhiên

Chúng ta cần làm cho giao diện mạng của máy tính Snot lắng nghe tất cả lưu lượng truy cập. Để thực hiện điều này, hãy bật chế độ ngẫu nhiên. Chạy lệnh sau với tên giao diện.

Mã nguồn [Chọn]
$ sudo ip link set ens33 promisc on
Trong đó ens33 là tên giao diện


6. Chạy Snort

Bây giờ chúng ta đã bắt đầu Snort. Thực hiện theo cú pháp bên dưới và thay thế các tham số cho phù hợp.

Mã nguồn [Chọn]
$ sudo snort -d -l /var/log/snort/ -h 192.168.218.0/24 -A console -c /etc/snort/snort.conf
Trong đó:

  • -d được sử dụng để lọc các gói lớp ứng dụng
  • -l được sử dụng để thiết lập thư mục ghi nhật ký
  • -h được sử dụng để chỉ định mạng gia đình
  • -A được sử dụng để gửi cảnh báo đến các cửa sổ giao diện điều khiển
  • -c được sử dụng để chỉ định cấu hình snort

Khi Snort được khởi động, bạn sẽ nhận được kết quả sau trong terminal.


Bạn có thể kiểm tra các tập tin nhật ký để biết thông tin về việc phát hiện xâm nhập.

Snort hoạt động trên cơ sở các bộ quy tắc. Vì vậy, hãy luôn cập nhật các bộ quy tắc. Bạn có thể thiết lập cronjob để tải xuống các quy tắc và cập nhật chúng theo định kỳ.

Trong hướng dẫn này, chúng ta đã học cách sử dụng snort làm hệ thống ngăn chặn xâm nhập mạng trong Linux. Ngoài ra, mình cũng đã trình bày cách cài đặt và sử dụng Snort trên hệ thống Ubuntu và sử dụng nó để theo dõi lưu lượng truy cập thời gian thực và phát hiện mối đe dọa.