Cách cấu hình Snort trên Debian

Snort là một hệ thống phát hiện xâm nhập mạng miễn phí (IDS). Nói một cách ít chính thức hơn, nó cho phép bạn giám sát mạng của mình để biết hoạt động đáng ngờ trong thời gian thực . Hiện tại, Snort có các gói cho Fedora, CentOS, FreeBSD và các hệ thống dựa trên Windows. Phương pháp cài đặt chính xác khác nhau giữa các hệ điều hành. Trong hướng dẫn này, chúng tôi sẽ cài đặt trực tiếp từ các tệp nguồn cho Snort. Hướng dẫn này được viết cho Debian.

Cập nhật, nâng cấp và khởi động lại

Trước khi chúng tôi thực sự có được các nguồn Snort, chúng tôi cần đảm bảo rằng hệ thống của chúng tôi được cập nhật. Chúng ta có thể làm điều này bằng cách ban hành các lệnh dưới đây.

sudo apt-get update
sudo apt-get upgrade -y
sudo reboot

Cấu hình cài đặt sẵn

Khi hệ thống của bạn đã khởi động lại, chúng tôi cần cài đặt một số gói để đảm bảo rằng chúng tôi có thể cài đặt SBPP. Tôi đã có thể tìm ra rằng một số gói cần thiết, vì vậy lệnh cơ sở ở bên dưới.

sudo apt-get install flex bison build-essential checkinstall libpcap-dev libnet1-dev libpcre3-dev libnetfilter-queue-dev iptables-dev libdumbnet-dev zlib1g-dev -y

Khi tất cả các gói được cài đặt, bạn sẽ cần tạo một thư mục tạm thời cho các tệp nguồn của mình - chúng có thể là bất cứ nơi nào bạn muốn. Tôi sẽ sử dụng /usr/src/snort_src. Để tạo thư mục này, bạn sẽ cần phải đăng nhập với tư cách là rootngười dùng hoặc có sudoquyền - rootchỉ cần làm cho nó dễ dàng hơn.

sudo mkdir /usr/src/snort_src
cd /usr/src/snort_src

Cài đặt thư viện thu thập dữ liệu (DAQ)

Trước khi chúng tôi có thể lấy nguồn cho Snort, chúng tôi cần cài đặt DAQ. Nó khá đơn giản để cài đặt.

wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz

Trích xuất các tập tin từ tarball.

tar xvfz daq-2.0.6.tar.gz

Thay đổi vào thư mục DAQ.

cd daq-2.0.6

Cấu hình và cài đặt DAQ.

./configure; make; sudo make install

Dòng cuối cùng, sẽ thực hiện ./configuređầu tiên. Sau đó, nó sẽ thực thi make. Cuối cùng, nó sẽ thực thi make install. Chúng tôi sử dụng cú pháp ngắn hơn ở đây chỉ để tiết kiệm một chút khi gõ.

Cài đặt Snort

Chúng tôi muốn đảm bảo rằng chúng tôi lại trong /usr/src/snort_srcthư mục, vì vậy hãy chắc chắn thay đổi vào thư mục đó với:

cd /usr/src/snort_src

Bây giờ chúng tôi đang ở trong thư mục cho các nguồn, chúng tôi sẽ tải xuống tar.gztệp cho nguồn. Tại thời điểm viết bài này, phiên bản gần đây nhất của Snort là 2.9.8.0.

wget https://www.snort.org/downloads/snort/snort-2.9.8.0.tar.gz

Các lệnh để thực sự cài đặt snort rất giống với các lệnh được sử dụng cho DAQ, nhưng chúng có các tùy chọn khác nhau.

Giải nén các tập tin nguồn Snort.

tar xvfz snort-2.9.8.0.tar.gz

Thay đổi vào thư mục nguồn.

cd snort-2.9.8.0

Cấu hình và cài đặt các nguồn.

 ./configure --enable-sourcefire; make; sudo make install

Cài đặt sau Snort

Khi chúng tôi đã cài đặt Snort, chúng tôi cần đảm bảo rằng các thư viện chia sẻ của chúng tôi được cập nhật. Chúng ta có thể làm điều này bằng cách sử dụng lệnh:

sudo ldconfig

Sau khi chúng tôi làm điều đó, hãy kiểm tra cài đặt Snort của bạn:

snort --version

Nếu lệnh này không hoạt động, bạn sẽ cần tạo một liên kết tượng trưng. Bạn có thể làm điều này bằng cách gõ:

