OpenResty(nginx fork)をインストールして実行すると、新しいKVM/VPSが最近boughします。サーバーがテストポートでの着信接続を受け入れていません8080
許可されたルールにポート8080を追加することで問題を解決し、
iptables -I INPUT -p tcp --dport 8080 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -I OUTPUT -p tcp --sport 8080 -m conntrack --ctstate ESTABLISHED -j ACCEPT
vPSに付属するデフォルトのルールを理解できません
pkts bytes target prot opt in out source destination
361K 1192M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
1 60 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
464K 70M INPUT_direct all -- * * 0.0.0.0/0 0.0.0.0/0
464K 70M INPUT_ZONES_SOURCE all -- * * 0.0.0.0/0 0.0.0.0/0
464K 70M INPUT_ZONES all -- * * 0.0.0.0/0 0.0.0.0/0
1324 61332 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID
458K 70M REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-Host-prohibited
特に最後の行は、すべての着信トラフィックをブロックすることです。
iptables
ルールはトップダウンで評価されます。パケットがルールの1つに一致する場合、ルールのACTION
が定義することを行います。通常、これはREJECT
、ACCEPT
、DROP
、REDIRECT
(別のポートへ)またはCHAIN
にジャンプします。
最後のルールは、前のルールがトリガーされていないときにトリガーされる一般的なルールにすぎません。基本的には「デフォルトでは、前のルールに一致しないものはすべて拒否する」です。これは標準であり、ファイアウォールを実装する際の良い習慣です。
icmp-Host-prohibited
は、パケットが拒否される拒否メッセージです。つまり、サーバーはパケットがそのメッセージで拒否されたことを送信者に通知します。
強化を強化するために、メッセージをDROP
ではなくREJECT
にすることをお勧めします。後者の場合、攻撃者に「このホストが存在し、パケットを拒否しました」などの情報が表示される可能性があるためです。一方、DROP
はそのような情報を提供しません。