使用 Snort 進行入侵檢測

使用 Snort 進行入侵檢測

Snort 是一種流行的開源入侵檢測系統。您可以在http://www.snort.org/上獲取它。Snort 分析流量并嘗試檢測和記錄可疑活動。Snort 還能夠根據其所做的分析發送警報。

Snort 安裝

在本課中,我們將從源代碼安裝。此外,我們不會安裝標準版的 snort,而是對其進行編譯以將其記錄的內容發送到 MySQL 數據庫。此外,我們將安裝一個基于 Web 的工具 SnortReport,以便我們可以輕松訪問 Snort 提供的信息。讓我們從 Snort 本身開始。
下載最新的 tarball 并將其解壓到您方便的位置 - 也許是您正在解壓源代碼的地方對于我們在本課程中處理的其他軟件包。我們將配置 Snort 以將其警報記錄到 MySQL 數據庫,因此我們假設您已安裝 MySQL。如果您像我一樣在 Fedora Core 上安裝它,您還應該安裝 Perl正則表達式開發庫。它們以 RPM 形式提供。(從您最喜歡的 RPM 存儲庫中獲取 pcre-devel.X.rpm)

此外,在編譯之前,您應該為 snort 添加組和用戶:

groupadd snort

useradd -g snort snort -s /dev/null

現在,您可以開始編譯了。轉到包含 snort 源代碼的目錄并發出以下命令:

./configure --with-mysql

然后:

make

并且(以 root 身份)

make install

Snort 的活動基于一組規則。需要將這些規則從 tarball 源中的目錄規則復制到 /etc/snort/rules/。您還應該將在那里找到的所有配置文件復制到 /etc/snort/(本質上是 cp *.rules /etc/snort/rules/、cp *.conf /etc/snort、cp *.config /etc/snort、cp *.map /etc/snort)

設置 Snort

首先,我們需要修改 snort.conf 文件以反映我們網絡的細節。在此文件中,您將找到以下變量:

var HOME_NET X.X.X.X/X

您需要將其更改為您的網絡所在的范圍。例如,對于典型的 C 類網絡,您可以將 X 更改為 192.168.0.0/16。此外,請確保您的 RULE_PATH 變量指向 /etc/snort/rules。

由于我們配置了 Snort 以將其警報記錄到 MySQL 數據庫中,因此我們需要做一些事情來做好準備。首先,在 snort.conf 文件中,您需要添加以下行

output database: log, mysql, user=snort password=XXXXX dbname=snort host=localhost

現在我們需要創建“snort”數據庫。為此,請執行以下命令(當然,這假設您在機器上擁有 MySQL“root”用戶權限)

mysqladmin -u root -p create snort

現在,打開 MySQL shell 并創建“snort”用戶并授予表的創建、插入、選擇、刪除和更新權限。

grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort.* to snort@localhost;

然后為您上面使用的用戶‘snort’設置密碼:

SET PASSWORD FOR snort@localhost=PASSWORD('XXXXX');

現在我們需要在 snort 數據庫中創建主要表。為此,請進入放置 snort 源代碼的“contrib”目錄并發出以下命令:

mysql -u root -p < create_mysql snort

然后我們需要創建一些額外的表。最好的方法是使用以下命令:

zcat snortdb-extra.gz |/usr/local/mysql/bin/mysql -p snort

現在,您應該擁有 snort MySQL 系統所需的所有表。執行“show tables;”查詢將顯示以下內容:

+------------------+
| Tables_in_snort |
+------------------+
| data |
| detail |
| encoding |
| event |
| flags |
| icmphdr |
| iphdr |
| opt |
| protocols |
| reference |
| reference_system |
| schema |
| sensor |
| services |
| sig_class |
| sig_reference |
| signature |
| tcphdr |
| udphdr |
+------------------+

現在,一切準備就緒,'snort' 可以開始記錄警報了。SnortReport有一個很棒的基于 Web 的前端,用于監控 snort 警報,名為 SnortReport。它用 PHP 編寫,可輕松安裝到 snort 所在機器的 Web 服務器中。它可從 Circuits Maximus 獲得:http://www.circuitsmaximus.com/SnortReport 將按協議類型顯示警報的圖形表示。此圖形需要 libphp-jpgraph 庫。這實際上是 Debian 軟件包的一部分,但源代碼可在 Ibibilo 找到。您還需要啟用 GD 庫的 PHP 安裝。這通常是默認啟用的,因此如果您安裝了 PHP4 或更新版本,則不需要您再做任何工作。

要安裝,只需解壓您的網頁所在的 SnortReport 源。然后將組成 libphp-jpgraph 的 php 文件復制到名為“jpgraph”/snortreport 目錄的子目錄中 - 因為這是我們將告訴 SnortReport 查找它們的地方。然后打開文件“srconf.php”并將用戶“snort”的 MySQL 密碼變量更改為 ($pass = "XXXXX" ;)。接下來,確保“jpgraph”路徑的變量指向我們想要的位置:

