Firewall(防火牆)、Intrusion Detection System (IDS,入侵偵測系統)、Intrusion Prevention System (IPS,入侵防禦系統)三者的差異在於:【Firewall – 防火牆】只會對進出的封包做審核;【Intrusion Detection System – 入侵偵測系統】屬於被動式防護機制,只會紀錄惡意封包的攻擊行為;而【Intrusion Prevention System – 入侵防禦系統】屬於主動式防護機制,不僅會紀錄惡意封包的攻擊行為,還會將惡意封包丟棄。
pfSense與OPNsense在IDS/IPS上使用不同的軟體,前者需要安裝外掛才能使用Snort,後者則是內建IDS功能預設使用Suricata。以普遍性來看,Snort似乎在網路上的討論度高於Suricata,所以有較多的文章可以參考。所以,在pfSense安裝Snort,成功啟動IDS/IPS一點都不難。接著就往下看安裝實例的圖文分享~
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_f5f5623979c202bf459dc343ef28ef0df4e76008c14d8196cff4dde7165d38b7119e45f703d8781b25dbd3e86f3c85f537a0ab8971f66950138a967469311246.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_b48be0c98b8af5c5458268ee00df80d0cee1ae8e6b361d9d7a35dc9b7800bde9010cebe6749b2fb79701af30b68af95fffbd11a120e5ff216f439bb0463544fd.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_f48d1d383c4e731404810b9049dcea63cd80dc53b9e868b3cc84c85400f0ede37490dfb6631aebe70f15ee68554878efbdc825f3d952bb6c02ced2174670abc1.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_09e17556b39749d31dbd14f13dad7bfdc965e2c40335e0a309766210f279a966627139d1777572259ae297cbd5b60ec46da8229d784d3879f96dcd3b621d530d.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_42826d20e39ff885730fc4086957dbdf4ef06cc26e7c9a2bfe69a9a0b62dbe83b7f7ea4dda661cb595dd37354354673d9a1f8c4235ea635eee25157dad7c0322.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_adcaabfbe0f11d80d8b5cc0b12388ad6c33c7d8dafbf693785dfbf27534d95bef4ad7ba15b35db2ffa5021fa62a4607e7948c7198291e11f3011ba0af30e5449.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_e9061e964c8e6c9959fcf70fd43391591538fe3078ab20c1f4151f60eb25d59d6216c6d05e160f843a2bd82e4d7a267b431ceea4b95e80948948984a90179e15.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_842ee3fd8bc62cb767baff0ccfa72f880790ccc4050b91181077b87478b4d84858be6ac27e7cd3739a5c2a0cb0092fa8dfb5e50e24e2205b1e9f1c88fd58ab89.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_16b25704bf8292da72481a86c26c3619d590449dadf2846af8d622750e4e96c6d84eb66a80a23c238525b992bf8b1935f5c8fa616920a9f36eacd4329a904dc0.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_d21799e4b46e93eac9583ac64730263dc6824efcc77b720f510daf077a8419163cb0b4ca98b1a04fca463fe1edd2891edfad100998af72706817ace6fdfccff3.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_a122d9f978d4ae8255b2bd2e708adbe55c844af30e50d24746302ab29fbcbb64181a688830679ffd4457222071f07dd547bc7f36ea1cc4e5cbf289b76bbc881f.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_a8e2d2ed9a3799d70884ea3d313d4eec8dd0a8b4c6528cee810f3c0710600bae3e90dc4bfd31d981023d3c3cf2db1bd3ad578b94ce004c7dfe5ebbc3f25fe0f6.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_aaa7d834e588188e8f48d385b1a992bf2adff2ca84896f871b14ff274c1d66f6ad6e0576d1d9b167cd65130f7e2baf96ecaea3cc9630c19214ec30fb5fb0ed21.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_294869dd23d387349d9b26da2cdd21fc66baf45aa4e1f1d2b498ae0e15e75160ab728c937c6e782a0ccb7a806cb0433dad464e56fc8a04f4456636d0c21debd7.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_f7089a2bc08d361d03bc77ff62e4d481455478717c798cb05c6903a5818536a591d680439c7e80c47087d5efa031ba045c0611d0bddbe4af77bf4eb6dd53ceeb.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_de2e4068a81634911eb89d62d32b3aa3e5f16b5bb7ad9c8f96878e4d8690d362a72391bfb6f346d2d11b016e8ee926612c880ca29ef2d9f4ebad079cdebb7a3c.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_c272fa90e958458c4320d79d90bb6347cdbb28382fd799d076610e16c87acccfbaeccd7e76167dd377ae775b4e2eaf03688ad7293e2f5c4ae154b7f235654023.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_5c5dd2291025b55985b6b302012c9b40632761e138eb2e5a03ecdff8195125059ad10d79814279813ed629c5e66378b4559c2bc57a6662ae90a0f440655b3283.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_32f7817c4c8777308f46d2aca499ac98d4dedfb6a9a4e782176f9953ec05235cb052654cb48f03457720d1f64bc93c975b490a10cf45ddfb59c182b8375e55c6.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_1e2040148c86e5d8c2f146f6d5644401631b7e7d94257fe428d5a767bbf5baa2790adcfc964dd6d10c6efea07945a1316ed06dbaec87eda44800d20e9554ac53.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_ea69f58c2530a41bb2378bcf712294b884a40e7f3a9bc5a71a080b9ae095c26e89ce39ec880948bb35d215fa0782ab11ae5a266b9d1ee28df91ab012507d3a60.js
https://hipay0.com/wp-content/cache/breeze-minification/js/breeze_e9b587c58c2155ff4f559a90c6fdeb1ca2e4d7b1cd51f1349dd09e51e8caf5cfcd4f769ec6b0f0ea42704f4f391f50171a1b16b514f69f429e6ecf98f5857990.js
申請Snort帳號 申請Snort帳號網址:https://www.snort.org/users/sign_up
申請Snort帳號 前往信箱檢查信件,假使有一封【noreply@snort.org】的信件,請打開並按下【Confirm my account】。接著登入Snort帳戶後,在左手邊點一下【Oinkcode】,然後把右手邊的序號複製下來,等一下需要輸入到外掛程式中。
Oinkcode
安裝IDS/IPS入侵偵測系統外掛 – Snort 前往System > Package Manager > Available Packages底下,在搜尋欄位輸入Snort,按下Search。 接著在下方【Packages】頁面中,找到Snort的外掛程式後,按下【+Install】開始安裝。
安裝Snort外掛程式 完成後,可以在【Installed Packages】頁面中,看到Snort已安裝完成的畫面。
確認Snort安裝成功
Snort – Global Settings 在【Snort Subscriber Rules】底下,把剛剛申請的Oinkcode貼到【Snort Oinkmaster Code】欄位中。
輸入Oinkcode 將【Enable Snort GPLv2】與【Enable ET Open】的方塊打勾。
Enable rules 將【Enable OpenAppID】、【Enable AppID Open Text Rules】與【Enable FEODO Tracker Botnet C2 IP Rules】的方塊打勾。
Enable rules Rules Update Settings: – Update Interval:每日更新一次 – Update Start Time:半夜2點進行更新General Settings: – Remove Blocked Hosts Interval:將違反規格的來源封鎖1小時 – Remove Blocked Hosts After Deinstall:取消 – Keep Snort Settings After Deinstall:打勾
最後按下【Save】離開設定頁面。
更新週期與封鎖設定
Snort – Updates 前往Service > Snort > Updates,在Update Your Rule Set 底下有一個【Update Rules】按鍵,首次設定時需要手動更新,執行更新後,可以看到下圖2號方塊內的資訊。
首次需要手動更新規則
Snort – Interfaces 按下【Add】將WAN介面新增到Snort外掛當中。
新增介面 General Settings – Enable:打勾 – Interface:通常會指定WAN – Description:任意
Enable Interface – WAN – Send Alerts to System Log: 打勾 – 其餘保持預設值
Alert Settings – Block Offenders:打勾,當Snort偵測到惡意封包時,會將來源封鎖 – IPS Mode:Legacy mode,自動封鎖來源,不需要在Alert頁面中手動封鎖 – Kill Stats:打勾 – Search Optimize:打勾 – 其餘保持預設值
最後按下【Save】離開設定頁面。
啟動IPS模式
Snort – IPS Policy 在WAN Categories底下,將【Resolve Flowbits】打勾,並且在【Snort Subscriber IPS Policy Selection】底下,選擇適合自己的IPS Policy。
IPS Policy 在【Select the rulesets (Categories) Snort will load at startup】底下,選擇要啟動的規則。可以優先將Emerging Threats(ET)的規則集全部啟動,外來視情況再來調整。
啟動規則集
Snort – Preprocs 在這個頁面,只需要更改以下的設定即可,其餘保持預設值。
Preprocessors Basic Configuration Settings – Enable Performance Stats:打勾 – Auto Rule Disable:打勾
Application ID Detection – Enable:打勾。(Use OpenAppID to detect various applications. Default is Not Checked.)
最後按下【Save】離開設定頁面。
WAN Preprocs Configuration
啟動IDS/IPS入侵偵測系統外掛 – Snort 最後,在Snort Interface底下,可以看到Snort Status有一個藍色三角形的符號,將它按下去就能啟動Snort外掛了,一切正常的話,就會像下圖依樣會出現綠色勾勾的符號。
啟動IDS/IPS入侵偵測系統外掛 – Snort
常見問題 為何不使用 OPNsense 內建的 IDS / IPS 功能呢? 雖然 OPNsense 有內建的 IDS / IPS 功能,但是在實際使用方面,似乎出現一些無法解決的狀況。例如:始終無法在 Alert 的頁面中看到任何惡意封包的訊息。所以,才改用 pfsense 搭配 Snort 外掛程式,來實現入侵偵測/入侵防禦系統的目的。
如何驗證 Snort 有正常運作呢? 範例網站:Top 100 virus-infected websites exposed(https://www.smh.com.au/technology/top-100-virusinfected-websites-exposed-20090820-erc8.html),提供了許多惡意網址,例如: * 17ebook.co * aladel.net * bpwhamburgorchardpark.org * clicnews.com * dfwdiesel.net * … 可以將網址複製後,貼在瀏覽器開啟。然後回到 pfSense 的 Service > Snort > Alerts 檢查,剛剛連線的網址是否有偵測到。
可以將 Snort 指定在 LAN interface 嗎? 可以。 但是,通常 Intrusion Detection System / Intrusion Prevention System 主要是運作在對外的 WAN interface。
安裝IDS/IPS入侵偵測系統困難嗎? 不論是 OPNsense 或 pfSense 都實際操作過防火牆 / IDS / IPS 的安裝與運作,不過以 IDS / IPS 而言, OPNsense 可算是無腦安裝,因為軟路由裝好後, IDS / IPS 的功能就等你來開啟。不過,pfSense 的 Snort 雖然在安裝設定方面較為繁瑣,但是它卻能提供較為可靠的資訊,讓你能判斷 IDS / IPS 的運作狀況。而且,以上面的圖文範例來看,其實完整安裝 Snort 外掛,好像也沒有繁瑣到哪裡!