sudo ln -s /usr/local/bin/snort /usr/sbin/snort
snort --version

Kết quả đầu ra sẽ giống như sau:

   ,,_     -*> Snort! <*-
  o"  )~   Version 2.9.7.5 GRE (Build 262)
   ''''    By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
           Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
           Copyright (C) 1998-2013 Sourcefire, Inc., et al.
           Using libpcap version 1.6.2
           Using PCRE version: 8.35 2014-04-04
           Using ZLIB version: 1.2.8

Un-root Snort

Bây giờ chúng tôi đã cài đặt snort, chúng tôi không muốn nó chạy như rootvậy, vì vậy chúng tôi cần tạo một snortngười dùng và nhóm. Để tạo một người dùng và nhóm mới, chúng ta có thể sử dụng hai lệnh sau:

sudo groupadd snort
sudo useradd snort -r -s /sbin/nologin -c SNORT_IDS -g snort

Vì chúng tôi đã cài đặt chương trình bằng cách sử dụng nguồn, chúng tôi cần tạo các tệp cấu hình và các quy tắc cho snort.

sudo mkdir /etc/snort
sudo mkdir /etc/snort/rules
sudo mkdir /etc/snort/preproc_rules
sudo touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules /etc/snort/rules/local.rules

Sau khi chúng ta tạo các thư mục và các quy tắc, bây giờ chúng ta cần tạo thư mục nhật ký.

sudo mkdir /var/log/snort

Và cuối cùng, trước khi chúng ta có thể thêm bất kỳ quy tắc nào, chúng ta cần một nơi để lưu trữ các quy tắc động.

sudo mkdir /usr/local/lib/snort_dynamicrules

Khi tất cả các tệp trước đó đã được tạo, hãy đặt quyền thích hợp cho chúng.

sudo chmod -R 5775 /etc/snort
sudo chmod -R 5775 /var/log/snort
sudo chmod -R 5775 /usr/local/lib/snort_dynamicrules
sudo chown -R snort:snort /etc/snort
sudo chown -R snort:snort /var/log/snort
sudo chown -R snort:snort /usr/local/lib/snort_dynamicrules

Thiết lập tập tin cấu hình

Để tiết kiệm rất nhiều thời gian và để không phải sao chép và dán mọi thứ, hãy cho phép sao chép tất cả các tệp vào thư mục cấu hình.

sudo cp /usr/src/snort_src/snort*/etc/*.conf* /etc/snort
sudo cp /usr/src/snort_src/snort*/etc/*.map /etc/snort

Bây giờ các tệp cấu hình đã có, bạn có thể thực hiện một trong hai điều sau:

  • Bạn có thể kích hoạt Barnyard2
  • Hoặc bạn chỉ có thể để các tệp cấu hình một mình và chọn lọc kích hoạt các quy tắc mong muốn.

Dù bằng cách nào, bạn vẫn sẽ muốn thay đổi một vài điều. Hãy đọc tiếp.

Cấu hình

Trong /etc/snort/snort.conftệp, bạn sẽ cần thay đổi biến HOME_NET. Nó nên được đặt thành khối IP của mạng nội bộ của bạn để nó không đăng nhập các nỗ lực của mạng của bạn để đăng nhập vào máy chủ. Điều này có thể 10.0.0.0/24hoặc 192.168.0.0/16. Trên dòng 45 /etc/snort/snort.confthay đổi biến HOME_NETthành giá trị đó của khối IP mạng của bạn.

Trên mạng của tôi, nó trông như thế này:

ipvar HOME_NET 192.168.0.0/16

Sau đó, bạn sẽ phải đặt EXTERNAL_NETbiến thành:

any

Mà chỉ biến EXERNAL_NETthành bất cứ điều gì của bạn HOME_NETlà không.

Đặt quy tắc

Bây giờ, phần lớn hệ thống đã được thiết lập, chúng ta cần cấu hình các quy tắc của mình cho chú heo con này. Một nơi nào đó xung quanh dòng 104 trong của bạn /etc/snort/snort.conftập tin, bạn sẽ thấy một "var" khai và các biến RULE_PATH, SO_RULE_PATH, PREPROC_RULE_PATH, WHITE_LIST_PATH, và BLACK_LIST_PATH. Giá trị của chúng nên được đặt thành các đường dẫn mà chúng ta đã sử dụng Un-rooting Snort.

var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
var WHITE_LIST_PATH /etc/snort/rules
var BLACK_LIST_PATH /etc/snort/rules

Khi các giá trị đó được đặt, xóa hoặc nhận xét các quy tắc hiện tại bắt đầu từ khoảng 548.

Bây giờ, hãy kiểm tra để đảm bảo rằng cấu hình của bạn là chính xác. Bạn có thể xác minh nó với snort.

 # snort -T -c /etc/snort/snort.conf

Bạn sẽ thấy đầu ra tương tự như sau (cắt ngắn để ngắn gọn).

 Running in Test mode

         --== Initializing Snort ==--
 Initializing Output Plugins!
 Initializing Preprocessors!
 Initializing Plug-ins!
 .....
 Rule application order: activation->dynamic->pass->drop->sdrop->reject->alert->log
 Verifying Preprocessor Configurations!

         --== Initialization Complete ==--

    ,,_     -*> Snort! <*-
   o"  )~   Version 2.9.8.0 GRE (Build 229) 
    ''''    By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
            Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
            Copyright (C) 1998-2013 Sourcefire, Inc., et al.
            Using libpcap version 1.7.4
            Using PCRE version: 8.35 2014-04-04
            Using ZLIB version: 1.2.8

            Rules Engine: SF_SNORT_DETECTION_ENGINE  Version 2.4  <Build 1>
            Preprocessor Object: SF_IMAP  Version 1.0  <Build 1>
            Preprocessor Object: SF_FTPTELNET  Version 1.2  <Build 13>
            Preprocessor Object: SF_SIP  Version 1.1  <Build 1>
            Preprocessor Object: SF_REPUTATION  Version 1.1  <Build 1>
            Preprocessor Object: SF_POP  Version 1.0  <Build 1>
            Preprocessor Object: SF_DCERPC2  Version 1.0  <Build 3>
            Preprocessor Object: SF_SDF  Version 1.1  <Build 1>
            Preprocessor Object: SF_GTP  Version 1.1  <Build 1>
            Preprocessor Object: SF_DNS  Version 1.1  <Build 4>
            Preprocessor Object: SF_SSH  Version 1.1  <Build 3>
            Preprocessor Object: SF_DNP3  Version 1.1  <Build 1>
            Preprocessor Object: SF_SSLPP  Version 1.1  <Build 4>
            Preprocessor Object: SF_SMTP  Version 1.1  <Build 9>
            Preprocessor Object: SF_MODBUS  Version 1.1  <Build 1>

 Snort successfully validated the configuration!
 Snort exiting

