過去很長一段時間,因為找不到足夠防護功能的開源防火牆,所以都是直接採購商用硬體式產品。直到今年,終於等到適合的開源軟體方案。
我已將公司對外防火牆更換成 OPNsense 這套開源的軟體防火牆/路由器,安裝在一台上個月買入的二手工業級無風扇小主機上運作 (型號 ARK-1124U),用起來相當痛快,而且再一次節省大量經費支出。如果是需要更高階一點的設備,我則是選用防火牆網通設備廠的機架式設備 (型號 CAD-0263),在文末參考連結有硬體廠商資訊。
本文整理實際上線的心得,提供參考。
實際使用
比 pfSense 更簡單的操作畫面,容易擴充的機制搭配各種外掛,以及現代流行的深色主題,用起來感覺充滿高科技味道 😂
資訊看板
安裝好 ntopng 外掛程式後,就可以在即時更新的流量圖上快速檢視目前網路裝置用量較多者,以及其連線的目標;還能檢視各個裝置的資訊探測、連線目標、連接埠等等重要網路行為資訊。圖中所示可以清楚看見,有 5 個節點正跟 Proxmox 官方位於新加坡的 CDN 伺服器連線,進行 Proxmox VE 版本升級作業中。
ntopng 即時流量圖、裝置探索與連線行為分析
接著安裝 Maltrail 外掛程式,內建許多自動更新的資料庫,從 OPNsense 的流量中識別惡意行為,同時將這些惡意 IP 自動整合進 OPNsense 防火牆的阻擋清單裡,阻絕惡意連線發生。除此之外,它也提供一個方便檢視、搜尋與篩選的使用介面,協助追查惡意連線行為的細節。圖中的很多欄位都提供游標懸停時,顯示更多資訊的功能,例如在 IP 欄位會自動查詢相關惡意 IP 行為的資料庫來源、參考資訊網址等等。
maltrail 流量分析惡意行為,並結合阻擋來源與目標連線
繼續強化,安裝 Suricata 這套強大的 IDS/IPS 外掛程式後,藉由其所提供的豐富規則資料庫,即時識別封包的行為、應用程式、使用服務等等,讓管理者容易統計約分析網路使用狀況,更可進一步啟用阻擋機制,將具有惡意的封包阻斷,例如各種已知 CVE 漏洞的掃描探測,或是來自惡意網路主機的攻擊。圖中即是準備對社群網站進行控管規則的調整。
suricata 識別及防護封包行為,提供豐富且自動更新的規則資料庫
在防火牆當中的 aliases 功能,可以設定多種資料類型與來源,除了本身已經整合好的地理 GeoIP 資訊來源,也可以自行將指定網址下的 IP 清單、本機下的 IP 清單檔案排程自動同步回來,再搭配防火牆的 Rule 規則功能,直接協助我們將惡意來源擋在外面,不放行入內網。
aliases 功能可直接整合多種惡意情資來源多方攔阻,並可排程更新
OpenVPN 是應用普遍且功能強大的虛擬私人網路開源套件,OPNsense 將 OpenVPN 整合進來,並且為它提供了相當容易設定的管理介面,讓我們可以用快速的方式將 VPN 伺服器建立完成。加上 OPNsense 本身已經支援 AD/LDAP 與 TOTP 認證,我們即可打造具有雙因素認證的安全加密連線通道。
註:OpenVPN 我是另外建置在 Proxmox VE 虛擬機裡的 OPNsense,沒有裝在出口防火牆這台 OPNsense 上。
OpenVPN 建立安全加密連線通道,並搭配 AD/LDAP 與 TOTP 認證
Unbound 可以做為域名伺服器使用,在 OPNsense 整合後的應用,還可以化身為 DNS 連線防護機制。在 OPNsense 的管理介面中,已經內建取多會自動更新的 DNS 惡意 FQDN 清單,只要簡單勾選後即可讓 Unbound 將這些具有惡意風險存在的域名給封鎖,避免內部裝置連到惡意網站後慘遭值入或控制。
Unbound 提供 DNS 連線防護,搭配多源惡意阻擋清單保護使用者
最後,我們設定 OPNsense 將記錄傳送至 Graylog 伺服器,即可利用 Graylog 強大的索引、擷取器、管線、看板等功能,打造出綜觀全貌的看板,並兼具快速篩選狀況、統計排行數據、追查事件原因等等,除了方便又能符規,更可以避免查詢大量資料時對防火牆效能的影響。此圖顯示事件數量、介面、協定、動作、應用程式、DHCP 等等概觀。
OPNsense 搭配 Graylog 應用 1
這張圖呈現出外部來源 IP 連線的統計,尤其以國家來源分別看出擋掉的國家排行榜,再利用 Graylog 的 Lookup Table 功能由 IP 反解出 FQDN,便於快速識別來源 IP 的相關資訊。
OPNsense 搭配 Graylog 應用 2
將 Suricata 所收集的記錄拉出對應小工具呈現數據,可以統計網路連線相關的行為、應用服務等狀況。例如圖中右方的優先級1行為監視,就看到有外部 IP 正在以 Zimbra 的已知 CVE 漏洞對我方的 Zimbra Server 發動攻擊,儘管我的 Zimbra 早已修補掉該漏洞,此攻擊仍然在到達 Zimbra 之前就已經被 Suricata 攔截處理。
OPNsense 搭配 Graylog 應用 3
將 Suricata 所攔下的所有行為以看板呈現,包括各種行為的統計、來源 IP、來源 FQDN、來源國家等等,協助管理者掌握近期的防火牆防護狀況。在 Graylog 這邊,其實還可以將這些 Log 資料利用起來,再做出告警或自己撰寫 API 與其它資安設備做聯防的強化機制。
OPNsense 搭配 Graylog 應用 4
最後一張圖,除了以 LibreNMS 監測 OPNsense 的效能、服務運作狀況外,啟用 LibreNMS 整合 Oxidized 組態備份的能力,自動備份 OPNsense 的組態設定內容,避免那天系統故障或設定搞爛時,隨時可以倒回正確組態,儘快恢復上線運作。
LibreNMS 自動化監測 OPNsense 與備份組態設定
更多功能
OPNsense 還有很多強大的能力,沒有在這次的上線作業開通。例如可以安裝 Nginx 搭配 NAXSI 建立 WAF 網頁應用程式防火牆。
除了 Suricata 與 Maltrail 之外,OPNsense 還有一個更強悍的防火牆外掛 Zenarmor,有興趣的朋友可以參考看看。
以下將 OPNsense 相關功能與實用外掛列為清單,提供參考:
- 防火牆 (Firewall)
- 負載平衡 (Load Balancing)
- 路由協定 (Routing Protocol)
- 高可用 (High Availability)
- 虛擬私人網路 (VPN)
- 軟體定義網路 (SD-WAN)
- 入侵偵測與入侵防護系統 (IDS/IPS)
- 雙因素認證 (2FA)
- 網頁篩選 (Web Filtering)
- 韌體升級 (Firmware Update)
- 外掛程式 (Plugin)
效能監測、域名伺服器、暴力攻擊防禦、流量監測、網頁認證機制、反向代理伺服器、網頁應用程式防火牆、防毒引擎、垃圾郵件篩選、商業防火牆與規則...
參考資料
- OPNsense® a true open source security platform and more
https://opnsense.org/
- 研華科技 Advantech ARK-1124U
https://iotmart.advantech.com.tw/Search.aspx?skey=ark-1124u
- 瑞祺電通 CASwell CAD-0263
https://www.cas-well.com/products/network-security-management/desktop-appliance/cad-0263/