Trang chủ Thủ Thuật Cách sử dụng Hệ thống phát hiện xâm nhập Snort trên Linux

Cách sử dụng Hệ thống phát hiện xâm nhập Snort trên Linux

0
66
Pig snout

Cách sử dụng Hệ thống phát hiện xâm nhập Snort trên Linux

Pig snout
Shutterstock / RussieseO

Chạy Snort trên Linux và bảo vệ mạng của bạn với phân tích lưu lượng thời gian thực và phát hiện mối đe dọa. Bảo mật là tất cả và Snort là đẳng cấp thế giới. Con lợn này có thể chỉ cứu thịt xông khói của bạn.

Snort là gì?

Snort là một trong những hệ thống phát hiện xâm nhập mạng (NIDS) nổi tiếng và được sử dụng rộng rãi nhất. Nó đã được gọi là một trong những dự án mã nguồn mở quan trọng nhất mọi thời đại. Ban đầu được phát triển bởi Sourcefire, nó đã được duy trì bởi Nhóm nghiên cứu và tình báo bảo mật Talos của Cisco kể từ khi Cisco mua lại Sourcefire vào năm 2013.

Snort phân tích lưu lượng mạng trong thời gian thực và đánh dấu mọi hoạt động đáng ngờ. Đặc biệt, nó tìm kiếm bất kỳ thứ gì có thể chỉ ra các nỗ lực truy cập trái phép và các cuộc tấn công khác trên mạng. Một bộ quy tắc toàn diện xác định những gì được coi là “đáng ngờ” và những gì Snort phải làm nếu một quy tắc được kích hoạt.

Giống như cách mà các gói chống vi-rút và chống phần mềm độc hại dựa trên các định nghĩa chữ ký vi-rút cập nhật để có thể xác định và bảo vệ bạn khỏi các mối đe dọa mới nhất, các quy tắc của Snort được cập nhật và phát hành lại thường xuyên để Snort luôn hoạt động ở mức tối ưu hiệu quả.

Quy tắc Snort

Có ba bộ quy tắc:

  • Quy tắc cộng đồng: Đây là những bộ quy tắc có sẵn miễn phí, được tạo bởi cộng đồng người dùng Snort.
  • Quy tắc đã đăng ký: Các bộ quy tắc này được cung cấp bởi Talos. Chúng cũng có sẵn miễn phí, nhưng bạn phải đăng ký để có được chúng. Đăng ký là miễn phí và chỉ mất một chút thời gian. Bạn sẽ nhận được mã oinkcode cá nhân mà bạn cần đưa vào yêu cầu tải xuống.
  • Quy tắc Đăng ký: Đây là những quy tắc giống như các quy tắc đã đăng ký. Tuy nhiên, người đăng ký nhận được các quy tắc khoảng một tháng trước khi chúng được phát hành dưới dạng bộ quy tắc miễn phí cho người dùng đã đăng ký. Tại thời điểm viết bài, đăng ký 12 tháng có giá khởi điểm là 29 USD cho mục đích sử dụng cá nhân và 399 USD cho mục đích kinh doanh.

Cài đặt Snort

Có một thời, cài đặt Snort là một quá trình thủ công kéo dài. Nó không khó, nhưng có rất nhiều bước và rất dễ bỏ sót một bước. Các bản phân phối Linux chính đã làm cho mọi thứ trở nên đơn giản hơn bằng cách cung cấp Snort từ kho phần mềm của họ.

Quảng cáo

Các phiên bản trong kho lưu trữ đôi khi bị tụt hậu so với phiên bản mới nhất hiện có trên trang web Snort. Nếu muốn, bạn có thể tải xuống và cài đặt từ nguồn. Miễn là bạn có các quy tắc mới nhất, không quá quan trọng nếu Snort của bạn không phải là mới nhất và lớn nhất — miễn là nó không cổ.

