วิธีการกำหนดค่า Snort บนเดเบียน

Snort เป็นระบบตรวจจับการบุกรุกเครือข่ายฟรี (IDS) ในแง่ที่เป็นทางการน้อยจะช่วยให้คุณสามารถตรวจสอบเครือข่ายของคุณสำหรับกิจกรรมที่น่าสงสัยในเวลาจริง ปัจจุบัน Snort มีแพ็คเกจสำหรับ Fedora, CentOS, FreeBSD และระบบที่ใช้ Windows วิธีการติดตั้งที่แน่นอนนั้นแตกต่างกันไปในแต่ละ OS ในบทช่วยสอนนี้เราจะติดตั้งโดยตรงจากซอร์สไฟล์สำหรับ Snort คู่มือนี้เขียนขึ้นสำหรับเดเบียน

อัปเกรดอัปเกรดและรีบูต

ก่อนที่เราจะจับมือกับแหล่ง Snort จริงเราต้องตรวจสอบให้แน่ใจว่าระบบของเราทันสมัย เราสามารถทำได้โดยการออกคำสั่งด้านล่าง

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

การกำหนดค่าล่วงหน้าติดตั้ง

เมื่อระบบของคุณเริ่มระบบใหม่เราต้องติดตั้งแพคเกจจำนวนหนึ่งเพื่อให้แน่ใจว่าเราสามารถติดตั้ง SBPP ได้ ฉันสามารถเข้าใจได้ว่ามีแพ็คเกจจำนวนหนึ่งที่จำเป็นดังนั้นคำสั่งพื้นฐานจึงอยู่ด้านล่าง

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

เมื่อติดตั้งแพคเกจทั้งหมดแล้วคุณจะต้องสร้างไดเรกทอรีชั่วคราวสำหรับไฟล์ต้นฉบับของคุณซึ่งสามารถไปได้ทุกที่ที่คุณต้องการ /usr/src/snort_srcฉันจะใช้ ในการสร้างโฟลเดอร์นี้คุณจะต้องเข้าสู่ระบบในฐานะrootผู้ใช้หรือมีsudoสิทธิ์อนุญาตrootเพียงทำให้ง่ายขึ้น

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

การติดตั้ง Data Acquisition Library (DAQ)

ก่อนที่เราจะได้รับซอร์สสำหรับ Snort เราจำเป็นต้องติดตั้ง DAQ มันค่อนข้างง่ายในการติดตั้ง

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

แตกไฟล์จาก tarball

tar xvfz daq-2.0.6.tar.gz

เปลี่ยนเป็นไดเรกทอรี DAQ

cd daq-2.0.6

กำหนดค่าและติดตั้ง DAQ

./configure; make; sudo make install

บรรทัดสุดท้ายนั้นจะดำเนินการ./configureก่อน makeจากนั้นก็จะดำเนินการ make installสุดท้ายก็จะดำเนินการ เราใช้ไวยากรณ์ที่สั้นกว่าที่นี่เพื่อประหยัดการพิมพ์เพียงเล็กน้อย

การติดตั้ง Snort

เราต้องการให้แน่ใจว่าเราอยู่ใน/usr/src/snort_srcไดเรกทอรีอีกครั้งดังนั้นโปรดเปลี่ยนเป็นไดเรกทอรีนั้นด้วย:

cd /usr/src/snort_src

ตอนนี้เราอยู่ในไดเรกทอรีสำหรับแหล่งที่มาเราจะดาวน์โหลดtar.gzไฟล์สำหรับแหล่งที่มา ในขณะที่เขียนนี้, รุ่นล่าสุดของ Snort 2.9.8.0คือ

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

คำสั่งสำหรับการติดตั้ง snort นั้นคล้ายกับคำสั่ง DAQ แต่มีตัวเลือกที่แตกต่างกัน

แตกไฟล์ต้นฉบับ Snort

tar xvfz snort-2.9.8.0.tar.gz

เปลี่ยนเป็นไดเรกทอรีต้นทาง

cd snort-2.9.8.0

กำหนดค่าและติดตั้งแหล่งที่มา

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

หลังการติดตั้ง Snort

เมื่อเราติดตั้ง Snort แล้วเราจำเป็นต้องตรวจสอบให้แน่ใจว่าห้องสมุดที่ใช้ร่วมกันของเราทันสมัย เราสามารถทำได้โดยใช้คำสั่ง:

sudo ldconfig

หลังจากที่เราทำเช่นนั้นทดสอบการติดตั้ง Snort ของคุณ:

snort --version

หากคำสั่งนี้ใช้งานไม่ได้คุณจะต้องสร้าง symlink คุณสามารถทำได้โดยพิมพ์:

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

ผลลัพธ์ที่ได้จะมีลักษณะดังต่อไปนี้:

   ,,_     -*> 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

ยกเลิกการรูต Snort

ตอนนี้เราติดตั้ง snort แล้วเราไม่ต้องการให้มันทำงานเป็นrootดังนั้นเราจึงจำเป็นต้องสร้างsnortผู้ใช้และกลุ่ม ในการสร้างผู้ใช้และกลุ่มใหม่เราสามารถใช้สองคำสั่งนี้:

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

เนื่องจากเราได้ติดตั้งโปรแกรมโดยใช้ซอร์สเราจึงต้องสร้างไฟล์กำหนดค่าและกฎสำหรับ 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

หลังจากที่เราสร้างไดเรกทอรีและกฎตอนนี้เราต้องสร้างไดเรกทอรีบันทึก

sudo mkdir /var/log/snort

และสุดท้ายก่อนที่เราจะเพิ่มกฎใด ๆ เราต้องมีที่สำหรับเก็บกฎแบบไดนามิก

sudo mkdir /usr/local/lib/snort_dynamicrules

