Ubuntu - 阻止除少數應用程式外的所有應用程式的互聯網訪問

Ubuntu - 阻止除少數應用程式外的所有應用程式的互聯網訪問

我一直在尋找一種方法來阻止除 1 或 2 個選定的應用程式之外的所有應用程式存取網路。

我研究了簡單防火牆 (ufw) 及其相應的 Gui (gufw):

在此輸入影像描述

但 gufw 似乎沒有阻止特定程式存取網際網路的選項(Windows 防火牆使用出站規則執行此操作)。

問題:有誰知道我怎麼能做到這一點?

答案1

gufw和其他預設附帶的防火牆並非設計用於按應用程式進行過濾 -gufw是一個簡單的 GUI 前端ufw,並且不是設計用於在應用程式層級進行過濾,它只是一個用於設定基於 IP 的基本過濾規則的簡單前端、連接埠等

ufw您正在尋找的內容超出了可以容納的標準 Linux 防火牆規則集gufw。有幾種建議的方法(連結的是基於群組的控件,因此您必須將要存取網路的應用程式新增至特定群組),但還有其他應用程序,例如杜安,也可以在應用層執行此操作。

答案2

可能阻止網路存取的方法之一每個申請基礎是「沙箱」。

通常,應用程式的網路存取是使用防火牆規則間接控制的。通常情況下,應用程式會嘗試以一致的方式進行通訊(或者特定連接埠/位址,或特定連接埠/位址),並且使用防火牆,您可以阻止對特定連接埠或位址的訪問,以停用應用程式存取互聯網(或其他電腦)的能力。但是,如果應用程式不以一致的方式進行通信,那麼編寫防火牆規則將非常困難,因為您肯定會阻止其所有網路。您想要運行的應用程式也可能使用相同的連接埠/位址進行通信,而防火牆可能會阻止這兩個應用程式。

沙箱是任何旨在為應用程式創建單獨環境的策略的通用術語。常見的原因之一是要充分了解應用程式正在與什麼交互,因為預設通常應用程式無法存取其“沙箱”之外的任何內容,除非您明確允許它

我不會描述完整的設置,但像 Docker 和 Kubernetes 這樣的軟體在設計時正是考慮到了這一點;您可以允許對其「容器」(又稱沙箱)中運行的軟體進行盡可能少或盡可能多的網路存取。

不用說,還有很多工作要做一切在容器內,但如果有一些您特別關心的應用程序,那麼這對他們來說可能是值得的。

答案3

適用於 GNU/Linux 的 Douane 個人防火牆

我為您找到了一個可能的解決方案:適用於 GNU/Linux 的 Douane 個人防火牆-登陸頁面,新首頁

然而,我沒有找到適合你的 Ubuntu 的打包版本。


支持的

  • 應用程式/庫產生的任何傳出連接
  • 協定:全部(與 NetFilter 相同)
  • 方向:外向-聽力

不支援

  • 非用戶空間連線:netbios/等...(核心)
  • iptables(douane不使用,但建議與douane並列使用)
  • 方向:傳入(使用 iptables)

因為一切看起來都很好地描述了Douane - GitLab 編譯頁面,我看編譯過程沒問題。

相關內容