SecurityManager は、Tomcat に適用できるもう 1 つのセキュリティ レイヤーにすぎません。アプリケーションによっては、正しく設定するのが非常に難しく、時間がかかる場合があります。既に述べたように、サードパーティのアプリケーションやライブラリでこれを正しく行うことは、さらに困難になる可能性があります。
私の意見では、これを詳細に構成することは、考慮すべき最後のことです。
これの多くはすでにここで述べられていますが、私があなただったら、次の手順を順番に実行します。
- 最小限の特権を持つアカウント (慣例により、'tomcat'、'tomcat6' などの名前のアカウント) で jsvc を使用して Tomcat を実行します。Ubuntu パッケージをインストールした場合、インストールされた init スクリプトは既にこれを行っているため、このスクリプトを介して tomcat を起動すれば問題ありません。jsvc の詳細については、http: //tomcat.apache.org/tomcat-6.0-doc/setup.html を参照してください。
- chroot を使用して jsvc を実行します。chroot で指定する仮想ファイルシステムの内容を、Tomcat が必要とするものだけに制限します。
- Tomcat、データベース、および OS 構成を保護します。Center for Information Security には、これに関する適切なベースライン ガイダンスがあります - http://cisecurity.org/en-us/?route=downloads.multiform。
- アプリケーションのセキュリティ。これは最も重要ですが、1.、2.、および 3. は比較することで非常に簡単に達成できるため、この前に (または並行して) 実行することをお勧めします。アプリケーションへのすべての入力は、使用前に必ず検証してください。OWASP の Enterprise Security API のようなものを出発点として使用します - http://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API。それ以外のことはすべて、アプリケーションのセキュリティ対策のフェイルセーフです。アプリケーションが安全でない場合、他の手順 (権限の低いアカウント、chroot、安全な構成など) を行っているため、アプリケーションが実行されているマシンは安全なままである可能性がありますが、アプリケーションが管理するデータは危険にさらされます。
- 保安管理者。アプリケーション セキュリティの適切なベースラインが得られたことに満足したら、ぜひ、進行中のアプリケーション セキュリティの取り組みにセキュリティ ポリシーを追加することを検討してください。
他にできることには、マシン上で Snort のような IDS を実行して侵入の試みを検出すること、swatch のようなファイル ウォッチャーを実行して予期しないファイルの変更 (特に構成ファイルへの変更) を検出すること、さまざまなログ アナライザーを実行して他の侵入の試みを検出することなどがあります。 .
セキュリティの取り組みには常にトレードオフがあります。アプリケーションを完全に保護することはできません。ほとんどの人にとって、本格的なセキュリティ マネージャの構成は、このカテゴリに分類されます。
「これを実現するために Java セキュリティ マネージャを使用する必要がありますか? [システム自体を危険にさらす]?」
いいえ。もっと簡単な方法があります (低特権アカウント、chroot、安全な構成など)。