Bây giờ mọi thứ đã được cấu hình mà không có lỗi, chúng tôi đã sẵn sàng để bắt đầu thử nghiệm Snort.

Kiểm tra Snort

Cách dễ nhất để kiểm tra Snort là bằng cách bật local.rules. Đây là một tập tin có chứa các quy tắc tùy chỉnh của bạn.

Nếu bạn đã nhận thấy trong snort.conftệp, ở đâu đó xung quanh dòng 546, dòng này tồn tại:

include $RULE_PATH/local.rules

Nếu bạn không có nó, vui lòng thêm nó vào khoảng 546. Sau đó, bạn có thể sử dụng local.rulestệp để kiểm tra. Là một thử nghiệm cơ bản, tôi chỉ cần Snort theo dõi yêu cầu ping (yêu cầu ICMP). Bạn có thể làm điều đó bằng cách thêm vào dòng sau vào local.rulestệp của bạn .

 alert icmp any any -> $HOME_NET any (msg:"ICMP test"; sid:10000001; rev:001;)

Khi bạn đã có trong tệp của mình, hãy lưu nó và tiếp tục đọc.

Chạy thử

Lệnh sau sẽ khởi động Snort và in cảnh báo "chế độ nhanh", khi người dùng khịt mũi, theo tiếng khịt mũi của nhóm, sử dụng cấu hình /etc/snort/snort.confvà nó sẽ lắng nghe trên giao diện mạng eno1. Bạn sẽ cần thay đổi eno1thành bất kỳ giao diện mạng nào mà hệ thống của bạn đang nghe.

$ sudo /usr/local/bin/snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eno1

Một khi bạn có nó chạy, ping máy tính đó. Bạn sẽ bắt đầu thấy đầu ra trông như sau:

01/07−16:03:30.611173 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.105 -> 192.168.1.104
01/07−16:03:31.612174 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.104 -> 192.168.1.105
01/07−16:03:31.612202 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.105 -> 192.168.1.104
^C*** Caught Int−Signal

