SSHデーモンはどのアウトバウンドポートを使用しますか?

SSHデーモンはどのアウトバウンドポートを使用しますか?

要塞SSHサーバーを作成しています。 IP テーブルで次のルールを使用すると、サーバーに正しく接続できます。

参加ルール

  • 私のクライアントIPのポート22からのトラフィックを許可します。
  • 他のすべてのトラフィックをブロック

アウトバウンドルール

  • 私のクライアントIPへのすべてのトラフィックを許可します。
  • 他のすべてのトラフィックをブロック

私の理解は、有効なクライアントが呼び出すと、サーバーがSSH接続を完了するためにアウトバウンドポートをランダムに選択することです。

  1. システムはどの範囲の整数からこのポートを選択しますか?
  2. 使用するポート範囲をシステムに通知できますか?

ベストアンサー1

あなたの理解が間違っています:-)。クライアントは「tcp-high port」を選択して、サーバ宛先ポート22へのトラフィックを開始します。サーバーは、クライアントが開始したソースポートに応答します。

たとえば、クライアントは、サーバ宛先ポート 22 に接続するために送信元ポートとしてポート 12345 を選択します。サーバーは、ポート 22 からポート 12345 のクライアントにトラフィックを送信しようとします。

tcp-highポート範囲は> 1024〜65535です。

したがって、クライアントへのRELATEDおよびESTABLISHEDトラフィックを許可する必要があります。たとえば、

IPTABLES -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

上記のルールは「残りのすべてをブロック」ルールの前になければなりません。

おすすめ記事