iptables は ssh から aws ec2 インスタンスへの接続を防ぎます。

iptables は ssh から aws ec2 インスタンスへの接続を防ぎます。

Windows 7を実行している家庭用ラップトップがあり、Ubuntuを実行するAmazon aws ec2インスタンスを設定しました。 UbuntuインスタンスのパブリックIPアドレスは34.195.109.193です。 PuTTYを使用してSSHを介してec2インスタンスに接続しています。 Ubuntuインスタンスで次のようにiptablesルールを設定すると、sshを使用してUbuntu ec2インスタンスにアクセスできないことがわかりました。

sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -d 34.195.109.193 -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -j DROP

ポート22でSSHの入出力を許可するようにセキュリティグループを設定しました。なぜsudo iptables -A INPUT -d 34.195.109.193 -p tcp --dport 22 -j ACCEPTなのかわかりません。

さて、SSHでPuTTYを使用しないようにします。

ベストアンサー1

この行を変更する必要があります

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

到着

sudo iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

ルールは、確立された(syn-ack)接続と関連する接続のみと一致し、新しい(syn)接続は一致しないためです。

したがって、ルール全体は次のようになります。

sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -d 34.195.109.193 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -j DROP

sudo iptables -A OUTPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A OUTPUT -p tcp -j DROP

最後の出力ルールはホストへの接続を許可します。

おすすめ記事