
我使用的是 Debian 8,我想透過以下命令更新 fwsnort 規則:
fwsnort --update-rules
儘管在「/etc/fwsnort/snort_rules/emerging-all.rules」檔案中下載了 9.4 MB 的規則後,它無法透過以下命令套用 iptables 中的所有規則:
fwsnort --ipt-apply
並給出錯誤:
[+] 將 fwsnort 11312 規則拼接到 iptables 政策中...
iptables-restore v1.4.21: 指定的連接埠/服務「[6789]」無效
行發生錯誤:11131
嘗試「iptables-restore -h」或「iptables- restore” --help' 取得更多資訊。
即使我嘗試使用以下命令將所有規則從emerging-all.rules直接恢復回iptables:
iptables-restore < /etc/fwsnort/snort_rules/emerging-all.rules
結果是這樣的輸出:
iptables-restore: line 53 failed
fwsnort 有什麼問題嗎?
答案1
原因是fwsnort 中的一個小但嚴重的錯誤(即使在目前上游版本1.6.6),這會導致其中一條規則(至少是目前線上的規則)導致語法錯誤。只有在括號中的 snort 規則中指定單一連接埠時才會發生這種情況,因為 fwsnort 僅在指定了多個連接埠時才刪除括號。
此補丁適用於 Debian 軟體包(目前僅在 Debian Unstable 中)修正了此問題。
我也提交了我用來修復 Debian 中問題的補丁作為拉取請求在上游。上游迅速反應並發布fwsnort 1.6.7 已修復。