認証ログとは
認証システムでパスワード認証などを実施したら、実施した日時や利用者の情報などがログとして記録されています。
このログを「認証ログ」といいます。
認証ログの必要性
なぜ認証ログが必要なのでしょうか?
現代社会においては、不正アクセスや機密情報の漏えいなど、セキュリティの事件・事故が絶え間なく発生しており、そのなかには従業員など内部の人間によって発生した事例も多く存在しています。
そのような状況で、もし認証の記録がされていなかったらどうなるのでしょうか?
例えば、「パスワード攻撃により突破されてしまい、機密情報が流出する」という事態が発生したとしましょう。
もし、認証の記憶がされていなかった場合、
- いつパスワード攻撃があったのか
- 誰の利用者IDが使われたのか
- どの端末からアクセスがあったのか
など、調査をおこなうための情報が存在しないため、何が起きたのか調べようがありません。もしかしたら、これらの記録がないために、機密情報が流出した事実にも気づかないかもしれません。
このような事態を防ぐために、認証ログの記録が必須となります。
ここでは認証ログの記録、管理、ログ内容の分析といった運用について、簡単に解説していきます。
ログ管理に係わるガイドライン
ログの運用に関して、自治体や団体などが発行しているガイドラインが存在します。
いくつか紹介していきます。
コンピュータセキュリティログ管理ガイド
https://www.ipa.go.jp/files/000025363.pdf
米国国立標準技術研究所(NIST: National Institute of Standards and Technology)の情報技術ラボラトリ(ITL:Information Technology Laboratory)が策定したコンピュータのセキュリティログ管理のガイドラインを翻訳したものです。
情報セキュリティ管理基準
https://www.meti.go.jp/policy/netsecurity/downloadfiles/IS_Management_Standard_H28.pdf
経済産業省が策定したセキュリティ管理基準です。
ログに関する管理基準は「12.4 ログ取得および監視」に記載されています。
統合ログ管理サービスガイドライン
http://www.db-security.org/report/dbsc_complog_ver1.0.pdf
データ・セキュリティ・コンソーシアム(DBSC:Data Security Consortium)が策定したログ管理のガイドラインです。
その他、さまざまなガイドラインがインターネット上で公開されており、本稿ではこれらのガイドラインを参考文献としています。
認証ログ運用のポリシーを策定
認証ログを運用するにあたって、まずは「どういった情報を管理したいのか」といった目的を明確にしましょう。
よくある目的として、次のようなものがあげられます。
- パスワード攻撃など不正アクセスの検出
- 内部の人間による機密情報や個人情報流出時の調査情報
- リモートワークをしている従業員の労務管理
明確にした目的に沿って、ログを運用できるようにポリシーを策定していきます。
ログの運用には、大きく分けて次の4つのステップが存在します。
- ログ生成
- ログ転送
- ログの格納および破棄
- ログ分析
このステップごとにポリシーを策定していきます。
ポリシーの策定について、NISTの「コンピュータセキュリティログ管理ガイド」では次の内容を策定することが推奨されています。
- ログ生成
◎ ログを保存するホスト
◎ 保存するホスト内の構成要素(OS、サービス、アプリケーションなど)
◎ ログの種類(認証の試みなど)
◎ 種類ごとに記録する項目(ユーザ名、送信元IPアドレスなど)
◎ ログ記録の頻度(発生するたびに記録、数件発生したら記録など) - ログ転送
◎ ログ管理インフラへログを転送するホスト
◎ ログ管理インフラへ転送するログの種類や項目
◎ ログを転送する方法(プロトコルなど)
◎ ログを転送する頻度(リアルタイム、5分おき、1時間おき など)
◎ 転送時におけるログの機密性や可用性の保護 - ログの格納 および 破棄
◎ ログのローテーション(ログファイルの切替)を行う頻度
◎ 格納時に機密性、完全性、可用性の保護
◎ ログを格納する期間
◎ 不要なログの破棄方法
◎ ログ記録の改変および破損の防止方法 - ログ分析
◎ ログの分析を行う頻度
◎ ログデータへのアクセス管理・記録
◎ 疑わしい活動または異変が見つかった場合の対応
◎ 分析結果の格納および転送時における機密性、完全性、可用性の保護
◎ 機密情報(パスワードなど)を不注意に開示した場合の対応
※「機密性」とは、許可されていないユーザがログの閲覧や書き換えをできないようにすることをいいます。
※「完全性」とは、ログを最新かつ正しい状態で維持することをいいます。
※「可用性」とは、システムの障害によって、ログの記録や管理が稼働し続けられるようにすることをいいます。
認証ログに記録する項目
経済産業省の「情報セキュリティ管理基準」には、次の項目を保存するように策定されています。
- 利用者ID
- システムの動作
- 主要なイベントの日時および内容(例えば、ログオン・ログオフ)
- 装置のIDまたは所在地(可能な場合)、システムの識別子
- システムへのアクセスの成功および失敗の試み
- データ、資源へのアクセスの成功および失敗の試み
- システム構成の変更
- 特権の利用
- システムのユーティリティおよびアプリケーションの利用
- アクセスされたファイルおよびアクセスの種類
- ネットワークアドレスおよびプロトコル
- アクセス制御システムが発した警報
- 保護システム(例えば、ウィルス対策システム、侵入検知システム)の作動および停止
- アプリケーションにおいて利用者が実行したトランザクション
これらの中から、認証ログに関係するものは次の項目になります。
- 利用者ID
- 主要なイベントの日時および内容(例えば、ログオン・ログオフ)
- システムへのアクセスの成功および失敗の試み
- データ、資源へのアクセスの成功および失敗の試み
- システム構成の変更
- 特権の利用
- ネットワークアドレスおよびプロトコル
ここでいう「特権」とは、「システムの設定変更」や「認証ログの閲覧」、「ユーザのパスワードリセット」などシステム管理者だけが行える操作のことをいいます。
また、アクセスの「失敗の試み」は不要に感じるかもしれませんが、認証が失敗したログも記録することによって、「パスワード攻撃」などの不正アクセスがあったことを検出することが可能になります。
これら以外にも目的や用途、システムに応じて、記録する項目を追加します。
例えば、パスワードと生体認証など複数の認証方法があるシステムの場合は「どの認証方法を使ったか?」や、「失敗の理由」(パスワードが違う、3回連続で失敗したためロックされている など)があると、のちの追跡がしやすくなります。
認証ログの保存期間
記録されたログは必要な期間にわたって保存されるよう管理する必要があります。「保存する期間」については、組織やガイドライン、システムの規模によってさまざまです。
例えば、NISTの「コンピュータセキュリティログ管理ガイド」では次のように定められています。
低位影響レベルのシステム:1~2週間
中位影響レベルのシステム:1~3か月
高位影響レベルのシステム:3~12か月
また、「統合ログ管理サービスガイドライン 」では「少なくとも1年間」の保存を推奨しています。参考にするガイドラインから、目的や保存先の容量に応じて保存期間を決めるといいでしょう。
認証ログの保存方法
ログの保存方法に関しては、前述の「認証ログ運用のポリシーを策定」で述べたように、ログには「機密性」「完全性」「可用性」が求められます。そのため「誰でもアクセスでき、編集やコピーまでできる場所にテキストファイルで保存」ではNGです。
では、どのように保存すべきでしょうか。
「統合ログサービスガイドライン」に具体例が記載されていますので、これを参考にしつつ考えてみましょう。
「機密性」
- ストレージに保存するログファイルを暗号化する
- 許可されたユーザだけがアクセスできる場所に保存する
- ログを保存場所に転送する際に、独立した経路を使用する
- ログの保存場所に対して対策を講じる(入退室管理など)
「完全性」
- 保存場所への転送経路やストレージ上で改変されないように防ぐ
もし、改変が発生した場合には、検出できるようにする
「可用性」
- 定期的にバックアップを行い、障害発生時には復元できるようにする
- 複数のストレージへ同時に保存する
また、ログの保存には「即時検索の可否」を検討するケースもあります。ここでの要は「何かあったときにすぐにログを参照する」場合と、そうでない場合です。
それぞれ場合に応じた期間を定めて、保管を行います。
例えば、
- 直近3か月分はシステムで検索・確認ができるようにオンラインで保存
- それ以降については、オフラインでアーカイブして保存
のようになります。
認証ログの分析・不正の検出
認証ログは記録するだけでは意味がありません。
定期的に記録したログを分析して、不正アクセスや不正行為などを確認する必要があります。
まず、認証ログを記録する目的を見直してみましょう。
前述した目的は、次の3つです。
- パスワード攻撃など不正アクセスの検出
- 内部の人間による機密情報や個人情報流出時の調査情報
- リモートワークをしている従業員の労務管理
この3つについて、それぞれどういう内容を把握したいのか整理してみましょう。
「パスワード攻撃など不正アクセスの検出」
- 認証の試み
◎ 連続失敗回数や認証を試みた間隔から攻撃を推測
「内部の人間による機密情報や個人情報流出時の調査情報」
- 情報へのアクセス情報
◎ 漏えいした情報へアクセスした人や日時の特定
「リモートワークをしている従業員の労務管理」
- 始業・就業時刻
◎ 欠勤、遅刻、早退の確認
◎ 残業時間の計算
目的に応じて、どの項目を参照し、分析するかが変わってきます。
また、「パスワード攻撃などの検知」といったものは、リアルタイム性が求められるため、事前にログのパターンを決めておき、パターンを検出したらアラートを発するような仕組みを検討してもいいかもしれません。
参考文献
本稿では下記ガイドラインを参考にしています。
米国国立標準技術研究所「コンピュータセキュリティログ管理ガイド」
https://www.ipa.go.jp/files/000025363.pdf
経済産業省「情報セキュリティ管理基準(平成28年改正版)」
https://www.meti.go.jp/policy/netsecurity/downloadfiles/IS_Management_Standard_H28.pdf
データベース・セキュリティ・コンソーシアム(DBSC)「統合ログ管理サービスガイドライン 第1.0版」
http://www.db-security.org/