UFW 的隱含拒絕僅適用於人們連接到其 IP 位址時還是適用於整個網路?我嘗試過 telnet 到該 IP 位址,是的,它被拒絕了,但是當我嘗試 telnet 到網路中的另一個 IP 時,它能夠連接,難道它不應該被拒絕嗎?
答案1
根據您的評論,我認為您未能理解ufw
單一系統上的軟體防火牆是什麼以及其覆蓋範圍。
ufw
這是對情況的細分,並提供了對網路細節和規則的深入了解:
ufw
只會影響一個系統 - 啟用它的系統。也就是說,Ubuntu 系統 #1(為了追蹤)已ufw
啟用隱含拒絕規則。這僅影響 Ubuntu 系統#1,並取代底層iptables
/系統上存在的預設「ACCEPT」規則netfilter
(其中ufw
只是一個「易於管理」的前端)。- 由於 Ubuntu System #2 沒有
ufw
啟用它,因此沒有「拒絕」規則。由於ufw
不存在,底層iptables
/netfilter
系統會取得安裝時設定的預設「接受」規則(ufw
更改這些規則,並且只是這些規則的「易於管理」前端)。 - Windows XP 上的 Windows 防火牆(如果已啟用)將能夠拒絕與 Windows 電腦的連線。它不會影響網路上的其他系統
如果您希望 Ubuntu 系統 #2 有拒絕規則,請ufw
在該系統上安裝並啟用它,然後隱含拒絕規則就會存在。
然而,您想要的是一個網路範圍的存取控制規則,控制允許哪些流量之間系統。實現此目的的唯一方法是將防火牆和網路控制移至自己的裝置、處理網路上所有系統之間流量路由的單獨 Ubuntu 盒子,或實現此目的的硬體防火牆(例如 Cisco ASA 或pfSense 裝置)。
考慮以下網路:
我有一個 LAN 網絡,並且有一個路由器處理從 LAN 到 Internet(或其他網絡)的連接。每台計算機都有192.168.252.XXX,採用靜態尋址。該網路段上有五台電腦。我想將機器之間的通訊限制為ICMP PING
僅資料包,並將該限制應用於所有機器。
我的實施方案如下:
在每台電腦上安裝軟體防火牆,並將軟體防火牆配置為僅接受從網路上其他電腦到每台電腦的某些類型的流量。但是,允許每個系統和網關/路由器之間的所有流量。
安裝適合您的網路設定的硬體防火牆來取代路由器,並為允許的網路內流量(特定 LAN 內部)和網路間流量(網路之間的通信,因此在 LAN 外部)提供明確的規則定義。配置如下
- 配置硬體防火牆以允許出站到 Internet(該規則基本上表示允許任何內部 -> 任何非內部(非 192.168.252.0/24))。
- 將 LAN 本身的硬體防火牆配置為允許的系統間流量,在本例中僅限 ICMP(該規則基本上說明從 192.168.252.0/24 到 192.168.252.0/24 的任何內容,其中協定為 ICMP)。
- 任何與上述規則不符的流量模式都會自動被拒絕。
將路由器替換為具有足夠乙太網路連接埠的Ubuntu 盒子,以便為您的網路和無線提供足夠的連接(如果需要),將其配置為執行DHCP、NAT 等,並在Ubuntu 盒子上設定防火牆規則以處理內部流量以及網路外(與之前類似)。
不過,為了給您另一個觀點來推動這個答案,我家裡的網路有很多 LAN 網段(如 VLAN 或虛擬 LAN)。我使用硬體防火牆(pfSense 設備,大約 500 美元)來處理網路上的 VLAN(DHCP、NAT 到網際網路等),以及限制存取的網段之間的內部通訊規則。我經常使用的電腦存在於一個 VLAN 上,而限制存取的電腦存在於單獨的 VLAN 和網路範圍內。與這些設備的通訊受到雙方規則的限制,該規則規定了允許哪些流量在段之間通過。本質上,這是上面的第二個選項,以更高級的方式實現。