Để nghiên cứu bài viết này, chúng tôi đã cài đặt Snort trên Ubuntu 20.04, Fedora 32 và Manjaro 20.0.1.

Để cài đặt Snort trên Ubuntu, hãy sử dụng lệnh sau:

sudo apt-get install snort

4a47a0db 1

Khi quá trình cài đặt tiếp tục, bạn sẽ được hỏi một số câu hỏi. Bạn có thể tìm thấy câu trả lời cho những điều này bằng cách sử dụng lệnh ip addr trước khi bắt đầu cài đặt hoặc trong một cửa sổ đầu cuối riêng biệt.

ip addr

586e508f 1

Ghi lại tên giao diện mạng của bạn. Trên máy tính nghiên cứu này, nó là enp0s3.

Ngoài ra, hãy xem địa chỉ IP của bạn. Máy tính này có địa chỉ IP là 192.168.1.24 . Thêm “ /24 ” là ký hiệu định tuyến liên miền (CIDR) không phân loại. Điều này cho chúng tôi biết phạm vi địa chỉ mạng. Nó có nghĩa là mạng này có mặt nạ mạng con là 255.255.255.0 , có ba bộ tám bit hàng đầu (và 3 x 8 = 24). Bạn không cần phải lo lắng quá nhiều về điều đó, chỉ cần ghi lại bất kỳ địa chỉ IP nào của bạn bao gồm ký hiệu CIDR. Bạn cần cung cấp đây là câu trả lời cho một trong các câu hỏi, với octet cuối cùng của địa chỉ IP được thay đổi thành 0. Trong ví dụ của chúng tôi, đây là 192.168.1.0/24.

Nhấn “Tab” để đánh dấu nút “OK” và nhấn “Enter”.

8266e4bf 1

Quảng cáo

Nhập tên của tên giao diện mạng và nhấn “Tab” để đánh dấu nút “OK” và nhấn “Enter”.

f19c9085 1

Nhập dải địa chỉ mạng ở định dạng CIDR, nhấn “Tab” để đánh dấu nút “OK” và nhấn “Enter”.

providing the network details in CIDR notation in a terminal windwo

Để cài đặt Snort trên Fedora, bạn cần sử dụng hai lệnh:

rpm -Uvh https://forensics.cert.org/cert-forensics-tools-release-32.rpm

fb5c81ed 1 1

sudo dnf install snort

10fb15c7 1

Trên Manjaro, lệnh chúng ta cần không phải là pacman thông thường, đó là pamac . Và chúng ta không cần sử dụng sudo :

pamac cài đặt snort

09dd8c26 1

Khi được hỏi bạn có muốn tạo Snort từ AUR (Arch User Repository) hay không, hãy nhấn “Y” và nhấn “Enter”. Chúng tôi không muốn chỉnh sửa các tệp bản dựng, vì vậy hãy trả lời câu hỏi đó bằng cách nhấn “N” và nhấn “Enter”. Nhấn “Y” và nhấn “Enter” khi bạn được hỏi liệu giao dịch có nên được áp dụng hay không.

Bạn sẽ được nhắc nhập mật khẩu của mình.

Các phiên bản của Snort đã được cài đặt là:

  • Ubuntu : 2.9.7.0
  • Fedora : 2.9.16.1
  • Manjaro : 2.9.16.1

Bạn có thể kiểm tra phiên bản của mình bằng cách sử dụng:

khịt mũi - ác cảm

602e8f04 1

Định cấu hình Snort

Có một vài bước cần hoàn thành trước khi chúng ta có thể chạy Snort. Chúng tôi cần chỉnh sửa tệp “snort.conf”.

sudo gedit /etc/snort/snort.conf

59b2900a 2

Quảng cáo

Tìm dòng có nội dung “ ipvar HOME_NET any ” và chỉnh sửa dòng đó để thay thế “bất kỳ” bằng dải địa chỉ ký hiệu CIDR trong mạng của bạn.

