
過去很長一段時間,因為找不到足夠防護功能的開源防火牆,所以都是直接採購商用硬體式產品。直到今年,終於等到適合的開源軟體方案。
我已將公司對外防火牆更換成 OPNsense 這套開源的軟體防火牆/路由器,安裝在一台上個月買入的二手工業級無風扇小主機上運作 (型號 ARK-1124U),用起來相當痛快,而且再一次節省大量經費支出。如果是需要更高階一點的設備,我則是選用防火牆網通設備廠的機架式設備 (型號 CAD-0263),在文末參考連結有硬體廠商資訊。
本文整理實際上線的心得,提供參考。
實際使用
比 pfSense 更簡單的操作畫面,容易擴充的機制搭配各種外掛,以及現代流行的深色主題,用起來感覺充滿高科技味道 😂

安裝好 ntopng 外掛程式後,就可以在即時更新的流量圖上快速檢視目前網路裝置用量較多者,以及其連線的目標;還能檢視各個裝置的資訊探測、連線目標、連接埠等等重要網路行為資訊。圖中所示可以清楚看見,有 5 個節點正跟 Proxmox 官方位於新加坡的 CDN 伺服器連線,進行 Proxmox VE 版本升級作業中。

接著安裝 Maltrail 外掛程式,內建許多自動更新的資料庫,從 OPNsense 的流量中識別惡意行為,同時將這些惡意 IP 自動整合進 OPNsense 防火牆的阻擋清單裡,阻絕惡意連線發生。除此之外,它也提供一個方便檢視、搜尋與篩選的使用介面,協助追查惡意連線行為的細節。圖中的很多欄位都提供游標懸停時,顯示更多資訊的功能,例如在 IP 欄位會自動查詢相關惡意 IP 行為的資料庫來源、參考資訊網址等等。

繼續強化,安裝 Suricata 這套強大的 IDS/IPS 外掛程式後,藉由其所提供的豐富規則資料庫,即時識別封包的行為、應用程式、使用服務等等,讓管理者容易統計約分析網路使用狀況,更可進一步啟用阻擋機制,將具有惡意的封包阻斷,例如各種已知 CVE 漏洞的掃描探測,或是來自惡意網路主機的攻擊。圖中即是準備對社群網站進行控管規則的調整。

在防火牆當中的 aliases 功能,可以設定多種資料類型與來源,除了本身已經整合好的地理 GeoIP 資訊來源,也可以自行將指定網址下的 IP 清單、本機下的 IP 清單檔案排程自動同步回來,再搭配防火牆的 Rule 規則功能,直接協助我們將惡意來源擋在外面,不放行入內網。

OpenVPN 是應用普遍且功能強大的虛擬私人網路開源套件,OPNsense 將 OpenVPN 整合進來,並且為它提供了相當容易設定的管理介面,讓我們可以用快速的方式將 VPN 伺服器建立完成。加上 OPNsense 本身已經支援 AD/LDAP 與 TOTP 認證,我們即可打造具有雙因素認證的安全加密連線通道。
註:OpenVPN 我是另外建置在 Proxmox VE 虛擬機裡的 OPNsense,沒有裝在出口防火牆這台 OPNsense 上。

Unbound 可以做為域名伺服器使用,在 OPNsense 整合後的應用,還可以化身為 DNS 連線防護機制。在 OPNsense 的管理介面中,已經內建取多會自動更新的 DNS 惡意 FQDN 清單,只要簡單勾選後即可讓 Unbound 將這些具有惡意風險存在的域名給封鎖,避免內部裝置連到惡意網站後慘遭值入或控制。

最後,我們設定 OPNsense 將記錄傳送至 Graylog 伺服器,即可利用 Graylog 強大的索引、擷取器、管線、看板等功能,打造出綜觀全貌的看板,並兼具快速篩選狀況、統計排行數據、追查事件原因等等,除了方便又能符規,更可以避免查詢大量資料時對防火牆效能的影響。此圖顯示事件數量、介面、協定、動作、應用程式、DHCP 等等概觀。

這張圖呈現出外部來源 IP 連線的統計,尤其以國家來源分別看出擋掉的國家排行榜,再利用 Graylog 的 Lookup Table 功能由 IP 反解出 FQDN,便於快速識別來源 IP 的相關資訊。

將 Suricata 所收集的記錄拉出對應小工具呈現數據,可以統計網路連線相關的行為、應用服務等狀況。例如圖中右方的優先級1行為監視,就看到有外部 IP 正在以 Zimbra 的已知 CVE 漏洞對我方的 Zimbra Server 發動攻擊,儘管我的 Zimbra 早已修補掉該漏洞,此攻擊仍然在到達 Zimbra 之前就已經被 Suricata 攔截處理。

將 Suricata 所攔下的所有行為以看板呈現,包括各種行為的統計、來源 IP、來源 FQDN、來源國家等等,協助管理者掌握近期的防火牆防護狀況。在 Graylog 這邊,其實還可以將這些 Log 資料利用起來,再做出告警或自己撰寫 API 與其它資安設備做聯防的強化機制。

最後一張圖,除了以 LibreNMS 監測 OPNsense 的效能、服務運作狀況外,啟用 LibreNMS 整合 Oxidized 組態備份的能力,自動備份 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/

