あなたの質問に対する単純なyes/noの答えはありません。なぜなら、それは本当に依存しているからです。何を保護したいのか、そして何から保護したいのか。
たとえば、SecurityManagerを使用してIPフィルタリングを実装し、ホワイトリストに登録されたIPアドレスのみがアプリケーションに接続できるようにしました。ディスクファイルへのアクセスを禁止したいだけの場合は、権限の少ないユーザーとしてアプリケーションを実行する方が良い解決策かもしれません。
サードパーティのプラグインをまったく信頼しない場合は、プラグインコードの実行を許可すると、SecurityManagerを使用している場合でも、必要に応じてそのプラグインがアプリケーションをクラッシュさせる可能性があることに注意してください。アプリケーションがプラグインをロードする場合は、プラグインをホワイトリストに登録し、プラグインをロードする前にリストを確認することをお勧めします。
これを使用する場合は、パフォーマンスが低下します(JVMはより多くのチェックを実行するため)が、実行速度は、チェックを実行するコード/構成によって異なります。私のIPホワイトリストは、単一のリストルックアップしか含まれていないため、かなり高速でした。チェックにリモートWebサービスの呼び出しとデータベースへのアクセスが含まれている場合、処理速度が大幅に低下する可能性がありますが、一方で、十分なハードウェアがあり、同時ユーザーが少ない場合(つまり、余裕がある場合)は問題になりません。 。