嘿夥計們! :-) 。
我需要您提供有關我的 iptables 設定的(幾個?)建議。我對 iptables 還很陌生,這是我第一次使用 iptables 設定伺服器作為防火牆(我們沒有錢也沒有時間預先設定「真正的」防火牆)。
我只想透過 SSH 從 Specific.location.com 連接到我的伺服器。
因此,我在 INPUT 中設定了以下規則:
target in out source destination
ACCEPT lo any localhost anywhere
ACCEPT any any specific.location.com myserver.local tcp dpt:ssh
我的預設策略是:
INPUT DROP
FORWARD DROP
OUTPUT ACCEPT
透過第一個配置,我能夠連接到我的伺服器,但無法到達外部(例如 google.com),而且連接速度非常慢。
我知道我的防火牆沒有任何規則,包括封包中的“已建立”狀態。確實,我猜我的包裹能夠出去,但不被允許回來......
所以我加入了這條規則:
target in out source destination
ACCEPT any any anywhere anywhere state ESTABLISHED
現在一切都像魅力一樣,我可以從伺服器存取外部,連接像以前一樣非常快,而且我只能從 Specific.location.com 透過 SSH 存取我的伺服器!
我唯一的問題是我需要你的建議,這是一個乾淨的配置嗎?我在網路上找不到類似的例子,所以我很想知道...
或者我只是犯了一個巨大的安全錯誤?
謝謝你們的幫忙:-)
答案1
依照規範,該 ESTABLISHED 規則實際上是 RELATED、ESTABLISHED。不過,它不會影響 SSH 或 HTTP(S),差別在於 RELATED 還包含技術上新連接,但與現有連接相關,如 FTP 資料通道通訊或 ICMP 回顯回應。
總的來說,你在這裡所做的一切都很好。