
有一台 FreeBSD 11.1-RELEASE 機器,只有 1 個 NIC,在一個伺服器後面提供 Samba 共享服務PF防火牆在相同的伺服器.
我需要允許連接僅有的來自從內部網路 (/24) 連線的用戶端。
目前這似乎可行:
# Default deny policy
block in log all
# allow Samba connections only from internal IPs
pass in quick on $ext_if inet proto tcp from $ext_if:network to $ext_if:network port {135, 137, 138, 139, 445}
pass in quick on $ext_if inet proto udp from $ext_if:network to $ext_if:network port {135, 137, 138, 139, 445}
但這些是否適當且足夠呢?
是否有更好、更慣用的方法來使用 PF 防火牆僅允許來自內部 LAN 的 Samba 連線?
答案1
新增另一個介面到您的 pf-sense 安裝中。或者,如果支援 VLAN 的交換器可用,它將在 pf-sense 中為您提供額外的虛擬介面。
您可以將您的samba 共用放在第二個介面上,給它一個新的子網路(例如10.10.10.0 /24),任何東西都可以工作,您只需要它與您想要控制的LAN 用戶不同的子網路即可。
現在設定哪些使用者可以存取第二個 LAN 子網路的規則。或具體哪些使用者可以透過 ip 存取您的 samba 共用。
編輯:在 PF(過濾)中執行此操作:在預設阻止規則之後 >
現在流量必須明確地通過防火牆,否則預設拒絕策略將丟棄流量。這就是來源/目標連接埠、來源/目標位址和協定等封包標準發揮作用的地方。每當允許流量通過防火牆時,應將規則編寫得盡可能嚴格。這是為了確保預期流量且僅允許預期流量通過。
“# 將 dc0 上的流量從本地網路 192.168.0.0/24 傳遞到 OpenBSD”
“# 機器的 IP 位址 192.168.0.1。此外,將返回流量傳遞到 dc0。”
在 dc0 上從 192.168.0.0/24 傳入 192.168.0.1
在 dc0 上從 192.168.0.1 傳遞到 192.168.0.0/24
“#將 TCP 流量傳遞到 OpenBSD 電腦上運行的 Web 伺服器。”
從任何出口埠 www 傳入出口協定 tcp
使用你的介面名稱,加入你的子網,然後你就可以使用 ip 規則了。這將使這變得更加容易。
我在您的帖子中只看到兩個通過規則,我相信您需要 tcp 和 udp 的輸入/輸出。