Webアプリ開発者のためのセキュリティ入門:OWASP Top 10 2025「Security Misconfiguration(セキュリティ設定のミス)」

Laravel

OWASP Top 10 を通じて、Webアプリケーションのセキュリティを学んでいきましょう。

OwaspとOwasp Top10についてはこちらご覧ください。

https://biz.addisteria.com/what_is_owasp_top10/

今回は最新のOWASP TOP10 2025*で2位のSecurity Misconfiguration(セキュリティ設定のミス)について解説します。

こちら、2021には5位でしたが、3ランクアップしての2位。

なんとテストしたWebアプリのすべてが、何らかの形で、この脆弱性リスクをもっていたと判断されました。

100% of the applications tested were found to have some form of misconfiguration

https://owasp.org/Top10/2025/A02_2025-Security_Misconfiguration/

100%って、、、すごい。

それだけ起こりうる脆弱性のリスク、ぜひ意識しておきましょう。

※2025年版は現在 Release Candidate(候補版)として公開されており、正式版では内容が調整される可能性があります。

Laravelアプリケーション開発時の対策や、バイブコーディング(生成AIコーディング)でも役立つ対策も考えていきますね。

Security Misconfiguration(セキュリティ設定のミス)

公式ページはこちら:

Security Misconfiguration とは、「本来は安全に構築できるのに、設定の誤りや不備により脆弱性が生まれる状態」を指します。

設計は正しいのに、設定をミスして破綻してしまう。たとえば、次のようなケースが当てはまります。

  • 過剰なエラーメッセージの表示で、機密情報が漏洩

  • 更新された後、最新のセキュリティ機能が無効にされる

  • デフォルトのアカウントやパスワードがそのまま変わっていない

印象としては、「やばっ!あるかも」とヒヤッとさせられる項目ばかり。「あるある」の小さなミスながら、大きなリスクにつながりうる怖い脆弱性といえます。

CWE(共通脆弱性タイプ)

このカテゴリーに含まれる主なCWE(脆弱性分類)は次のとおりです。

  • CWE-16:設定項目の不備や誤設定により発生する広範な構成ミス

  • CWE-611:XML解析時の設定が不適切なため、外部エンティティを読み込んでしまう脆弱性

対策

これに対して、下記のような対策が挙げられます。

  • 環境設定をしっかりと行う
    環境ごとに異なる認証情報を使用する。要は本番とテストでしっかりと分けておく。

  • 最小限のプラットフォームを搭載
    不要な機能やコンポーネント等はいれない。

  • セキュリティアップデート・パッチ・ノートをチェック
    クラウドストレージパーミッションもレビュー。

  • ブラウザ側にセキュリティポリシーを伝える
    Security Headersを適切に設定する。

  • テストの自動化
    すべての環境において、設定の有効性を証明するための自動化プロセスを導入

  • 過剰なエラーメッセージを避ける
    そのための一元化プロセスを導入

  • もし自動化できないなら手動でも行う
    少なくとも年に一度は手動でチェックする

本番サーバーと開発サーバーでしっかり管理を分ける。開発サーバーのままの設定を本番サーバーにもちこさない。実践ではともかくもここがポイントだと思います。

Laravelでの対策

.envの管理が非常に重要となります。

Laravelでは、.envファイルに環境変数を定義します。.envには、開発環境と本番環境で別々の設定を用意するのが基本です。開発環境の設定をそのまま本番環境で使わないように注意しましょう。

たとえば、エラーメッセージの表示設定は、開発と本番で分ける必要があります。

.envファイルでのエラーメッセージの表示設定

開発環境では、エラー時にエラーメッセージが表示されるようにします。

【エラーメッセージ表示】

本番環境では、この部分は次のように修正し、エラーメッセージが表示されないようにしておきます。

【エラーメッセージ非表示】

エラーメッセージにシステム情報を含めてしまうと、攻撃者にヒントを与える可能性があります。
そのため、本番ではエラー内容を画面に出さず、ログにのみ記録するのが原則です。

また、APP_ENVやデータベースやAPIキーなどの機密情報も、本番・開発でしっかり分けて管理しましょう。

拙著「Laravelの教科書 バージョン12」をお持ちの方は、72ページ見てみてくださいね。.envで設定できる環境変数の書き方例を、開発環境と本番環境に分けて、紹介しています。

クリックするとamazonページへ。

↓↓↓

バイブコーディング(生成AIコーディング)での注意点

最近では、生成AIツールを活用してコードを生成する方法が広まっています。Lovable, Bolt new, Replitなど、バイブコーディング用の便利なツールがあります。

開発してすぐ本番環境に反映できるものも多く、デプロイの手間がなくて手軽な反面、「セキュリティ設定」のミスのリスクが多く存在します。

実際、テスト用管理者アカウントを、本番環境でもそのままにしており、管理者アカウントをのっとられた事件なども発生しています。

ご興味あれば、こちらご覧ください。

まとめ

Security Misconfiguration(セキュリティ設定のミス)は、初歩的なミスとも言えますが、テストした100%のWebアプリに見られたとあるように、ほぼすべてのWebアプリに潜んでいるともいえる汎用的な脆弱性。

色々なパターンがありますが、実践では次の3つが大事だと思います。

  • 開発環境と本番環境をわける。
  • 開発用と本番用で設定ファイルもしっかり分ける。
  • 開発環境でテストをしておく。

特に生成AIコーディングツールでは、この部分が抜け落ちることがあるため、注意が必要です。

個人的には、生成AIコーディングツール利用時に気を付けたい項目ナンバーワンですね。

OWASP Top10で学ぶセキュリティ、次の項目はこちら。

Laravel Laravelセキュリティ owasp セキュリティ

生成AIを使ったコーディングに興味がある あなたへ

バイブコーディングセミナープレゼント

バイブコーディングセミナーの一部を無料でプレゼント!

プレゼント詳細を見てみる

【Laravelの教科書・プレゼント】

Junko
Laravelの使い方を覚えたい!と思ったら、ぜひ、役立ててほしいです。 基礎編は無料でプレゼント中です♪
ひつじプログラマ
会員制サイトをいちから作っていくよ。ボタンをクリックして詳細を見てね。
Laravelの教科書の詳細を見る

最新版テキストに加え、Laravel8版~Laravel11版もご用意しています♪

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中! 会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック

最新版テキストに加え、Laravel8版からLaravel11版もご用意しています♪

Laravelの本を書きました。


ひつじが目印♪

Laravelの使い方を分かりやすく解説した書籍を出版しました。 ご好評につき、最新版に対応した改訂版を2025年7月に発売
書店やAmazon等のオンラインショップにて販売中です。 詳しくは下記ボタンをクリック

書籍の詳細を見てみる

Laravelの本書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravelの使い方を分かりやすく解説した書籍を出版しました。ご好評につき最新版対応の改訂版発売。書店やAmazon等のオンラインショップにて販売中です。

書籍の詳細を見てみる
Twitter始めました。
40代からプログラミング!
タイトルとURLをコピーしました