Bạn có thể nhấn Ctrl + C để thoát khỏi chương trình và đó là chương trình. Snort là tất cả được thiết lập. Bây giờ bạn có thể sử dụng bất kỳ quy tắc mà bạn mong muốn.

Cuối cùng, tôi muốn lưu ý rằng có một số quy tắc công khai được tạo bởi cộng đồng mà bạn có thể tải xuống từ trang web chính thức trong tab "Cộng đồng". Tìm kiếm "Snort", sau đó ngay dưới đó có một liên kết cộng đồng. Tải về nó, giải nén nó, và tìm community.rulestập tin.



Leave a Comment

Cách cài đặt SuiteCRM trên Ubuntu 16.04

Cách cài đặt SuiteCRM trên Ubuntu 16.04

Hướng dẫn cài đặt SuiteCRM, một giải pháp CRM mã nguồn mở, trên Ubuntu 16.04 với các bước chi tiết và dễ hiểu.

ReactOS: Đây có phải là tương lai của Windows?

ReactOS: Đây có phải là tương lai của Windows?

ReactOS, một hệ điều hành mã nguồn mở và miễn phí đã có phiên bản mới nhất. Liệu nó có thể đáp ứng đủ nhu cầu của người dùng Windows hiện đại và hạ gục Microsoft? Hãy cùng tìm hiểu thêm về trải nghiệm hệ điều hành kiểu cũ nhưng mới hơn này.

Liệu AI có thể chiến đấu với số lượng các cuộc tấn công bằng Ransomware ngày càng tăng

Liệu AI có thể chiến đấu với số lượng các cuộc tấn công bằng Ransomware ngày càng tăng

Các cuộc tấn công ransomware đang gia tăng, nhưng liệu AI có thể giúp đối phó với loại virus máy tính mới nhất? AI có phải là câu trả lời? Đọc ở đây biết là AI boone hay cấm

Luôn kết nối thông qua Ứng dụng WhatsApp Desktop 24 * 7

Luôn kết nối thông qua Ứng dụng WhatsApp Desktop 24 * 7

Whatsapp cuối cùng đã ra mắt ứng dụng Máy tính để bàn cho người dùng Mac và Windows. Giờ đây, bạn có thể truy cập Whatsapp từ Windows hoặc Mac một cách dễ dàng. Có sẵn cho Windows 8+ và Mac OS 10.9+

Làm thế nào AI có thể đưa quá trình tự động hóa lên cấp độ tiếp theo?

Làm thế nào AI có thể đưa quá trình tự động hóa lên cấp độ tiếp theo?

Hãy đọc phần này để biết Trí tuệ nhân tạo đang trở nên phổ biến như thế nào đối với các công ty quy mô nhỏ và làm thế nào nó đang tăng khả năng khiến họ phát triển và giúp đối thủ cạnh tranh của họ có thể cạnh tranh.

Bản cập nhật bổ sung macOS Catalina 10.15.4 đang gây ra nhiều vấn đề hơn là giải quyết

Bản cập nhật bổ sung macOS Catalina 10.15.4 đang gây ra nhiều vấn đề hơn là giải quyết

Gần đây Apple đã phát hành macOS Catalina 10.15.4 một bản cập nhật bổ sung để khắc phục các sự cố nhưng có vẻ như bản cập nhật đang gây ra nhiều vấn đề hơn dẫn đến việc máy mac bị chai. Đọc bài viết này để tìm hiểu thêm

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

Hệ thống tệp nhật ký là gì và nó hoạt động như thế nào?

Hệ thống tệp nhật ký là gì và nó hoạt động như thế nào?

Máy tính của chúng tôi lưu trữ tất cả dữ liệu một cách có tổ chức được gọi là hệ thống tệp Ghi nhật ký. Đây là một phương pháp hiệu quả cho phép máy tính tìm kiếm và hiển thị các tệp ngay khi bạn nhấn tìm kiếm. Https://wethegeek.com/? P = 94116 & preview = true

Điểm kỳ dị về công nghệ: Tương lai xa của nền văn minh nhân loại?

Điểm kỳ dị về công nghệ: Tương lai xa của nền văn minh nhân loại?

Khi Khoa học phát triển với tốc độ nhanh chóng, chiếm rất nhiều nỗ lực của chúng ta, những rủi ro của việc phục tùng bản thân trước một Điểm kỳ dị không thể giải thích cũng tăng lên. Hãy đọc, điểm kỳ dị có thể có ý nghĩa gì đối với chúng ta.

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1