0

こんにちは私の新しい問題は次のとおりです。Tomcat6.0.xで実行されているWebアプリケーションがあり、Apache HTTPDリバースプロキシの背後にあり、特定のWebサービス(http:// bla.com/restricted / stuff / ...)一方、ユーザー(リバースプロキシのインターネット側から接続する)や他のマシンは、これらのメソッド呼び出せないようにする必要があります。できれば、それらが存在することさえ知らないようにする必要があります。

  1. RemoteAddrFilterを使用してIPをフィルタリングできることはわかっています。スプーフィングは可能ですが、「十分に近い」可能性がありますが、残念ながら、Tomcatのバージョン6でスタックしています。
  2. 完全に自由であれば、このサービスを別のポートにセットアップし、iptablesを使用して制限することもできますが、残念ながら、Tomcatの同じインスタンスと同じWebアプリケーションである必要があり、コネクタを特定のポートに制限する方法に慣れていません。 Webアプリの領域。
  3. アプリケーションは独自のセキュリティシステムを管理します。これは、「履歴」の理由で「呼び出し元のマシン」の認証に使用できないため、いくつかのセキュリティ制約を設定することは問題ありませんが、ここでの仕様では、login-config要素は1つしか持てないため、次のように記述してもかまいません。制限されたURLの別の制約私はすでにlogin-configを持っているので、たとえばユーザー証明書を要求することによってそれをブロックすることはできません(したがって、呼び出し元のマシンを識別します)。

これは、「どうやってやるのかわからない」というよりも「どうやってやるのが一番いいのか」という質問です。これを設定するためのハッキーな方法はたくさんありますが、今は暗黒面に陥りたくないからです。私たち?

私は主題を研究しようとしたと言わなければなりませんが、明白な解決策は見つかりませんでしたが、エレガントで明白なものを見逃した場合は、それについて聞いて幸せになります(些細な解決策も大歓迎です:))、アイデアをありがとう。

4

1 に答える 1

0

「制限付き」サービスを呼び出す必要のあるマシンが、リバースプロキシを使用するのではなく、http://example.internal:8080/restrictedでtomcatサービスに直接通信することで呼び出すことは可能ですか?その場合、最も簡単な方法は、制限されたURIをまったく通過しないようにプロキシを設定することです。これにより、外部の呼び出し元がそれらにアクセスできなくなります。

于 2012-07-05T07:50:02.600 に答える