如果您認真對待網路安全並提高保護,則必須安裝入侵偵測和預防系統(IPS 或 IDS)來加強網路邊界並轉移不必要的網路流量。
Snort 是一款受歡迎的 IPS/IDS 解決方案,可供個人免費使用,並且開源。讓我們學習如何在 Linux 上安裝和設定 Snort,以保護您的網路免受網路攻擊。查看 當你的手機監視你時會發生什麼事?

快速連結
什麼是 Snort?

Snort 是一個開源網路入侵偵測和預防 (NIDS/IPS) 應用程序,顧名思義,它透過強制執行規則和過濾器來檢測和丟棄注入網路的惡意資料包,從而幫助保護您的網路邊界。
使用 Snort,您將能夠執行高級網路流量日誌記錄、資料包嗅探和分析,並建立強大的入侵防禦系統,保護您的網路免受不必要的和潛在的惡意流量的侵害。
安裝 Snort 的先決條件
在安裝 Snort 之前,需要進行一些初始設定。這主要涉及更新和升級系統,以及安裝 Snort 正常運作所需的依賴項。
開始更新和升級您的系統。
在 Ubuntu 和基於 Debian 的 Linux 發行版上:
sudo apt update && apt upgrade -y
在 Arch Linux 及其發行版上:
sudo pacman -Syu
在 RHEL 和 Fedora 上:
sudo dnf升級
升級系統時,請繼續安裝 Snort 所需的依賴項。以下是您需要執行的命令:
在 Ubuntu 和 Debian 上,運行:
sudo apt install -y build-essential autotools-dev libdumbnet-dev libluajit-5.1-dev libpcap-dev zlib1g-dev pkg-config libhwloc-dev cmake liblzma-dev openssl libssl-dev cp表devp-dev cpm-cid libnetfilter-queue-dev libunwind-dev libmnl-dev ethtool libjemalloc-dev libpcre++-dev
在 Arch Linux 上,運行:
sudo pacman -S gperftools hwloc hyperscan ibdaqlibdnet libmnl libpcap libunwind luajit lz4 openssl pcre pullporkxz zlib cmake pkgconf
對於 RHEL 和 Fedora,發出以下命令:
sudo dnf install gcc gcc-c++ libnetfilter_queue-devel git flex bison zlib zlib-devel pcre pcredevel libdnet tcpdump libnghttp2 wget xz-devel -y
此外,您還需要手動安裝資料擷取庫 LibDAQ 以使 Snort 正常運作,還需要安裝 gperftools 來產生建置檔案。
首先,使用以下命令從官方網站下載 LibDAQ 原始文件 wget的接下來,解壓縮壓縮檔案並使用 cd 導航到目錄。在目錄中,執行 boot 和 configure 腳本,然後使用以下命令繼續準備文件 使安裝.
wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz tar -xzvf lib* cd lib* ./bootstrap ./configure make sudo make install
安裝 LibDAQ 後,您需要安裝最後一個依賴項:gperftools。首先從 GitHub 倉庫取得來源檔案。解壓縮文件,導航到目錄,然後運行配置腳本。最後,使用以下命令安裝軟體包。 使安裝.
wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz tar -xvzf gper* && cd gper ./configure make sudo make install
安裝這些依賴項後,您可以繼續下一步安裝 Snort。
在 Linux 上從原始碼安裝 Snort

初始設定完成後,您可以專注於安裝實際的應用程式。您將從原始程式碼建置它,因此請先取得必要的建置檔案。
使用 wget 命令或從官方下載頁面手動下載檔案:
wget https://www.snort.org/downloads/snortplus/snort3-3.1.58.0.tar.gz
去下載: 哼
包含建置檔的 zip 檔案下載完成後,使用下列命令將其解壓縮 焦油:
tar -xzvf snort*
進入解壓縮的資料夾,運行設定腳本,並使用命令 使 準備文件,然後最後使用以下方式安裝 使安裝:
cd snort* ./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc cd build make sudo make install
Snort 現已成功安裝到您的系統上。但是,您還需要完成一個步驟。手動安裝新應用程式時,安裝目錄和所需的程式庫可能不會自動包含在預設系統路徑中。因此,您在啟動應用程式時可能會遇到錯誤。
為了避免這個問題,你需要執行命令 LDCONFIG它將同步系統共享庫快取和新安裝的庫和二進位檔案。運行以下命令: LDCONFIG 使用 root 權限或使用前綴 須藤:
須藤ldconfig
現在你已經了解了安裝 Snort 所需的所有重要步驟。若要驗證安裝,請使用下列標誌執行 Snort 命令: -V ,您應該會看到返回版本名稱和其他資料的輸出。
哼哼 -V
一旦您確認 Snort 已安裝,請繼續執行以下步驟將其設定為成熟的 IDS/IPS。
Linux 上的初始 Snort 配置

