概述
Snort是入侵檢測和預防系統。它可以将檢測到的網絡事件記錄到日志并阻止它們。Snort使用稱為規則的檢測簽名進行操作。 Snort規則可以由使用者自定義建立,或者可以啟用和下載下傳幾個預打包規則集中的任何一個。 最常用的是Snort VRT(漏洞研究團隊)的規則。 Snort VRT規則提供兩種形式。一個是免費的注冊使用者版本,但需要在http://www.snort.org注冊。免費版本僅提供30天以前的規則。付費使用者則提供每周兩次的更新規則。 下面,我将在pfsense2.34系統中介紹Snort的安裝和配置。
第一步、到www.snort.org網站進行注冊,并得到OinkCode代碼。
<a href="https://s2.51cto.com/wyfs02/M01/9A/D8/wKioL1lbPxqgAXB2AACWLLrD8J0397.png" target="_blank"></a>
建立一個免費的Snort.org帳戶并獲得OinkCode。 可以在登入後單擊使用者名,然後在左側菜單中選擇Oinkcode,即可找到這個資訊。
Oinkcode将用于pfSense自動下載下傳snort規則定義。
第二步,安裝和運作snort
導航到系統 -插件管理 - 可用插件,找到 Snort。
點選“+”按鈕進行安裝
<a href="https://s1.51cto.com/wyfs02/M02/9A/D8/wKioL1lbQD-D7cYMAABPV_jXhjg516.png" target="_blank"></a>
運作snort。導航到服務 - Snort,進入Snort配置界面。
<a href="https://s3.51cto.com/wyfs02/M00/9A/D8/wKioL1lbQJfjkqwWAACa_Qy9gNk637.png" target="_blank"></a>
第三步,配置snort
Snort有很多設定,一開始可能無從下手。我将隻介紹使IDS / IPS正常運作所需的功能。本篇教程隻讨論最常見的設定。沒有提到的設定,請保留預設值。
第四步、(Global Settings)全局設定
<a href="https://s4.51cto.com/wyfs02/M02/9A/D8/wKiom1lbQY2SYmoRAAPOTerFdBg155.png" target="_blank"></a>
Enable Snort VRT- 選中。
Snort Oinkmaster Code -輸入你在Snort.org注冊帳戶獲得OinkCode。
Enable Snort GPLv2-選中。
此選項從社群中下載下傳附加的Snort規則。 這些規則與Snort VRT付費使用者相同,但是它們是延遲釋出的。 如果是VRT付費使用者,則可以在可用時立即獲得這些規則。
Enable ET Open-選中。
ETOpen是一個開源的Snort規則集,其覆寫範圍比ETPro更受限制。
Enable ET Pro-不選,這是付費的。
Enable OpenAppID-選中。
OpenAppID包包含AppID預處理器所需的應用程式簽名。
Enable RULES OpenAppID-選中。
Update Interval(更新間隔)-設為12小時。
Update Start Time(更新時間)-設為00:05。
Remove Blocked Hosts Interval-1小時。
選擇希望主機被阻止的時間。 這裡設定為1小時。
Keep Snort Settings After Deinstall-選中。
選中這個選項可以在删除插件後保留Snort設定。
其他設定使用預設值。
第五步,(Pass Lists)通行清單選項
<a href="https://s5.51cto.com/wyfs02/M00/9A/D9/wKioL1lbRTKASrYxAAEY6ICZzIk957.png" target="_blank"></a>
可以在此建立自定義檔案,将IP存儲在通行清單中。 如果編輯通行清單,底部有一個功能ssigned Aliases(配置設定别名),允許你建立要包含在通行清單中的别名。 你可以通過别名将所需的IP添加到通行清單中。
這個步驟是可選的,也不是開放網際網路IP的最佳方法(更多的是在管理部分)。對于初次使用的使用者,建議不要設定,保留預設值就可以了。
1、導航到防火牆 - 别名管理
2、建立别名= passlist_5719
3、将IP位址添加到這個别名
4、回到通行清單頁籤,并将此别名添加到通行清單。
5、導航到系統服務 - Snort - 通過清單 - 編輯 - 配置設定的别名
6、将IP添加到别名,并将其包含在通行清單中。
第六步,(Suppress)抑制清單選項
<a href="https://s3.51cto.com/wyfs02/M01/9A/DA/wKioL1lbR6PRSTOmAAEU1_XK-8A024.png" target="_blank"></a>
在抑制清單編輯頁面上,可以手動添加或編輯新的抑制清單條目。 通過單擊“增加”按鈕來添加抑制條目。 這裡,我們給一個名稱(suppress_list)和一個描述。 在後面我們将在處理接口時引用這個抑制清單。 任何被抑制的規則都會顯示在底部的空白處。
第七步,(Snort Interfaces)接口設定
<a href="https://s5.51cto.com/wyfs02/M02/9A/DA/wKioL1lbSoKRuDMQAANw2jlpZc8051.png" target="_blank"></a>
在這個頁籤上,我們将指定Snort要監視的接口。 當我們添加一個接口時,我們将看到子頁籤也同時被建立。
點選'增加'來添加一個接口。
_________________________________________________________
LAN設定子頁籤
Enable = 選中
Interface = LAN
推薦設定選WAN,但是建議使用LAN。 推薦WAN的原因是:如果隻監控1個接口,則裝置資源密集度較低。 如果有多個本地接口(LAN1,LAN2,Voice等),通過監控WAN,隻能以1個接口監視為代價監視所有流量。 這樣做的缺點是無法看到這個流量涉及到哪些内部IP, 隻會看到違規的外網位址和WAN IP兩個位址。 如果要知道哪些内部電腦連接配接到違規的外網位址時,建議選擇LAN,并根據需要為任何其他内部接口建立其他監視。比如有兩個子網的情況(LAN1,LAN2)。
Block Offenders =選中
Kill States = 選中
Which IP to Block = both (你的内部網絡預設已經在通行清單中,這裡隻是阻止外部位址)
Search Method = AC-BNFA (這是預設的,在我的系統上正常工作)
Search Optimize = 選中
Stream Inserts = 選中
Checksum Check Disable = 選中
Home Net = 預設
External Net = 預設
Pass List = 預設 (如果您建立了自定義通行清單檔案,則可以在此處選擇)
Alert Suppression and Filtering = suppress_list(這是前面建立的抑制清單檔案)
儲存設定(在移動到下一個子标簽之前必須儲存每個子頁籤的設定)
LAN Categories子頁籤
<a href="https://s5.51cto.com/wyfs02/M02/9A/DC/wKioL1lbUemyJDFTAAI5kbP_NIE938.png" target="_blank"></a>
Resolve Flowbits = 選中
Use IPS Policy = 選中
這個選項将顯示下一個“IPS Policy Selection(政策選擇)”下拉清單。 如果不選中,則必須從頁面底部的清單中手動選擇規則集類别。
IPS Policy Selection = Balanced
這個選項将選擇關聯的類别。 分别為:Connectivity, Balanced, Security。 不同的選項代表不同的政策。
Snort GPLv2 Community Rules (VRT certified) =選中
根據需要選中其他的規則集。
滾動到頁面底部儲存設定。
對于其他子頁籤上的Snort接口,可以參照這個進行自定義操作。
第八步,Snort配置管理
通過以上步驟,Snort已經完成了基本的配置,下面我們要進行詳細的設定。
<a href="https://s5.51cto.com/wyfs02/M00/9A/DC/wKiom1lbVRiwrIMvAAB02Q6voO4697.png" target="_blank"></a>
導航到系統服務- Snort - Snort接口
在這個頁籤上,将會看到我們開始建立的Snort接口。 單擊運作圖示,将開始這個接口的監視,單擊停止圖示将停止該接口的監視。
“Blocking”列可以告知我們是否啟用了阻止。 如果禁用阻止,我們将在“警報”頁籤中看到所有檢測到的條目。 如果啟用阻止,我們将在“Blocked”頁籤中看到這些被阻上的條目。
如果建立抑制清單,則應該阻止禁用,以便使用者不受影響。 可以通過編輯Snort接口并取消選中“Block Offenders”選項來關閉這個功能。
第九步,更新
<a href="https://s2.51cto.com/wyfs02/M00/9A/DD/wKiom1lbVsHwd8e8AAExlifFFF8965.png" target="_blank"></a>
在此頁籤上,可以更新規則,并檢視訂閱的規則。 如果在某些時間看到規則還未下載下傳,則需要強制更新,另外必須檢查一下OinkCode是否有問題。
第十步,Alerts(警報)
<a href="https://s3.51cto.com/wyfs02/M01/9A/DD/wKioL1lbV4qA51Z3AAD24V8-SKs645.png" target="_blank"></a>
下面的清單顯示了Snort建立的警報記錄條目,其中包含源和目标位址以及觸發警報的特定規則(SID列)資訊。
源和目的IP列:
“+”符号會抑制這個特定的規則來源或目的地。
SID列:
“+“将禁止這個規則,無論來源或目的地。
“x”将禁用該規則并将其從規則集中删除。
第十一步,Blocked(阻止)
<a href="https://s2.51cto.com/wyfs02/M01/9A/DD/wKioL1lbWQ3y3qeZAAD2c8h7JIU903.png" target="_blank"></a>
當觸發警報時,違規的IP會被阻止,同時顯示警報描述和事件發生時間。 根據前面的設定,這裡的條目将在1個小時内解除封鎖。 也可以從這個頁面手動删除條目。
在建立抑制清單時,“警報”和“阻止”頁籤之間存在一些雜亂無章的資訊,其中顯示哪些警報被觸發并且IP被阻止。研究抑制規則,并重新加載網頁,以檢視它是否正确加載而不觸發規則。
第十二步,Suppress(抑制)
<a href="https://s2.51cto.com/wyfs02/M01/9A/DD/wKioL1lbWb7QJo3CAABMQkGe5kA837.png" target="_blank"></a>
當禁止規則時,它将顯示在禁止檔案中。 你可以在白色的空間看到它。 也可以手動直接删除或添加規則。如果監控多個Snort接口,則從每個接口引用相同的抑制清單可以節省大量的工作。
Snort 配合pfSense功能非常強大,是一個高度可定制的IDS / IPS解決方案。 這個教程隻介紹了基本的設定,使用者可以根據自己的實際需要進行更多的定制設定。
本文轉自 鐵血男兒 51CTO部落格,原文連結:http://blog.51cto.com/fxn2025/1944486,如需轉載請自行聯系原作者