Webアプリ開発者のためのセキュリティ入門:OWASP Top 10 2025:Logging & Alerting Failures(ログとモニタリングの失敗)

Laravel

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

OWASPとOWASP Top10についてはこちら。

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

今回は最新のOWASP TOP10 2025*で9位の座のLogging & Alerting Failures(ログとモニタリングの失敗)について解説します。

こちら、前回の2021年版でも同じく9位でした。以前は「Security Logging and Monitoring Failures」という名称でした。

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

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

Logging & Alerting Failures(ログとモニタリングの失敗)

Logging & Alerting Failures(ログとモニタリングの失敗)について、公式説明ページはこちら:

これは名称そのまま、ログとモニタリングの失敗による脆弱性リスクです。ログとモニタリングを適切に行わないことから発生するリスクといえます。

こちらはデータの上ではそれほど高い脆弱性リスクとは考えられなかったものの、コミュニティ投票で3位だったとのこと。データでは見えにくいけれど、実務の上では困っている人が多いということですね。

OWASPでは、脆弱性リスクランキングを決める際に、データ以外にもコミュニティ投票も活用しています。

例えば、下記のような状況が該当します。

  • ログインや失敗したログインなどがログに残されない
  • アプリケーションやAPIがモニタリングされない
  • リアルタイムまたはほぼリアルタイムで攻撃を検出しない
  • 機密情報がログやアラートを通じて見られてしまう

実際、ある大手インド航空会社で、1,000万人以上の乗客の個人データ(パスポート、クレジットカード情報含む)が10年以上にわたって漏洩していたという事例も。

ログがしっかり機能していれば、被害を少なく食い止めることができたと考えられます。

CWE(共通脆弱性タイプ)

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

  • CWE-117:ログの不適切な出力無害化

  • CWE-532:ログファイルへの機密情報の挿入

  • CWE-778:不十分なログ記録

対策

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

  • すべてのログイン、アクセス制御、入力検証の失敗をログに記録
  • セキュリティコントロールの成功・失敗をすべてログに記録
  • ログを消費しやすい形式で生成
  • ログデータを正しくエンコード
  • すべてのトランザクションに監査証跡を持つ
  • エラー時のトランザクションはロールバック
  • 疑わしい動作時にアラートを発行
  • 効果的な監視とアラートのユースケースを確立
  • ハニートークンを追加
  • 行動分析とAIサポート
  • インシデント対応と復旧計画を確立

Laravelでの対策

Laravelでは、デフォルトでログ機能が実装されています。storage/logs/laravel.logにログファイルがあるので、ここをチェックしておきましょう。

なおデフォルトでは、ログはブラウザ上に表示されます。本番環境に反映する場合には、この部分の設定を変更しておきましょう。

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

デフォルト(開発環境)では、エラー時にエラーメッセージが表示されるようになっています。

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

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

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

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

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

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

↓↓↓

ログレベルに応じたログ

ちなみに、LaravelではLogファサードを使って、好きな場所でログを書き込むことができます。

書き込むログのレベルも、書き込むログのレベルもRFC 5424(ログの国際規格)に沿って、8つの中から選べます。

問題の深刻度に応じたログ管理が可能になります。公式マニュアルは下記ご覧ください。

モニタリングが必要な場合はこちら

Webアプリによってはモニタリング機能も必要かもしれません。Laravelでは、Telescopeというライブラリを提供しています。

Telescopeを使うと、アプリケーションの動作を詳細にモニタリングできます。

Telescopeの使い方は下記記事ご覧ください。古いのでUI等少し変わっている可能性もあります。

ただ、Telescopeはある程度負荷がかかります。モニタリングが必要でなければ、あえて本番環境で使う必要はないかと思います。

また最近は、Laravel Nightwatchなどのモニタリングツールもでています。本格的に使う場合は有料となりますが、ご興味あればサイトをチェックしてみてくださいね。

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

バイブコーディング(生成AIコーディング)の場合でも、ログはしっかりチェックしておきましょう。ツールによってログの設置場所は異なります。

Supabaseなどのバックエンドサービスのログを使う場合は、そちらもチェックが必要です。

生成AIに確認する形でもOKですが、ログがどこにあるかは把握しておくようにしましょう。

さいごに

開発環境では、エラーの際にはブラウザにエラーメッセージを表示させているケースが多いと思います。

本番環境では、ログファイルを通じて、いつどんなエラーメッセージがでたかもたどれます。ログファイルは、エラーの解決にも非常に重要になります。

バイブコーディング(生成AIコーディング)でも、ログファイルはしっかりチェックしておきましょう。

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

Laravel Laravelセキュリティ OWASP Top 10を分かりやすく解説 セキュリティ

生成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をコピーしました