現在、SpringBoot フレームワークはますます普及しており、ほとんどの中小企業が新しいプロジェクトを開発しています。バックエンド言語で Java を使用する場合、SpringBoot が最初の選択肢になります。
ruoyi などの多くのオープン ソース フレームワークでは、次のようになります。 ######理由がわからない?これらのフレームワークの pom ファイルで
SpringBoot Actuator の依存関係を見つけることになります。 ねえ、この
は多くの人によって使用されていないと推定されていますが、pom ファイルに表示されるため、セキュリティ脆弱性テストを実行すると、結果として表示されます。脆弱性の問題。 例:
これらの脆弱性の修正を開始しています。 ! !
2. 問題の説明
Actuator は、アプリケーション システムのイントロスペクションとモニタリングのために Springboot によって提供される機能モジュールです。Actuator の助けを借りて、開発者は特定のモニタリング インジケーターを簡単に使用できますシステムの統計を表示および作成します。 Actuator のコアは、アプリケーションとインタラクションの監視に使用されるエンドポイントです。spring-boot-actuator には多くのエンドポイントが組み込まれています (ヘルス、情報、Bean、メトリクス、httptrace、シャットダウンなど)。 、独自のエンドポイントを拡張することもできます。
各エンドポイントは有効または無効にすることができます。 Endpoint にリモートでアクセスするには、JMX または HTTP を通じて公開する必要もあります。ほとんどのアプリケーションは HTTP を選択します。
わかりました、
Actuator は非常に優れているようで、モニタリングに使用できます。ただし、ほとんどの企業はおそらくこれを使用したことがないため、Actuator
のメリットを享受することはできません。
利便性をもたらす一方で、適切に管理しないと、サーバーが外部ネットワークに公開されたり、機密情報の漏洩につながる可能性があります。サーバーが崩壊する可能性があります。それでは、どのようなセキュリティ上の問題が発生するのか見てみましょう。 3. セキュリティの問題
# にアクセスできます。
## 上記の情報をご覧になりましたか?なんと、データベース接続アドレス、アカウントのパスワード、その他の情報が実際に表示されるのです。
これらのアドレスが管理されていない場合、これは技術的基盤を持つ一部の人々にとって深刻な脆弱性ではないでしょうか?これは T0 レベルの脆弱性であると推定されています。 これらをどのように制御すればよいでしょうか? 4. 禁止方法management.endpoints.web.exposure.exclude=env,heapdump,threaddump,mappings
に以下の設定を追加することでenvへのアクセスが禁止されます。
次に、もう一度アクセスしてみましょう。例: アクセスすると、404 が表示され、禁止されていることを示します。
5. Actuator を完全に無効にする上記の変更では、実際に env を無効にするメソッドを実装することで、対応するインターフェイス情報を制御できるようになり、基本的には無事に到着しました。 ただし、セキュリティ脆弱性スキャンを実行すると、対応する脆弱性が引き続きスキャンされますが、実際には、この脆弱性は解決されていません。それでは、Actuator
を完全に禁止することはできるでしょうか?答えは間違いなく「はい」です。 ! !
# 完全禁用actuator management.server.port=-1
以上がSpringBoot Actuator の不正アクセスの脆弱性を修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。