iptables アウトバウンドブロック インバウンド拒否

iptables アウトバウンドブロック インバウンド拒否

特定のIPアドレスへのアウトバウンド接続だけをブロックしようとしていますが、同じIPアドレスからのインバウンド接続は許可したいと思います。

アウトバウンド接続のブロックについて私が理解したところによると、してはいけないインバウンド接続が正常に確立された場合、ブロックされます。

デフォルトでは、次のようにルールを設定しました。

--append OUTPUT --jump DROP --destination x.x.x.x

確立された接続を許可します。

--append INPUT --in-interface eth0 --match state --state RELATED,ESTABLISHED --jump ACCEPT

このIPアドレスがサーバーに接続しようとしたときに接続を許可したいのですが、サーバーがアウトバウンド接続を試みるときは接続できません。

アウトバウンド接続のためにサーバーへのフルアクセスをブロックしたいですx.x.x.x。ただし、そのIPのユーザーがサーバーにアクセスしたい場合は、特定のポートを介してサイトにアクセスできる必要があります。

答え1

試行中のファイアウォールルールはすぐに完了します。10.10.10.10そのアドレスへのアウトバウンドトラフィックをブロックしながら、ホストからのインバウンドトラフィックを許可するために必要な事項は次のとおりです。

  1. インバウンドを許可(すべてのポートが可能)
  2. 確立されたインバウンド接続へのアウトバウンド応答を許可する
  3. 残りのアウトバウンドトラフィックのブロック

だから、

iptables -A INPUT --src 10.10.10.10 --jump ACCEPT

iptables -A OUTPUT --match state --state RELATED,ESTABLISHED --jump ACCEPT
iptables -A OUTPUT --dst 10.10.10.10 --jump DROP

これをINPUT達成するための将来のルールがある場合、またはポリシーがこの方法で設定されていない限り、実際にはこのルールは必要ありません。DENYREJECT

答え2

あなたは誤解しました!これが私の理解です:

まず、ルールを見てくださいinput。 inputを許可する必要がありますが、stateどういうstate意味ですか?これはout、トラフィックが以前にサーバーからこのアドレスに流れたことを意味します!したがって、そのアドレスに対して完全にブロックすると、ルールはoutput一致しません。

したがって、すべての努力は不可能であり、state唯一のことですinput

いくつかのハッキングされた解決策があるかもしれません。しかし、与えられたオプションではこれは不可能です。

ポリスチレン

あなたの質問の後、私は以前のトピックを再確認し、何を推測しました。あなたの投稿をもう一度読んだ後、これがあなたが望んでいたことに気づきました。見ているポートノック

リクエストにコンポーネントを追加して、ランダム性をさらに向上させます。

output接続を許可するだけでなく、input接続が正しく発生した場合にのみ許可するノック方式を設定するだけですknocking

関連情報