define("JPGRAPH_PATH", "./jpgraph/");

您不必啟用圖表。如果您沒有啟用 GD 的 PHP 安裝或 jpgraph,則可以在文件 srconf.php 中將變量設置為“FALSE”。

現在,如果您將 Web 瀏覽器指向 SnortReport 所在的位置,則應該看到類似以下內容:

現在,您可以基于 Web 監控 Snort 入侵檢測系統。

更新和添加 Snort 規則

正如我們提到的,snort 根據 /etc/snort/rules 中的一組規則開展活動。您可以在http://www.snort.org/dl/rules/下載新規則。您應該獲取與您正在使用的 Snort 版本相對應的 tarball。在撰寫本文時,Snort 的版本為 2.x。請確保獲取特定“.x”的 tarball。(即 2.1、2.2、ETC)。

如果您管理一兩臺服務器,那么在最新的 tarball 發布后獲取它并手動更新可能比較實用。您可以重命名舊的“規則”目錄 rules.YYYYMMDD 或任何您喜歡的名稱,然后將新的規則目錄放在其位置并重新啟動 Snort。如果您是多臺機器的系統管理員,那么創建一個腳本來完成此操作是有意義的。還有一個名為“Oinkmaster”的流行工具可用于更新和管理 snort 規則。它位于http://oinkmaster.sourceforge.net/。他們的頁面有關于如何使用此工具來使您的規則保持最新的出色文檔。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/17342.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/17342.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/17342.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2024 前端面試每日1小時

三日 1. 如何理解Vue的模板編譯原理 Vue的模板編譯實際就是將模板字符串通過解析、優化和代碼生成等步驟轉換為渲染函數的過程。這個過程中&#xff0c;AST扮演了非常重要的角色&#xff0c;它用樹形結構描述了模板的內容和結構&#xff0c;是編譯過程的核心數據結構&#xff…

MySQL——適合不適合創建索引的情況

那些情況適合創建索引 1、字段的數值具有唯一性的限制 索引本身可以起到約束的作用&#xff0c;比如唯一索引、主鍵索引都是可以起到唯一性約束的&#xff0c;因此在我們的數據表中&#xff0c;如果某個字段是唯一性的&#xff0c;就可以直接創建唯一性索引&#xff0c;或者主…

Nodejs 爬蟲 案例

1.安裝&#xff1a; npm install cheerio npm install axios2.介紹&#xff1a; 2.1 cheerio 特點和用途描述&#xff1a; HTML解析和操作&#xff1a;Cheerio 可以將 HTML 字符串加載到內存中&#xff0c;并將其轉換為一個可操作的 DOM 樹結構&#xff0c;從而可以方便地對…

AURIX TC3xx單片機介紹-啟動過程介紹1

從各個域控制器硬件解決方案來看,MPU可能來自多個供應商,有瑞薩,有NXP等,但對于MCU來說,基本都采用英飛凌TC3xx。 今天我們就來看一下TC3xx的啟動過程,主要包含如下內容: uC上電過程中,會經過一個上電時序,從復位狀態“脫離”出來;Boot Firmware是復位后第一個執行的…

使用 Effect 同步-09

有些組件需要與外部系統同步。例如&#xff0c;你可能希望根據 React state 控制非 React 組件、設置服務器連接或在組件出現在屏幕上時發送分析日志。Effects 會在渲染后運行一些代碼&#xff0c;以便可以將組件與 React 之外的某些系統同步。 簡單理解&#xff0c;就是需要操…

Python實現對Word文檔內容出現“重復標題”進行自動去重(4)

前言 本文是該專欄的第4篇,后面會持續分享Python辦公自動化干貨知識,記得關注。 在本專欄上一篇文章《Python實現對Word文檔內容出現“重復標題”進行自動去重(3)》中,筆者有詳細介紹使用python對word文檔內容的目標文本進行自動去重。只不過本文要介紹的“去重方法”與上…

計算機專業必考之計算機指令設計格式

計算機指令設計格式 例題&#xff1a; 1.設相對尋址的轉移指令占3個字節&#xff0c;第一字節為操作碼&#xff0c;第二&#xff0c;第三字節為相對偏移量&#xff0c; 數據在存儲器以低地址為字地址的存放方式。 每當CPU從存儲器取出一個字節時候&#xff0c;自動完成&…

正點原子[第二期]Linux之ARM(MX6U)裸機篇學習筆記-24.1,2 SPI驅動實驗-SPI協議介紹

前言&#xff1a; 本文是根據嗶哩嗶哩網站上“正點原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸機篇”視頻的學習筆記&#xff0c;在這里會記錄下正點原子 I.MX6ULL 開發板的配套視頻教程所作的實驗和學習筆記內容。本文大量引用了正點原子教學視頻和鏈接中的內容。…

