Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ログに対する誤解とベストプラクティス
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Tech Leverages
November 27, 2024
Technology
1
6.4k
ログに対する誤解とベストプラクティス
Security.any #01 セキュリティあるあるLT の登壇スライドです。
https://security-any.connpass.com/event/333680/
Tech Leverages
November 27, 2024
Tweet
Share
More Decks by Tech Leverages
See All by Tech Leverages
Google ADKのSub Agentを Agentic Workflowに移行し、 遷移成功率を改善した話
leveragestech
0
89
ハッカソンから社内プロダクトへ AIエージェント ko☆shi 開発で学んだ4つの重要要素
leveragestech
0
2k
2025年のデザインシステムとAI 活用を振り返る
leveragestech
0
2.2k
ディメンショナルモデリングを採用してない組織がモデリング本を通じて得られたこと
leveragestech
0
2.1k
レバレジーズのLangfuse活用事例
leveragestech
0
2k
CloudComposerによる大規模ETL 「制御と実行の分離」の実践
leveragestech
0
2.3k
「ELT職人」から卒業!Fivetranでデータパイプラインの構築・運用から解放され、 本来の価値創造に集中できる ようになった事例
leveragestech
0
1.9k
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
2
4.9k
未来を拓くAI技術〜エージェント開発とAI駆動開発〜
leveragestech
2
330
Other Decks in Technology
See All in Technology
管理者向けGitHub Enterpriseの運用Tips紹介: 人にもAIにも優しいプラットフォームづくり
yuriemori
0
170
バクラクのSREにおけるAgentic AIへの挑戦/Our Journey with Agentic AI
taddy_919
2
1.1k
Security Diaries of an Open Source IAM
ahus1
0
210
【SLO】"多様な期待値" と向き合ってみた
z63d
2
310
Claude Codeの進化と各機能の活かし方
oikon48
19
9.2k
「ストレッチゾーンに挑戦し続ける」ことって難しくないですか? メンバーの持続的成長を支えるEMの環境設計
sansantech
PRO
3
390
SaaSからAIへの過渡期の中で現在、組織内で起こっている変化 / SaaS to AI Paradigm Shift
aeonpeople
0
100
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
8
7.1k
[AEON TECH HUB #24] お客様の長期的興味の理解に向けて
alpicola
0
120
プロジェクトマネジメントをチームに宿す -ゼロからはじめるチームプロジェクトマネジメントは活動1年未満のチームの教科書です- / 20260304 Shigeki Morizane
shift_evolve
PRO
1
140
オンプレとGoogle Cloudを安全に繋ぐための、セキュア通信の勘所
waiwai2111
3
1.1k
ヘルシーSRE
tk3fftk
2
240
Featured
See All Featured
Making Projects Easy
brettharned
120
6.6k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
How to train your dragon (web standard)
notwaldorf
97
6.5k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
220
So, you think you're a good person
axbom
PRO
2
1.9k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
240
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
190
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
230
Claude Code のすすめ
schroneko
67
220k
Transcript
ログに対する誤解と ベストプラクティス Security.any #01 セキュリティあるあるLT 2024.11.19 松浪 亮
| © 2024 Levtech Co., Ltd. 2 レバテック開発部 DevOps推進グループ 認証基盤チーム 松浪
亮 RYO MATSUNAMI レバテックでは主に認証基盤(レバテックID)の開発に従事。 どうすればDevSecOpsを組織に浸透させられるか日々悩み中。 プライベートでは2人の子育てに従事。 あと、Vue.jp Japan User Group で Vue Fes の運営のお手伝いなんかも時々。
今日話したいこと
今日話したいこと ログに余分な情報を出力しないでね
| © 2024 Levtech Co., Ltd. 5 ログ(log)とは、起こった出来事についての情報などを一定の形式で時 系列に記録・蓄積したデータのこと。“log” の原義は船の航海記録(日 誌)。
ある機器やソフトウェア、システムについて、その起動や停止、エラー や障害の発生、利用者による操作や設定の変更、外部との通信など、稼 働中に起こった出来事の内容を日時などとともに時系列に記録したもの をログという。稼働状況の確認や集計、不具合の原因調査などのために よく参照される。 ログとは? ※出典: IT用語辞典 e-Words
| © 2024 Levtech Co., Ltd. 6 ログ(log)とは、起こった出来事についての情報などを一定の形式で時 系列に記録・蓄積したデータのこと。“log” の原義は船の航海記録(日 誌)。
ある機器やソフトウェア、システムについて、その起動や停止、エラー や障害の発生、利用者による操作や設定の変更、外部との通信など、稼 働中に起こった出来事の内容を日時などとともに時系列に記録したもの をログという。稼働状況の確認や集計、不具合の原因調査などのために よく参照される。 ログとは? ※出典: IT用語辞典 e-Words
| © 2024 Levtech Co., Ltd. 7 誤解 01 機能に影響しないしテキトーで大丈夫 誤解
02 外部から見られることはない 誤解 03 誤解されがちなこと とりあえず全部ログに出しておけばいい
| © 2024 Levtech Co., Ltd. 8 誤解 01 機能に影響しないしテキトーで大丈夫 誤解
02 外部から見られることはない 誤解 03 誤解されがちなこと とりあえず全部ログに出しておけばいい
| © 2024 Levtech Co., Ltd. 9 • 受け取ったリクエストや処理結果のレスポンスの内容、DBから取得 した情報を全部ログに出す •
ログレベルをDEBUGにしておけば自動でいろいろ出力してくれるから何か あった時に調査がラク 誤解1 とりあえず全部ログに出しておけばいい
| © 2024 Levtech Co., Ltd. 10 • 大概のシステムでは個人情報を扱っている ◦ 例:
氏名、住所、電話番号、メールアドレス • ログインや決済などの機能ではユーザの機密情報を扱う ◦ 例: ログインパスワード、クレジットカードの番号 • 何でもログに出力させているとこれらの情報も出力されてしまう 個人情報や機密情報が出力されるリスクがある
| © 2024 Levtech Co., Ltd. 11 • 処理名と対象が誰かわかれば大概は問題ない ◦ 例:
logger.info({name: “registerCreditInfo”, user.id: request.user.id}); ◦ user.idのユーザがregisterCreditInfoという処理を実行したと伝わればOK、クレジット カードの番号まで出力する必要はない • 個人情報は出力する前にマスク処理を挟む ◦ 例: const mask = (value?: string) => { return value?.replace(/./g, "*") ?? “” } ◦ *に置き換える関数を用意してマスクする 解決策 必要な分だけログに出力する
| © 2024 Levtech Co., Ltd. 12 誤解 01 機能に影響しないしテキトーで大丈夫 誤解
02 外部から見られることはない 誤解 03 誤解されがちなこと とりあえず全部ログに出しておけばいい
| © 2024 Levtech Co., Ltd. 13 • 機能に影響しないのでわざわざルールは設けなくてもいい • どのようなログをいつ出力するかは開発者が好きに決めてもいい
• ログを確認せずに機能をリリースした(💬 けど、機能はちゃんと動 いていたしテストもしたし、まぁいいか) 誤解2 機能に影響しないしテキトーで大丈夫
| © 2024 Levtech Co., Ltd. 14 • 明らかに想定外な事象のはずなのに、INFOで出力されていたから検 知できなかった... •
システムエラーが発生した!けど、ログを出力していなかったから どこで発生したのかわからない... • ブラウザの開発者ツールを開くと、Consoleに何か色々と出ている んだけど... ルールがないとログが無法地帯に...
| © 2024 Levtech Co., Ltd. 15 • ログレベルごとに用途と出力タイミングを定義する ◦ DEBUGは開発環境でのみ出力可能とする
◦ ERRORはcatchや例外をスローする時にスタックトレースも含めて出力する ◦ INFOは処理やトランザクションの開始と終了のタイミングで出力する • console.log()を実装したままリリースしないように ◦ クライアント側にログを残すとセキュリティ的な脆弱性に繋がる可能性がある ◦ フロントエンドではログを出力するのはSSRの時に留める 解決策 ログを設計する
| © 2024 Levtech Co., Ltd. 16 誤解 01 機能に影響しないしテキトーで大丈夫 誤解
02 外部から見られることはない 誤解 03 誤解されがちなこと とりあえず全部ログに出しておけばいい
| © 2024 Levtech Co., Ltd. 17 誤解3 外部から見られることはない • 社内の人しかサーバログを見ることができないから個人情報を出力
しても問題ない • ログローテーションさせているから個人情報を出力しても問題ない
| © 2024 Levtech Co., Ltd. 18 情報は社内の人によって外部に流出することもある • むしろ、ほとんどの情報漏洩は内部の犯行である(不注意や故意に よる流出)
◦ 例1: ベネッセ、業務委託先の社員が約3,504万件分の情報を名簿業者へ売却 ◦ 例2: 東急リバブル、元従業員が顧客情報を不正に持ち出し同業他社で利用 ◦ (※上記の事例はログではなくいずれもDBから情報を持ち出したことによる流出) • DBに暗号化されているデータやそもそもDBに保存されないデータで あれば、ログから情報を持ち出される可能性は十分ある
| © 2024 Levtech Co., Ltd. 19 解決策 内部だからこそセキュリティ対策が必要 • 必要最小限の人だけがアクセスできるように、ログファイルへのア
クセス権限を制限しておく ◦ 例: 派遣社員・インターン・業務委任者はアクセス不可にする ◦ 例: 組織のマネージャー、チームのリーダーのみアクセス可能にする • セキュリティに関する話題に日頃から触れておくことが大事 ◦ 情報漏洩などの話題に触れることで、他人事ではないことを理解する ◦ 情報漏洩による損害額を知ることで、事の重大さを理解する ◦ 結果としてセキュリティ意識の向上に繋がる
| © 2024 Levtech Co., Ltd. 20 誤解 01 機能に影響しないしテキトーで大丈夫 →
ログを設計する 誤解 02 外部から見られることはない → 内部だからこそセキュリティ対策が必要 誤解 03 まとめ とりあえず全部ログに出しておけばいい → 必要な分だけログに出力する
宣伝
開発職向け会社紹介資料 プロダクトや開発組織についてご紹介しています。 https://speakerdeck.com/leverages/levtech-hui-she-shao-jie-zi-liao-enzi niazhi-xiang-ke レバテック開発部テックブログ 日々の開発におけるリアルをお届けしています! https://zenn.dev/p/levtech カジュアル面談フォーム 気軽にご応募ください!いろんなお話しましょう! https://hrmos.co/pages/leverages/jobs/A_c_00071
ご清聴ありがとうございました。