本文へスキップ
>_ITDITDセキュリティ対策プラットフォーム

フレームワーク別

Spring Bootのセキュリティ対策 — 依存CVE・Actuator露出・認可の守り方

エンタープライズ定番のSpring(Spring Boot)。事故の型は、依存ライブラリの既知CVE(Log4Shell等)/Actuatorなど管理エンドポイントの露出/Spring Securityの認可設定漏れ/安全でないデシリアライズ。依存CVEの機械監視と即パッチ・管理面を絞る・認可を明示するといった守り方を、攻撃手順を伏せて解説します。

公開日 2026-07-02 更新日 2026-07-02 6分で読める

対象:Java/Spring Boot でアプリを運営している人。ここでは攻撃手順は扱わず、事故の型と、その塞ぎ方を解説します。全体像は フレームワーク別セキュリティの入口 も参照。

事故の型(枯れた基盤でも突かれる場所)

Spring Boot と Spring Security は成熟していますが、次の4つは運用で管理する領域です。

① 依存ライブラリの既知CVE

Log4Shell 等、広く継承される土台の穴が一斉に波及。実稼働版で判定し即パッチ。

② Actuator/管理面の露出

診断・管理エンドポイントの公開で情報漏れや操作の踏み台に。範囲を絞る。

③ 認可設定の漏れ

Spring Security の設定漏れで権限チェックが緩い。認証はあるが認可が甘い。

④ 安全でないデシリアライズ

信頼できないデータの復元がRCEに繋がりうる。入力の由来を検証。

Spring Bootで狙われやすい型。いずれも依存・公開面・認可の管理で塞げる。

塞ぎ方(4つの管理)

1

依存CVEを機械監視して即パッチ

土台ライブラリの穴は広く波及する(Log4Shell)。実稼働版で判定し、機械監視で早期検知して素早く当てる。宣言(pom.xml)でなく実際に動く版で判断する。(→ Log4Shellの解剖CVE対応の実務
2

Actuator・管理面を絞る

診断/管理エンドポイントは公開範囲を最小限にし、認証・認可を必須に。外部から到達できない境界へ。「便利だから全部有効」で公開しない。
3

Spring Security で認可を明示

ログイン(認証)だけで止めず、権限とリソース所有者のチェックを明示的に設定する。既定任せ・設定漏れが権限昇格の穴になる。
4

信頼できないデータをデシリアライズしない

外部由来のデータの復元はRCEに繋がりうる。由来を検証し、必要なら安全な形式に限定する。

やりがち(危険)

  • 依存の既知CVEを放置(土台ライブラリ含む)
  • Actuator を全公開のまま本番へ
  • 認可を既定任せ・設定漏れ
  • 信頼できないデータをそのままデシリアライズ

正しい

  • 依存CVEを機械監視+即パッチ(実稼働版で判定)
  • Actuator/管理面は最小公開+認証必須
  • Spring Security で認可を明示
  • デシリアライズは由来検証・形式限定

当サイトの視点:枯れた基盤ほど『依存と公開面』が勝負

Spring は堅い基盤ですが、広く使われるからこそ依存ライブラリの穴が一斉に波及します。Log4Shell はその象徴で、守りの本命は特定の設定より「依存を機械監視して実稼働版で判定し、素早くパッチする」運用にあります。あわせて、便利な管理エンドポイント(Actuator)を公開面から外し、認可を既定任せにしない。当サイトは別スタックですが原則は同じ——依存の鮮度・公開面の最小化・認可の明示は、フレームワークを問わず効く普遍の守りです(→ 依存のCVE監視)。

次に読む

よくある質問

QSpring(Spring Boot)は安全ですか?
A

Spring Boot と Spring Security は成熟した堅い基盤で、正しく設定すれば強力です。ただし事故は本体でなく、広く使われるがゆえの『依存ライブラリの既知CVE』(Log4Shellのように土台のログライブラリが継承されて一斉に影響する例)や、Actuatorなど管理エンドポイントの露出、認可設定の漏れから起きます。枯れているぶん標的も大きいので、依存の鮮度と公開面の管理が要です。

QActuator で気をつけることは?
A

Actuator は稼働情報や診断のための便利な管理エンドポイントですが、公開されると内部情報の漏えいや、設定によっては操作の踏み台になり得ます。本番では公開範囲を必要最小限に絞り、認証・認可を必須にし、外部から到達できないネットワーク境界に置くのが基本です。『便利だから全部有効』のまま公開しないことが肝心です。

QLog4Shell のような依存の穴にどう備えますか?
A

Log4Shell は、広く継承されるログライブラリの穴が多数のアプリへ一斉に波及した典型例です。備えの本命は、依存パッケージの既知CVEを機械監視し、『実稼働版』で判定して素早くパッチすること。package.json や pom.xml の宣言だけでなく、実際にビルド・稼働している版で脆弱性を判断します。爆発半径を小さくする最小権限やネットワーク分離も併せて効きます。