Snort 的效率幾乎完全取決於它所提供的規則集的品質。
但是,在開始設定規則之前,您需要設定網路卡以便與 Snort 搭配使用,並且還需要測試 Snort 如何處理預設設定。首先從設定網路卡開始。
您需要將網路介面設定為混雜模式:
sudo ip link set dev interface_name promisc on
使用 工具 停用常規接收卸載 (GRO) 和大型接收卸載 (LRO) 以防止丟棄較大的網路封包:
sudo ethtool -K interface_name gro off lro off

測試 Snort 使用預設配置的表現:
snort -c /usr/local/etc/snort/snort.lua
這應該會傳回成功輸出,表示您已在系統上正確安裝並配置了 Snort。現在,您可以調整其功能並嘗試不同的配置,以找到保護網路安全的最佳規則集。
使用 Snort 設定和執行規則
基本設定完成後,Snort 就可以開始保護您的網路邊界了。眾所周知,Snort 需要規則集來判斷流量的有效性,因此,讓我們為 Snort 設定一些由社群產生的免費規則集。
Snort 從特定目錄讀取規則集和配置。首先,使用以下命令 MKDIR و 幫助 建立一些重要的目錄來儲存 Snort 的規則和其他相關資料:
sudo mkdir -p /usr/local/etc/{lists,so_rules,rules} sudo touch /usr/local/etc/rules/local.rules sudo touch /usr/local/etc/lists/default.blocklist透過建立這些指南,您可以使用以下命令從官方網站下載社群規則集 wget的:
wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz
規則集下載完成後,解壓縮並複製到目錄 /usr/local/etc/規則/.
tar -xvzf snort3-com* cd snort3-com* cp * /usr/local/etc/rules/

若要使用規則集執行 Snort,請執行下列命令:
sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i interface_name -s 65535 -k none
命令解釋:
- -c 指定預設設定檔的路徑。
- -R 指定強制執行的規則的路徑。
- -i 指定接口。
- -s 忽略 snaplen 限制。
- -k 忽略校驗和。
這應該會驗證配置並強制執行所有 Snort 規則集。一旦偵測到任何網路幹擾,它會透過控制台訊息發出警報。
如果您想建立並實施自己的規則集,您可以從 官方文件頁面. 核實 最佳 Web 應用程式防火牆服務,保護您的網站安全.
使用 Snort 準備日誌

預設情況下,Snort 不輸出任何日誌。您需要使用標誌指定這一點。 -L 若要以日誌記錄模式啟動 Snort,請選擇日誌檔案類型和標籤。 -l 設定 Snort 轉儲日誌的日誌目錄。
這是啟動 Snort 並啟用日誌記錄的命令:
sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i interface_name -s 65535 -k none -L file_type -l /var/log/snort
命令解釋:
- -c 指定預設設定檔的路徑。
- -R 指定強制執行的規則的路徑。
- -i 指定接口。
- -s 忽略 snaplen 限制。
- -k 忽略校驗和。
- -L 啟用日誌記錄模式並指定日誌檔案類型。
- 他具體說明 -l 日誌儲存路徑。
請注意,在前面的命令範例中,錄製目錄設定為 /var/log/snort雖然這是建議的做法,但您可以自由地將記錄儲存在其他地方。
您可以從指定的目錄中讀取 Snort 的日誌文件,或將其傳遞給 Splunk 等 SIEM 應用程式進行進一步分析。
新增 Snort 作為守護進程,以便隨系統啟動

即使您已經安裝並配置了 Snort,您仍然需要確保它在啟動時啟動並作為後台伺服器運行。將其新增為自動啟動系統服務將確保 Snort 在連接到網際網路時始終運作並保護您的系統。
以下是如何在 Linux 上新增守護程式來啟動 Snort:
- 開始建立服務文件。 systemd 新的:
touch /lib/systemd/system/snort.service
- 使用您選擇的文字編輯器開啟該文件,並填寫以下資訊。您可以根據需要修改標籤:
[單元] Description=Snort Daemon After=syslog.target network.target [服務] Type=simple ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/local/etc/snort/snort.lua -R /usr/local/etc/rules/kort /var/log/snort -D -L pcap -i ens33 [安裝] WantedBy=multi-user.target
- 儲存並退出文件。接下來,使用命令 服務 و systemctl 啟用並啟動腳本:
sudo systemctl enable snort.service sudo snort start
Snort 守護程式現在應該正在運行。您可以使用該命令檢查腳本的狀態。它應該會傳回正值。
systemctl status snort
現在您知道如何使用 Snort IDS 保護您的網路。
雖然實施入侵偵測系統 (IDS) 是一種良好做法,但它更像是一種被動措施,而非主動措施。改善和確保網路安全的最佳方法是持續測試並尋找需要修復的漏洞。
滲透測試是尋找和修補可利用漏洞的好方法。現在您可以查看 網路安全專業人員的最佳滲透測試工具.










