天天看點

pfSense配置Snort

概述

    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,如需轉載請自行聯系原作者

繼續閱讀