[〜#〜] ssh [〜#〜]とのみを許可するために、デバイスのiptablesを設定しようとしています/ [〜#〜] https [〜#〜]トラフィック。特に、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によってブロックされるHTTPSトラフィックを除いて、すべてが期待どおりに機能します。
私は何を間違えましたか?
すべての送信ルールをブロックしないでください。他のサーバーからデータを取得するためのソースとしてポート443は選択されません。また、サーバーのセキュリティを確保するには、受信規則をブロックするだけで十分だと思います。残りはすべて良いです。必要に応じて、以下のルールを使用できます。
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