在 Ubuntu 上部署 Snort 入侵檢測系統

2021-05-21 13:15:45 字數 4797 閱讀 6376

目錄

1. 介紹

2. 安裝過程

3. 總結

4. 參考文章

1. 介紹

snort的預設記錄是存放在 log 文字檔案中,而為了觀察監控方便起見,一般使用 acidbase 這個網頁控制台來檢視(好像 mysql 的 phpmyadmin)。所以整個過程需要:安裝 snort 和相應包;安裝 lamp(linux, apache, mysql, php) 伺服器;在mysql資料庫中建立好snort資料庫並配置 snort 使其將 log 存放在 mysql 資料庫中;為基於 php 的入侵檢測資料庫分析控制台 (acidbase) 配置好資料庫連線。

2. 安裝過程

[安裝lamp,snort和一些軟體庫]

$ sudo apt-get install libpcap0.8-dev libmysqlclient15-dev mysql-client-5.0 mysql-server-5.0 bison flex apache2 libapache2-mod-php5 php5-gd php5-mysql libphp-adodb php-pear pcregrep snort snort-rules-default

需要注意的是在安裝 mysql 資料庫時會彈出設定 mysql 根使用者口令的介面,臨時設定其為「test」。

[在 mysql 資料庫中為 snort 建立資料庫]

$ sudo apt-get install snort-mysql

安裝好之後檢視幫助文件:

$ less /usr/share/doc/snort-mysql/readme-database.debian

根據幫助文件中的指令,在 mysql 中建立 snort 的資料庫使用者和資料庫。所使用的命令如下:

$ mysql –u root –p

在提示符處輸入上面設定的口令 test

mysql> create database snort;

mysql> grant create, insert, select, update on snort.* to snort@localhost;

mysql> grant create, insert, select, update on snort.* to snort;

mysql> set password for snort@localhost=password('snort-db');

mysql> exit

以上命令的功能是在 mysql 資料庫中建立乙個 snort 資料庫,並建立乙個 snort 使用者來管理這個資料庫,設定 snort 使用者的口令為 snort-db。

然後根據 readme-database.debian 中的指示建立 snort 資料庫的結構。

$ cd /usr/share/doc/snort-mysql

$ zcat create_mysql.gz | mysql -u snort -d snort -psnort-db

這樣就為 snort 在 mysql 中建立了資料庫的結構,其中包括各個 snort 需要使用的表。

[設定 snort 把 log 檔案輸出到 mysql 資料庫中]

修改 snort 的配置檔案:/etc/snort/snort.conf

$ sudo vim /etc/snort/snort.conf

#var home_net any

var home_net 192.168.0.0/16

#var external_net any

var external_net !$home_net

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

#output database: log, mysql

這樣,snort 就不再向 /var/log/snort 目錄下的檔案寫記錄了,轉而將記錄存放在 mysql 的snort資料庫中。這時候可以測試一下 snort 工作是否正常:

$ sudo snort -c /etc/snort/snort.conf

如果出現乙個用 ascii 字元畫出的小豬,那麼 snort 工作就正常了,可以使用 ctrl-c 退出;如果 snort 異常退出,就需要查明以上配置的正確性了。

[測試 web 伺服器 apache 和 php 是否工作正常]

配置 apache 的 php 模組,新增 msql 和 gd 的擴充套件。

$ sudo vim /etc/php5/apache2/php.ini

extension=msql.so

extension=gd.so

重新啟動 apache

$ /etc/init.d/apache2 restart

在/var/www/目錄下新建乙個文字檔案test.php

$ sudo vim /var/www/test.php

輸入內容:

<?php

phpinfo();

?>

然後在瀏覽器中輸入 http://localhost/test.php,如果配置正確的話,就會出現 php info 的經典介面,就標誌著 lamp 工作正常。

[安裝和配置 acid-base]

$ sudo apt-get install acidbase

安裝過程中需要輸入 acidbase 選擇使用的資料庫,這裡選 mysql,根使用者口令 test,和 acid-base 的口令(貌似也可以跳過不設定)。

將acidbase從安裝目錄中拷貝到www目錄中,也可以直接在apache中建立乙個虛擬目錄指向安裝目錄,這裡拷貝過來主要是為了安全性考慮。

sudo cp –r /usr/share/acidbase/ /var/www/

因為 acidbase 目錄下的 base_conf.php 原本是乙個符號鏈結指向 /etc/acidbase/ 下的base_conf.php,為了保證許可權可控制,我們要刪除這個鏈結並新建 base_conf.php 檔案。

$ rm base_conf.php

$ touch base_conf.php

暫時將 /var/www/acidbase/ 目錄許可權改為所有人可寫,主要是為了配置 acidbase 所用。

$ sudo chmod 757 acidbase/

選擇語言為 english,adodb 的路徑為:/usr/share/php/adodb;選擇資料庫為 mysql,資料庫名為 snort,資料庫主機為 localhost,資料庫使用者名為 snort 的口令為 snort-db;設定 acidbase 系統管理員使用者名稱和口令,設定系統管理員使用者名為 admin,口令為 test。然後一路繼續下去,就能安裝完成了。

接著重新在snort資料庫中建立表,因為裝acidbase會刪除原來建的表!

$ cd /usr/share/doc/snort-mysql

$ zcat create_mysql.gz | mysql -u snort -d snort -psnort-db

安裝完成後就可以進入登入介面,輸入使用者名稱和口令,進入 acidbase 系統。

這裡需要將 acidbase 目錄的許可權改回去以確保安全性,然後在後台啟動 snort,就表明 snort 入侵檢測系統的安裝完成並正常啟動了:

$ sudo chmod 775 acidbase/

$ sudo snort -c /etc/snort/snort.conf -i eth0 –d

[檢查入侵檢測系統工作狀況,更改入侵檢測規則]

正常情況下在乙個不安全的網路中,登入 acidbase 後一會兒就能發現網路攻擊。如果沒有發現網路攻擊,可以新增更嚴格的規則使得正常的網路連線也可能被報攻擊,以測試 snort ids 的工作正確性,比如在 /etc/snort/rules/web-misc.rules 的最後新增下面的話:

3. 總結

使用 ubuntu 部署 snort 入侵檢測系統和網頁控制台是相當容易的,因為 ubuntu 提供了很方便的軟體包安裝功能,只是有時候定製效能太差,需要使用者手動去尋找軟體包的安裝位置。

4. 參考文章

gearman 在Ubuntu上部署Gearman

wget tar zxvf gearmand 1.1.12.tar.gz cd gearmand 1.1.12 configure configure error could not find boost sudo apt get install libboost dev 接著重新執行 config...

在ubuntu上部署R以及shiny server

ubuntu16.04 安裝r與rstudio install ubuntu安裝rstudio server 我按官網的文件安裝,比較可靠,安裝的是r3.4,之前 用清華映象不知道怎麼就安裝3.2了。ubuntu packages for r 其實整個過程參考這篇文章就可以了 ubuntu下安裝r,...

mysql資料庫在Ubuntu上部署

第1步 ubuntu介面按快捷鍵ctrl alt t進入命令終端 第2步 開啟 ubuntu 終端,使用下面sudo命令進入管理員許可權,執行 sudo su,輸入系統的密碼 第3步 ubuntu 上安裝 mysql 非常簡單只需要幾條命令就可以完成,執行 apt get install mysql...