計算機組成原理易混淆知識點總結(持續更新)

目錄 1.機器字長&#xff0c;存儲字長與指令字長 2.指令周期,機器周期,時鐘周期 3.CPI,IPS,MIPS 4.翻譯程序和匯編程序 5.計算機體系結構和計算機組成的區別和聯系 6.基準程序執行得越快說明機器的性能越好嗎? 1.機器字長&#xff0c;存儲字長與指令字長 不同的機器三者…

AI智能體|扣子Coze文生圖功能接入微信公眾號

大家好&#xff0c;我是無界生長。 AI智能體&#xff5c;扣子Coze文生圖功能接入微信公眾號本文分享了如何將Coze平臺的文生圖功能接入微信公眾號的詳細操作流程&#xff0c;包括創建圖像流、創建并配置Bot、設置提示詞和開場白、調試、發布等步驟。如果看完還沒學會的話&…

網頁圖片加載慢的求解指南

網頁/圖片加載慢的求解指南 一、前言與問題描述 今天剛換上華為的HUAWEI AX3 Pro New&#xff0c;連上WIFI后測速雖然比平時慢&#xff0c;但是也不算太離譜&#xff0c;如下圖所示&#xff1a; 估計讀者們有也和作者一樣&#xff0c;還沒意識到事情的嚴重性&#x1f601;。 …

08Django項目--用戶管理系統--查(前后端)

對應視頻鏈接點擊直達 TOC 一些朋友加我Q反饋&#xff0c;希望有每個階段的完整項目代碼&#xff0c;那從今天開始&#xff0c;我會上傳完整的項目代碼。 用戶管理&#xff0c;簡而言之就是用戶的增刪改查。 08項目點擊下載&#xff0c;可直接運行&#xff08;含數據庫&…

PHP框架 Laravel

現在因為公司需求&#xff0c;需要新開一個Laravel框架的項目&#xff0c;毫無疑問&#xff0c;我又被借調過去了&#xff0c;最近老是被借調&#xff0c;有點陰郁&#xff0c;不過反觀來看&#xff0c;這也是好事&#xff0c;又可以復習和鞏固一下自己的知識點&#xff0c;接下…

大數據開發面試題【Spark篇】

115、Spark的任務執行流程 driver和executor&#xff0c;結構式一主多從模式&#xff0c; driver&#xff1a;spark的驅動節點&#xff0c;用于執行spark任務中的main方法&#xff0c;負責實際代碼的執行工作&#xff1b;主要負責&#xff1a;將代碼邏輯轉換為任務、在executo…

編譯qt5.15.2(mac/windows)的mysql驅動(附帶編譯好的文件)

文章目錄 0 背景1 編譯過程2 福利 0 背景 因為需要連接到mysql數據庫&#xff0c;所以需要連mysql驅動。 1 編譯過程 1&#xff0c;打開文件/Users/mac/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers/sqldrivers.pro&#xff0c;注釋掉QMAKE_USE mysql&#xff1b; 如…

國產【Jetson Xavier NX】——從裸機到深度學習開發環境配置

1、設置系統從固態硬盤啟動 英偉達官方NX出廠是直接將SD卡&#xff08;64/128G&#xff09;燒錄系統作為系統盤使用&#xff0c;國產NX出廠是將系統配置在8G內存中&#xff0c;在后續使用中需配置大量開發包&#xff0c;故將系統設置為從固態硬盤啟動。 參考鏈接 https://blo…

vue3中使用svg圖標

安裝依賴 npm i vite-plugin-svg-icons -D vite.config.ts中添加配置 主要為指定svg圖標存放路徑以及命名方式 import { defineConfig } from vite import vue from vitejs/plugin-vue import { createSvgIconsPlugin } from vite-plugin-svg-icons import path from path;…

總結力學_3

參考: 陳曦<<力學講義>>http://ithatron.phys.tsinghua.edu.cn/downloads/mechanics.pdf 10 非慣性系 10.1 勻加速平動非慣性系 10.2 定軸勻速轉動非慣性系 可以更好刻劃總結力學_2的有心力運動、質點系的運動的工具! 11 線性系統 11.1 線性系統、11.2 受迫…

【深入理解Python中的裝飾器】

文章目錄 前言裝飾器的基本概念帶參數的裝飾器類作為裝飾器結論 前言 裝飾器是Python中一個非常強大且靈活的特性&#xff0c;它允許程序員在不修改原函數代碼的情況下&#xff0c;增加或修改函數的行為。裝飾器本質上是一個接受函數作為參數并返回一個新函數的函數。本文將深…

點擊登錄按鈕先檢測輸入框的規則檢測(vue組合式)

<template><el-form :model"user" :rules"rules" ref"loginForm" label-width"auto" style"max-width: 600px"><el-form-item label"用戶名" prop"name"><el-input v-model"…