snort.conf config file in the gedit editor

Lưu các thay đổi và đóng file.

Cập nhật Quy tắc Snort

Để đảm bảo bản sao Snort của bạn đang cung cấp mức bảo vệ tối đa, hãy cập nhật các quy tắc lên phiên bản mới nhất. Điều này đảm bảo Snort có quyền truy cập vào tập hợp các định nghĩa tấn công và các hành động bảo vệ mới nhất.

Nếu bạn đã đăng ký và lấy mã oinkcode của riêng mình, bạn có thể sử dụng lệnh sau để tải xuống bộ quy tắc cho người dùng đã đăng ký. Trang tải xuống Snort liệt kê các bộ quy tắc có sẵn, bao gồm cả bộ quy tắc cộng đồng mà bạn không cần đăng ký.

Tải xuống bộ quy tắc cho phiên bản Snort bạn đã cài đặt. Chúng tôi đang tải xuống phiên bản 2.9.8.3, phiên bản gần nhất với phiên bản 2.9.7.0 của Snort có trong kho lưu trữ Ubuntu.

wget https://www.snort.org/rules/snortrules-snapshot-2983.tar.gz?oinkcode=< Mã liên kết của bạn ở đây> -O snortrules-snapshot-2983.tar.gz

d642f8c3 1

Sau khi quá trình tải xuống hoàn tất, hãy sử dụng lệnh này để trích xuất các quy tắc và cài đặt chúng trong thư mục “/ etc / snort / rules”.

sudo tar -xvzf snortrules-snapshot-2983.tar.gc -C / etc / snort / rules

1e412544 1

Chế độ lăng nhăng

Các thẻ giao diện mạng thường bỏ qua lưu lượng không dành cho địa chỉ IP của chúng. Chúng tôi muốn Snort phát hiện lưu lượng mạng đáng ngờ được gửi đến bất kỳ thiết bị nào trên mạng, không chỉ lưu lượng mạng được gửi đến máy tính mà Snort được cài đặt trên đó.

Quảng cáo

Để làm cho giao diện mạng của máy tính Snort lắng nghe tất cả lưu lượng mạng, chúng ta cần đặt nó ở chế độ quảng bá. Lệnh sau sẽ làm cho giao diện mạng enp0s3 hoạt động ở chế độ không hoạt động. Thay thế enp0s3 bằng tên của giao diện mạng bạn đang sử dụng trên máy tính của mình.

sudo ip link set enp0s3 promisc on

ba6beb7a

Nếu bạn đang chạy Snort trong một máy ảo, cũng hãy nhớ điều chỉnh cài đặt trong trình siêu giám sát của bạn cho thẻ mạng ảo được máy ảo của bạn sử dụng. Ví dụ: trong VirtualBox, bạn cần đi tới Settings > Network > Advanced và thay đổi menu thả xuống “Chế độ quảng cáo” thành “Cho phép tất cả”.

VirtualBox network adapter settings tab

LIÊN QUAN: Cách sử dụng lệnh ip trên Linux

Running Snort

Bây giờ bạn có thể bắt đầu Snort. Định dạng lệnh là:

sudo snort -d -l / var / log / snort / -h 192.168.1.0/24 -A console -c /etc/snort/snort.conf

c00b5755

Thay dải IP mạng của riêng bạn thay cho 192.168.1.0/24 .

Các tùy chọn dòng lệnh được sử dụng trong lệnh này là:

  • -d: Lọc ra các gói của lớp ứng dụng.
  • -l / var / log / snort /: Đặt thư mục ghi nhật ký.
  • -h 192.168.1.0/24: Điều này không đặt mạng gia đình, mạng này đã được đặt trong tệp “snort.conf”. Với giá trị này được đặt thành cùng giá trị với mạng gia đình, nhật ký được cấu trúc để nội dung từ các máy tính từ xa đáng ngờ được đăng nhập vào các thư mục được đặt tên theo mỗi máy tính từ xa.
  • -A console: Gửi cảnh báo đến cửa sổ console.
  • -c /etc/snort/snort.conf: Cho biết tệp cấu hình Snort nào sẽ sử dụng.

