プロキシTCP接続トレース

プロキシTCP接続トレース

私は大学のUnix管理者です。 2つのWebサーバーがあります。 1つは教職員のためのものであり、もう1つは大学の公式ネットワーキングチームのためのものです。公式ウェブサーバーはインストラクターのウェブページへの要求をプロキシするので、2つの別々のサーバーであっても、インストラクターとブラウザの観点からは1つのサーバーのように見えます。

教師の混乱を避けるために、公式サーバーのポート22(socatを使用)を教師サーバーに転送し、公式サーバーのsshdが別のポートで受信するようにしました。これにより、教師は公式サーバーのDNS名であってもmycollege.eduでSSH経由でアクセスできます。これは、ネットワークチームが混乱する可能性が高いことを意味しますが、何百人もの教員が混乱するよりもはるかに優れています。

私はFail2Banを使用して、無差別SSHログインをより管理しやすい数値に保ちます。教職員サーバーへのすべてのSSH接続は公式サーバーから来るため、これら2つのWebサーバーでは機能せず、公式サーバーの接続をブロックしたくありません。

私がしたいのは、サーバーで失敗したログインを追跡して、公式サーバーがソースIPをブロックする方法を見つけることです。問題は、公式サーバーはソースIPを知っていますが、どのログインが失敗したのかわかりませんが、教職員サーバーはどのログインが失敗したのかを知っていますが、ソースIPがわからないということです。

公式サーバーと教職員サーバー間の接続でソースポートを追跡することでこれを行うことができます。関係者は、元の接続の送信元 IP と教授サーバーへの後続の接続の送信元ポートを知っています。教職員サーバーは公式サーバーの送信元ポートを知り、ログインに失敗したと判断します。

デフォルトでは、公式(外部)サーバーは外部ソースIPと内部ソースポートのログを保持し、教職員(内部)サーバーは内部ソースポートとログイン失敗ログを保持します。その後、教師サーバーのログエントリを公式サーバーに送信すると、そのログエントリを分析して適切にファイアウォールを設定できます。

だから!私の質問は次のとおりです。

  • クレイジーな考えですが、より簡単な解決策はありますか?
  • これがクレイジーでない場合は、内部ソースポート情報を収集する最良の方法は何ですか? Socat(外部公式ホスト)はいくつかの内容を記録できますが、ソースポートを呼び出すことが内部/教師ホスト(tcpdumpを使用)で見ている接続のどれとも一致しないようです。

ベストアンサー1

おすすめ記事