เมื่อสร้างไฟล์ก่อนหน้านี้ทั้งหมดแล้วให้ตั้งค่าการอนุญาตที่เหมาะสม

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

การตั้งค่าไฟล์กำหนดค่า

เพื่อประหยัดเวลาและหลีกเลี่ยงการคัดลอกและวางทุกอย่างเพียงคัดลอกไฟล์ทั้งหมดไปยังไดเรกทอรีการกำหนดค่า

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

เมื่อถึงตอนนี้ไฟล์ปรับแต่งมีคุณสามารถทำหนึ่งในสองสิ่งต่อไปนี้:

  • คุณสามารถเปิดใช้งาน Barnyard2
  • หรือคุณสามารถปล่อยให้ไฟล์กำหนดค่าไว้คนเดียวและเลือกเปิดใช้งานกฎที่ต้องการ

ไม่ว่าจะด้วยวิธีใดคุณยังคงต้องการเปลี่ยนแปลงบางสิ่ง อ่านต่อไป

องค์ประกอบ

ในแฟ้มคุณจะต้องเปลี่ยนตัวแปร/etc/snort/snort.conf HOME_NETควรตั้งค่าให้บล็อก IP ของเครือข่ายภายในของคุณดังนั้นจะไม่บันทึกการพยายามเข้าสู่เซิร์ฟเวอร์ของเครือข่ายของคุณเอง นี้อาจจะเป็นหรือ10.0.0.0/24 192.168.0.0/16ในบรรทัด 45 ของ/etc/snort/snort.confการเปลี่ยนแปลงตัวแปรHOME_NETเป็นค่าของบล็อก IP ของเครือข่ายของคุณ

ในเครือข่ายของฉันดูเหมือนว่า:

ipvar HOME_NET 192.168.0.0/16

จากนั้นคุณจะต้องตั้งค่าEXTERNAL_NETตัวแปรเป็น:

any

ซึ่งเพิ่งเปลี่ยนEXERNAL_NETเป็นสิ่งที่คุณHOME_NETไม่ได้

การตั้งกฎ

ตอนนี้ระบบส่วนใหญ่มีการตั้งค่าเราจำเป็นต้องกำหนดค่ากฎของเราสำหรับลูกหมูตัวน้อยนี้ บางรอบเส้น 104 ในของคุณ/etc/snort/snort.confไฟล์คุณควรเห็น "var" ประกาศและตัวแปรRULE_PATH, SO_RULE_PATH, PREPROC_RULE_PATH, และWHITE_LIST_PATH ค่าของพวกเขาควรจะกำหนดให้เส้นทางที่เราใช้ในการBLACK_LIST_PATHUn-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

เมื่อตั้งค่าเหล่านั้นแล้วให้ลบหรือใส่ความคิดเห็นกฎปัจจุบันเริ่มต้นที่ประมาณ 548 บรรทัด

ตอนนี้ให้ตรวจสอบเพื่อให้แน่ใจว่าการกำหนดค่าของคุณถูกต้อง snortคุณสามารถตรวจสอบได้ด้วย

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

คุณจะเห็นผลลัพธ์คล้ายกับข้อความต่อไปนี้ (ตัดให้สั้นลง)

 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

ตอนนี้ทุกอย่างได้รับการกำหนดค่าโดยไม่มีข้อผิดพลาดเราก็พร้อมที่จะเริ่มทดสอบ Snort

ทดสอบ Snort

วิธีที่ง่ายที่สุดในการทดสอบ Snort local.rulesคือโดยการเปิดใช้ นี่คือไฟล์ที่มีกฎที่กำหนดเองของคุณ

หากคุณสังเกตเห็นในsnort.confไฟล์รอบ ๆ 546 มีบรรทัดนี้อยู่:

include $RULE_PATH/local.rules

หากคุณไม่มีโปรดเพิ่มมันประมาณ 546 จากนั้นคุณสามารถใช้local.rulesไฟล์สำหรับการทดสอบ เป็นการทดสอบพื้นฐานฉันเพิ่งได้ Snort ติดตามคำขอ ping (คำขอ ICMP) คุณสามารถทำได้โดยเพิ่มในบรรทัดต่อไปนี้ในlocal.rulesไฟล์ของคุณ

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

เมื่อคุณมีสิ่งนั้นอยู่ในไฟล์ของคุณแล้วให้บันทึกและอ่านต่อ

ทำการทดสอบ

คำสั่งต่อไปจะเริ่ม Snort และพิมพ์โหมด "เร็ว" การแจ้งเตือนเป็น Snort ผู้ใช้ภายใต้ Snort กลุ่มที่ใช้การตั้งค่าและมันจะฟังบนเชื่อมต่อเครือข่าย/etc/snort/snort.conf eno1คุณจะต้องเปลี่ยนeno1เป็นอินเตอร์เฟสเครือข่ายที่ระบบของคุณกำลังฟังอยู่

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

เมื่อคุณเปิดใช้งานแล้วให้ ping คอมพิวเตอร์นั้น คุณจะเริ่มเห็นผลลัพธ์ที่มีลักษณะดังนี้:

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

คุณสามารถกดCtrl + Cเพื่อออกจากโปรแกรมได้ ตั้งค่า Snort แล้ว ตอนนี้คุณสามารถใช้กฎใด ๆ ที่คุณต้องการ

สุดท้ายฉันต้องการที่จะทราบว่ามีกฎสาธารณะบางอย่างที่ชุมชนคุณสามารถดาวน์โหลดได้จากเว็บไซต์ทางการภายใต้แท็บ "ชุมชน" ค้นหา "Snort" จากนั้นภายใต้จะมีลิงก์ชุมชน ดาวน์โหลดแยกและค้นหาcommunity.rulesไฟล์



Leave a Comment

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true