Snort cuộn rất nhiều đầu ra trong cửa sổ đầu cuối, sau đó chuyển sang chế độ phân tích giám sát của nó. Trừ khi nó thấy một số hoạt động đáng ngờ, bạn sẽ không thấy bất kỳ đầu ra màn hình nào nữa.

c9baca3c 1

Từ một máy tính khác, chúng tôi bắt đầu tạo ra hoạt động độc hại nhắm trực tiếp vào máy tính thử nghiệm của chúng tôi đang chạy Snort.

88399fdc 1

Snort xác định lưu lượng mạng có khả năng độc hại, gửi cảnh báo đến cửa sổ bảng điều khiển và ghi các mục nhập vào nhật ký.

Quảng cáo

Các cuộc tấn công được phân loại là các cuộc tấn công “Rò rỉ thông tin” cho thấy một nỗ lực đã được thực hiện để thẩm vấn máy tính của bạn để tìm một số thông tin có thể hỗ trợ kẻ tấn công. Điều này có thể chỉ ra rằng ai đó đang thực hiện do thám trên hệ thống của bạn.

Các cuộc tấn công được phân loại là các cuộc tấn công “Từ chối dịch vụ” cho thấy nỗ lực làm ngập máy tính của bạn bằng lưu lượng mạng sai. Cuộc tấn công cố gắng áp đảo máy tính của bạn đến mức nó không thể tiếp tục cung cấp các dịch vụ của mình.

Để xác minh rằng chế độ lăng nhăng đang hoạt động chính xác và chúng tôi đang bảo vệ toàn bộ dải địa chỉ mạng, chúng tôi sẽ kích hoạt một số lưu lượng độc hại tại một máy tính khác và xem liệu Snort có phát hiện ra nó hay không.

079f4fb5

Hoạt động được phát hiện và báo cáo, và chúng ta có thể thấy rằng cuộc tấn công này nhắm vào một máy tính khác có địa chỉ IP là 192.168.1.26 . Snort đang giám sát toàn bộ dải địa chỉ của mạng này.

Bước tiếp theo

Để duy trì sự cảnh giác, Snort cần các quy tắc cập nhật. Bạn có thể viết một tập lệnh nhỏ và đặt các lệnh để tải xuống và cài đặt các quy tắc trong đó, đồng thời thiết lập một cron việc cron để tự động hóa quy trình bằng cách gọi tập lệnh theo định kỳ. Tập lệnh pullpork là một tập lệnh làm sẵn được thiết kế để làm điều đó nếu bạn không thích viết theo cách của riêng mình.

Snort không có giao diện người dùng đồ họa hoặc giao diện người dùng. Các dự án của bên thứ ba đã tạo ra một số dự án và bạn có thể muốn điều tra một số trong số đó, chẳng hạn như Snorby và Squil.

How to Use ltrace to Trace Library Calls

Cách sử dụng ltrace để theo dõi cuộc gọi thư viện

How to Upgrade DigitalOcean Managed Kubernetes Clusters

Cách nâng cấp các cụm Kubernetes được quản lý kỹ thuật số

What’s New In MongoDB 5.0?

Có gì mới trong MongoDB 5.0?

How to Handle Timezones in Docker Containers

Cách xử lý múi giờ trong Docker Containers

How to Use ltrace to Trace Library Calls

Cách tạo phần cứng Bash Scripts của bạn

The Best Cloud Services For High Data Transfer Workloads

Dịch vụ đám mây tốt nhất cho khối lượng công việc truyền dữ liệu cao

Dịch từ: https://www.cloudsavvyit.com/6424/how-to-use-the-snort-intrusion-detection-system-on-linux/

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây