
次のようなシナリオがあります:
22、80、443 ポートへのアクセスのみを許可し、その他はすべて許可します。
私のはiptables -L
こんな感じです:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere state RELATED,ESTABLISHED
DROP all -- anywhere anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
しかし、望み通りの効果が得られず、自分のサーバーからでも何も ping できなくなりました (インターネットに接続できなくなりました)。
INPUT
また、ポリシーを設定して必要なポートを手動で開くオプションも検討しましたDROP
が、望みどおりの効果は得られませんでした。
DROP
ポリシーをチェーンに配置しINPUT
て必要なポートを手動で開く方法と、最後のルールとしてすべてのトラフィックをドロップする方法とでは違いがありますか。
本当にありがとう
。よろしくお願いいたします。
答え1
現在のチェーンの設定では、INPUT
クライアントはTCP 22、80、443でサーバーに接続でき、TCP/IP の開始した接続に返信するだけです。それだけです!icmp(pingの場合)、いいえudp(DNS ルックアップ)。
ESTABLISHED, RELATED
すべてのプロトコルをルール化するALLOW
のではなく、TCP/IP の、上記は修正されるはずです。
ルールとDROP
ポリシーを使用してすべてを削除する場合について:
iptables -P INPUT DROP
これは以下と同じ意味です:
iptables -A INPUT -j DROP
あなたの最後のルールとして。
また、自分が何をしているのかを正確に理解していない限り、ループバック渋滞。