iptables只允许ssh和https

我正在尝试在我的设备上configurationiptables,以便只允许SSHHTTPSstream量。 特别是,HTTPS协议用于从java客户端向远程服务器调用某些REST API

这是我的iptables:

iptables -F iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP #SSH iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT #DNS iptables -A OUTPUT -p udp --dport 53 -j ACCEPT #HTTPS iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT 

除了被iptables阻止的HTTPSstream量之外,一切都按预期工作。

我做错了什么?

不要阻塞所有出站规则,不会select端口443作为从其他服务器获取数据的源。 我认为拦截入站规则足够确保您的服务器安全。 rest是好的。 如果你愿意,你可以使用下面的规则。

 iptables -F iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT iptables -A INPUT -p tcp -j DROP