Hello there, ('ω')ノ
なぜログやエラーが重要なのか?
- システムが正しく動いている場合は目立たない部分
- 逆に問題発生時、エラー内容がそのまま公開されていると内部構造やパスワード情報まで見えてしまう場合があります
これを「情報漏えい型脆弱性」と呼びます。
実際のチェック手順① 画面上のエラーメッセージを観察
- 存在しないURLや不正な入力を試す:
例: https://intra.example.co.jp/user?id=999999
- 表示されるエラー内容を確認:
✅ 観察ポイント:
- システム名やバージョン情報が含まれていないか?
- データベース関連のエラー(SQL文など)がそのまま表示されていないか?
- 開発用コメントが残っていないか?
実際のチェック手順② 社内ログファイルを確認
社内システム管理者向けですが:
- /var/log/nginx/access.log
- /var/log/apache2/error.log
- アプリケーションログ
こうしたファイル内に:
- パスワードやトークン
- SQL文やシステムパス
- 不正アクセスの痕跡
が含まれていないか確認します。
実務チェック例
- フォーム送信時にエラー → 画面上のメッセージ内容確認
- 不正リクエスト時に返ってくるJSONレスポンス内のエラーメッセージ
- ログイン失敗時のメッセージ(ユーザーが存在しないorパスワード違いが区別されていないか?)
よくある見落としポイント
- テスト環境用メッセージが本番環境にも出ている
- エラーメッセージが詳細すぎる
- ログファイルが社内ネットワーク上で誰でも見える場所にある
チェックリストまとめ
- [ ] 画面上にエラーメッセージが表示されたとき、内部情報が含まれていないか?
- [ ] ログファイルに機密情報が記録されていないか?
- [ ] エラー発生時のレスポンス内容をNetworkタブで確認したか?
- [ ] テスト環境と本番環境のメッセージ内容を比較したか?
注意事項
- ログファイル確認はシステム担当や開発担当と連携して行うこと
- 本番環境のエラーメッセージ調査は慎重に、関係部署と相談しながら進めること
まとめ
- ログやエラーメッセージは脆弱性発見の大きな手がかり
- 画面上+ログファイル両方をチェックする習慣をつけること
- 非エンジニアでもエラー文言や表示内容を見るだけで十分なチェックが可能
Best regards, (^^ゞ