大家好!:-)。
我需要您就我的 iptables 设置提供一些建议。我对 iptables 还很陌生,这是我第一次将 iptables 仅用作防火墙来配置服务器(我们没有钱也没有时间预先设置“真正的”防火墙)。
我只想从 specific.location.com 通过 SSH 连接到我的服务器。
因此我在 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),并且连接非常慢。
我知道我的防火墙没有任何规则,包括数据包的“ESTABLISHED”状态。事实上,我猜我的数据包可以出去,但不允许回来...
所以我添加了这条规则:
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 回显答复。
总的来说,您在这里所做的一切都很好。