Snort 3 คือ Snort IPS (ระบบป้องกันการบุกรุก) รุ่นต่อไป ไฟล์นี้จะแสดงให้คุณเห็นว่า Snort++ นำเสนออะไรบ้าง และแนะนำคุณตลอดขั้นตอนต่างๆ ตั้งแต่การดาวน์โหลดไปจนถึงการสาธิต หากคุณไม่คุ้นเคยกับ Snort คุณควรดูเอกสาร Snort ก่อน เราจะครอบคลุมหัวข้อต่อไปนี้:
ภาพรวม
การพึ่งพาอาศัยกัน
ดาวน์โหลด
สร้างสนอร์ต
วิ่งสนอร์ต
เอกสารประกอบ
ซัคเคียล
Snort++ เวอร์ชันนี้มีคุณสมบัติใหม่ตลอดจนฟีเจอร์ Snort 2.X ทั้งหมดและการแก้ไขข้อบกพร่องสำหรับ Snort เวอร์ชันพื้นฐาน ยกเว้นตามที่ระบุไว้ด้านล่าง:
Project = Snort++ Binary = snort Version = 3.0.0 (Build 250) from 2.9.11
นี่คือคุณสมบัติที่สำคัญบางประการของ Snort++:
รองรับเธรดการประมวลผลแพ็คเก็ตหลายรายการ
ใช้ตารางการกำหนดค่าและคุณลักษณะที่ใช้ร่วมกัน
ใช้การกำหนดค่าที่เรียบง่ายและสามารถเขียนสคริปต์ได้
ทำให้ส่วนประกอบสำคัญสามารถเสียบปลั๊กได้
บริการตรวจหาอัตโนมัติสำหรับการกำหนดค่าแบบไม่มีพอร์ต
รองรับบัฟเฟอร์เหนียวในกฎ
สร้างเอกสารอ้างอิงอัตโนมัติ
ให้การสนับสนุนข้ามแพลตฟอร์มที่ดีขึ้น
อำนวยความสะดวกในการทดสอบส่วนประกอบ
ใช้แผนที่เครือข่ายที่ใช้ร่วมกัน
คุณสมบัติเพิ่มเติมในแผนงานได้แก่:
รองรับการประมวลผลแพ็คเก็ตไปป์ไลน์
รองรับการรวมออฟโหลดฮาร์ดแวร์และระนาบข้อมูล
รองรับโหมดพร็อกซี
รองรับวินโดวส์
หากคุณสร้าง Snort ไว้แล้ว คุณอาจมีทุกสิ่งที่คุณต้องการ ถ้าไม่เช่นนั้น ให้คว้าข้อมูลล่าสุด:
cmake เพื่อสร้างจากแหล่งที่มา
daq จาก https://github.com/snort3/libdaq สำหรับแพ็กเก็ต IO
dnet จาก https://github.com/dugsong/libdnet.git สำหรับฟังก์ชันยูทิลิตี้เครือข่าย
ดิ้น >= 2.6.0 จาก https://github.com/westes/flex สำหรับตัวแยกวิเคราะห์ไวยากรณ์ JavaScript
g++ >= 7 หรือคอมไพเลอร์ C++17 อื่นๆ
hwloc จาก https://www.open-mpi.org/projects/hwloc/ สำหรับการจัดการความสัมพันธ์ของ CPU
LuaJIT จาก http://luajit.org สำหรับการกำหนดค่าและการเขียนสคริปต์
OpenSSL จาก https://www.openssl.org/source/ สำหรับลายเซ็นไฟล์ SHA และ MD5 ตัวเลือกกฎ protected_content และการตรวจจับบริการ SSL
pcap จาก http://www.tcpdump.org สำหรับการบันทึกสไตล์ tcpdump
pcre จาก http://www.pcre.org สำหรับการจับคู่รูปแบบนิพจน์ทั่วไป
pkgconfig จาก https://www.freedesktop.org/wiki/Software/pkg-config/ เพื่อค้นหาการพึ่งพาของบิลด์
zlib จาก http://www.zlib.net เพื่อคลายการบีบอัด
แพ็คเกจเพิ่มเติมมีคุณสมบัติเสริม ตรวจสอบคู่มือเพิ่มเติม
มี tarball แหล่งที่มาในส่วนดาวน์โหลดบน snort.org:
snort-3.0.0-a3.tar.gz
คุณยังสามารถรับรหัสด้วย:
git clone https://github.com/snort3/snort3.git
มีแพ็คเกจพิเศษแยกต่างหากสำหรับ cmake ที่ให้คุณสมบัติเพิ่มเติมและสาธิตวิธีการสร้างปลั๊กอิน แหล่งที่มาของบริการพิเศษอยู่ใน repo snort3_extra.git
ทำตามขั้นตอนเหล่านี้:
ตั้งค่าไดเรกทอรีต้นทาง:
หากคุณใช้โคลน GitHub:
ซีดี snort3/
มิฉะนั้น ให้ทำดังนี้:
tar zxf snort-tarballcd snort-3.0.0*
ตั้งค่าเส้นทางการติดตั้ง:
ส่งออก my_path=/path/to/snorty
คอมไพล์และติดตั้ง:
หากต้องการสร้างด้วย cmake และ make ให้รัน configuration_cmake.sh มันจะสร้างและเติมไดเรกทอรีย่อยใหม่ชื่อ 'build' โดยอัตโนมัติ
./configure_cmake.sh --prefix=$my_pathcd บิลด์ ทำการติดตั้ง -j $(nproc)
บันทึก :
หากคุณสามารถทำ src/snort -V ที่คุณสร้างได้สำเร็จ
หากคุณคุ้นเคยกับ cmake คุณสามารถรัน cmake/ccmake แทน configuration_cmake.sh
cmake --help จะแสดงรายการตัวสร้างที่มีอยู่ เช่น Xcode คุณสามารถใช้อย่างใดอย่างหนึ่งก็ได้ อย่างไรก็ตาม ความช่วยเหลือสำหรับสิ่งเหล่านั้นจะจัดเตรียมไว้แยกต่างหาก
นี่คือตัวอย่างบางส่วน หากคุณใช้กฎและ/หรือการกำหนดค่า Talos คุณควรตั้งค่าตัวแปรที่จำเป็นที่ด้านบนของ snort.lua และ snort_defaults.lua ก่อน
Snort++ ให้ความช่วยเหลือมากมายจากบรรทัดคำสั่ง ซึ่งรวมถึง:
$my_path/bin/snort --help$my_path/bin/snort --help-module ระงับ$my_path/bin/snort --help-config | เธรด grep
ตรวจสอบและถ่ายโอนข้อมูล pcap ต่อไปนี้ ให้แทนที่ a.pcap ด้วยรายการโปรดของคุณ:
$my_path/bin/snort -r a.pcap$my_path/bin/snort -L ดัมพ์ -d -e -q -r a.pcap
ตรวจสอบการกำหนดค่าโดยมีหรือไม่มีกฎ:
$my_path/bin/snort -c $my_path/etc/snort/snort.lua$my_path/bin/snort -c $my_path/etc/snort/snort.lua -R $my_path/etc/snort/sample.rules
เรียกใช้โหมด IDS ต่อไปนี้ ให้แทนที่ pcaps/ ด้วยพาธไปยังไดเร็กทอรีที่มีไฟล์ *.pcap หนึ่งไฟล์ขึ้นไป:
$my_path/bin/snort -c $my_path/etc/snort/snort.lua -R $my_path/etc/snort/sample.rules -r a.pcap -A alert_test -n 100,000
ระงับ 1:2123 กันเถอะ เราสามารถแก้ไข conf หรือทำสิ่งนี้:
$my_path/bin/snort -c $my_path/etc/snort/snort.lua -R $my_path/etc/snort/sample.rules -r a.pcap -A alert_test -n 100000 --lua "ระงับ = { { gid = 1, sid = 2123 } }"
ไปทั้งหมูในไดเร็กทอรีที่มีหลายเธรดแพ็กเก็ต:
$my_path/bin/snort -c $my_path/etc/snort/snort.lua -R $my_path/etc/snort/sample.rules --pcap-filter *.pcap --pcap-dir pcaps/ -A alert_fast --max-packet-threads 8
มีตัวอย่างเพิ่มเติมอยู่ใน doc/usage.txt
ดูคู่มือ ซึ่งบางส่วนสร้างขึ้นโดยโค้ดเพื่อให้เป็นข้อมูลล่าสุด:
$my_path/share/doc/snort/snort_manual.pdf$my_path/share/doc/snort/snort_manual.html$my_path/share/doc/snort/snort_manual/index.html
ยังไม่มีวิธีการและเหตุผลมากนัก แต่มีการกำหนดค่าทั้งหมดที่มีอยู่ในปัจจุบัน ฯลฯ การเปลี่ยนแปลงที่สำคัญบางประการในกฎ:
คุณต้องใช้ตัวเลือกย่อยเนื้อหาที่คั่นด้วยเครื่องหมายจุลภาคดังนี้: content:"foo", nocase;
ตัวเลือกบัฟเฟอร์จะต้องปรากฏก่อนเนื้อหาและยังคงมีผลจนกว่าจะมีการเปลี่ยนแปลง
ตัวเลือกบัฟเฟอร์ pcre ถูกลบแล้ว
ตรวจสอบคู่มือสำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Snort++ กับ Snort
ตรวจสอบส่วนอ้างอิงด้วยตนเองเพื่อทำความเข้าใจวิธีการกำหนดพารามิเตอร์ ฯลฯ
และยังครอบคลุมถึงคุณสมบัติใหม่ๆ ที่ไม่ได้แสดงไว้ที่นี่ด้วย:
snort2lua เครื่องมือในการแปลง Snort 2.X conf และกฎเป็นรูปแบบใหม่
ตัวตรวจสอบ HTTP ใหม่
เครื่องผูกสำหรับการกำหนดค่าการแมปกับการรับส่งข้อมูล
ตัวช่วยสร้างสำหรับการกำหนดค่าที่ไม่ขึ้นอยู่กับพอร์ต
การแยกวิเคราะห์กฎที่ได้รับการปรับปรุง - ช่องว่างโดยพลการ, ความคิดเห็นสไตล์ C, #begin/#end ความคิดเห็น
เชลล์บรรทัดคำสั่งท้องถิ่นและระยะไกล
o")~
เราหวังว่าคุณจะตื่นเต้นกับ Snort++ เช่นเดียวกับเรา แจ้งให้เราทราบว่าคุณคิดอย่างไรกับรายชื่อผู้ใช้ snort ในระหว่างนี้ เราจะเก็บจมูกของเราไว้กับหินลับ