叢集手冊/SnortIDS
Snort 是一種網路入侵檢測系統和網路入侵防禦系統。它是一個由 Martin Roesch 在 1998 年建立的免費開源系統。Snort 由 Sourcefire 開發,並在 2009 年入選 InfoWorld 的開源名人堂,成為“有史以來最偉大的開源軟體”之一。
Snort 能夠對網際網路協議網路進行即時流量分析和資料包記錄,並執行協議分析、內容搜尋和內容匹配。Snort 還可以用於檢測探測或攻擊,包括作業系統指紋識別嘗試、通用閘道器介面、緩衝區溢位、伺服器訊息塊探測和隱形埠掃描。
Snort 有三種主要的配置模式:嗅探器、資料包記錄器和網路入侵檢測。在嗅探器模式下,Snort 將讀取網路資料包並在控制檯上顯示它們。在資料包記錄器模式下,Snort 將資料包記錄到磁碟,而在入侵檢測模式下,Snort 將監控網路流量並根據使用者定義的規則集對其進行分析。然後,Snort 會向用戶發出警報,或者根據發生的情況執行特定操作。
LAMP 是自由、開源軟體的組合,LAMP 代表 Linux、Apache HTTP Server、MySQL 和 PHP、Perl 或 Python。LAMP 軟體包中的確切軟體可能有所不同,它不是由其原始作者設計為一個軟體包。但它是緊密配合開發的,因此很容易適應。當一起使用時,它們支援 Web 應用程式伺服器。
BASE 是基本分析和安全引擎。它基於入侵資料庫分析控制檯 (ACID) 專案的程式碼。此應用程式提供了 Web 前端來查詢和分析來自 SNORT IDS 系統的警報。
BASE 是一個 Web 介面,用於執行對 Snort 在您的網路上檢測到的入侵的分析。它使用使用者身份驗證和基於角色的系統,因此您可以作為安全管理員決定每個使用者可以檢視什麼以及檢視多少資訊。它還具有一個易於使用的基於 Web 的安裝程式,適用於不習慣直接編輯檔案的人員。
對於 SnortIDS,您將使用 LAMP 伺服器。它將充當 ACID 的 HTTP 伺服器(您的 Web 介面),並將充當 Snort 的 MySQL 後端。Ubuntu 12.04 LTS 用於此設定。
root@master:/# sudo tasksel install lamp-server tasksel:啟動一個簡單的介面,供使用者選擇安裝的一般任務。
系統將提示您選擇 MySQL root 密碼。這將在後面的安裝中需要。

首先建立資料庫。
root@master:/# mysql -u root -p
mysql> create database snort;
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON snort.* TO 'masterusername'@'localhost' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
mysql> quit
root@master:/# _
接下來,您可以安裝 SNORT
root@master:/# sudo apt-get -y install snort-mysql 系統將提示您輸入本地網路的 IP 地址。這是您要保護的叢集網路。必須使用無類別域間路由 (CIDR) 格式。10.0.x.0/24

系統將詢問您是否希望設定一個用於 Snort 的資料庫。

選擇否。您已經建立了資料庫,您只需要配置它。這樣您將更新 Snort 表結構。
root@master:/# pushd /usr/share/doc/snort-mysql
root@master:/# sudo zcat create_mysql.gz | mysql -u snort -p snort
# The syntax is: mysql -u <username> -p <prompt for password> <database>
root@master:/# popd
現在修改 Snort 配置檔案以包含您的 MySQL 特定資訊。
root@master:/# sudo sed -i "s/output\ log_tcpdump:\ tcpdump.log/#output\ log_tcpdump:\ tcpdump.log\noutput\ database:\ log,\ mysql, user=snort password=password dbname=snort host=localhost/" /etc/snort/snort.conf
上面的行位於 /etc/snort/snort.conf 的第 786 行。該程式碼片段只是在日誌輸出前面放置一個註釋,併為我們的資料庫追加輸出行。
現在刪除掛起的 Snort 資料庫配置檔案。
root@master:/# sudo rm -rf /etc/snort/db-pending-config 啟動 Snort。
root@master:/# sudo /etc/init.d/snort start 要檢查 Snort 守護程序的狀態,請使用
root@master:/# sudo /etc/init.d/snort status
要檢查 Snort 的輸出,您將使用 ACID(一個 Web 前端)。
root@master:/# sudo apt-get -y install acidbase 系統將提示您為 acidbase 配置一個數據庫。選擇是並使用 MySQL。

系統將提示您輸入資料庫管理員的密碼。這與您最初使用 LAMP 安裝 MySQL 時使用的密碼相同。

要訪問 acidbase Web 前端,您必須編輯 apache.conf
root@master:/# sudo sed -i "s#allow\ from\ 127.0.0.0/255.0.0.0#allow\ from\ 127.0.0.0/255.0.0.0\ '您的 IP'/255.255.255.0#" /etc/acidbase/apache.conf 這將允許您和機器訪問前端。
您也可以允許所有人的訪問

要生效,您必須重啟 Apache。
root@master:/# sudo /etc/init.d/apache2 restart 瀏覽到:http://’IP(裝有 SNORT/acidbase 的機器的 IP 地址)
為了測試,請執行對 Snort 主機的埠掃描。您將為此需要 nmap 軟體包。
root@master:/# sudo nmap -p1-65535 -sV -sS -O '您的 SNORT 機器 IP' 如果某些內容無法正常工作,請嘗試重新配置 SNORT。使用以下命令,您可以重置 IP。
root@master:/# sudo dpkg-reconfigure snort-mysql