・ログには記録という意味がありますが、コンピューターの世界では一般にシステム運用記録を指します。本文ではこれを以下「シスログ」(または単に「ログ」)と称し、その活用方法をご紹介します。情報セキュリティやシステム監査の観点から、各種シスログの収集・管理・活用は今や重要な業務の一つとなっています。その中で収集・管理までは行っているものの、活用には至っていないのが多くの企業や組織の実情のようです。そこで、手軽に利用できるツールを使用して、それを実現するための「ログ解析」の具体的な手法をこれから紹介していくことにします。弊社取り扱い米国Flowerfire社製の汎用ログ解析ツール『Sawmill』(英語でソーミルと発音、ログの別の意味である丸太を切る製材所をイメージ)はそのタイトル通りサポートしているログデータフォーマットの豊富さ(1,000種類以上)が他製品と異なる一番の特長であり、ログデータのパース(言語学でいう構文解析)エンジンとして世界で広く利用されています。基本的にそのログ処理の仕組みをベースに説明しますが、単なる製品説明に留まることなく、ログ解析の実務に必要な知識や情報のポイントをまとめてワンストップで提供して、お役に立てることを目的としています。用語や語句の説明は必ずしも学術的なものではなく、内容に関しても網羅的でなく、最低限の必要範囲に留めてありますので、詳細は末尾の参考文献などをご参照ください。Comments)3164/5424で定義されているプロトコル仕様を指すものとし、上記の広義のシスログと表記上の違いで明示的に区別しています。Language)という専用のスクリプト言語を使用しており、設定や式の表現はその文法に従っていますが、PerlやC言語に似ていて、これらに準拠したものとしてご理解ください。入門編1.シスログの出力元1OS(サーバーやクライアントPC)2アプリケーション(ソフトウェア)3ネットワーク/インターネット機器(ルーター、スイッチ、ゲートウェイなど)2.ログ解析の対象1Webサーバー2ファイアウォール3プロキシサーバー4メールサーバー5その他(FTPサーバー、ファイルサーバー、プリンターサーバー、メディアサーバー、Syslogサーバー、アンチウィルスなど)3.シスログの用途1システムイベントの記録2障害情報のアラート出力監視3コンプライアンスや内部統制などの法規制への対応4.ログ解析の目的1システム動作(設定や実行イベント)の履歴調査2システム不調の原因究明3不正アクセスの痕跡追跡4システムやアプリケーションのメンテナンス5統計レポートの作成5.ログ管理のポイント1できるだけ多く(網羅的に)集めること2集中管理すること3重要な情報資産の一つとして、定期的にバックアップを取ること6.ログフォーマットの大分類Syslogはインターネットで使用されているネットワークプロトコルの一つですが、ログデータのフォーマットはこれを使用しているか否かで大きく2つに分けることができます。1Syslogあり(シスログサーバー経由あるいはSyslog変換)2Syslogなし(直接出力)ログデータの中で最もキーとなる項目が統計処理のベースとなる出力日時(イベントの発生日時)ですが、出力元のログデータにこれが含まれていない場合はシスログサーバーを経由したり、何らかの手段でSyslogフォーマットに変換したりする必要があります。Syslogは下記で説明するように3つの部分からなり、その場合ヘッダー部(ログ記録の日時を含む)を付加することになります。プライオリティ値)ファシリティとプライオリティからなり、上記の計算による数値で記録され、アプリケーション(syslogdやrsyslog)によっては省略されます。302HEADER(日時とホスト名)日時表記の詳細は下記で説明しています。ホスト名はドメイン部を含まず、IPアドレスの場合もあります。3MSG(タグとメッセージ)タグには、ログデータを出力したプログラムやプロセスなどの名称が記述されています。メッセージは、ログデータの本文内容です。"-"9.日時表記の例ログフォーマットにおいて重要なのが日時フォーマットであり、代表的なものは次の通りですが、実に様々なバリエーションがあります。JST)10.正規表現の基本ログフォーマットの識別に際して、日時以外に、そのログを特徴付ける部分を見付け出してフォーマットを定義することになります。それには「正規表現」が通常使われますので、ここでその基本的な表現方法と具体例をご紹介します。1文字クラス[](角括弧またはブラケット)で囲まれている部分で1文字の集合を表し、指定文字のどれかになります。文字クラスの先頭で「^」が使用されると、それ以外という意味になります。[abc]は「abcのどれか」で、[^abc]は「abc以外の文字」という意味になります。2グループ化()(丸括弧)で囲まれている部分で、パターンマッチが成功した場合に最初に文字列として処理されます。Perlなどの言語では複数の()で囲まれた部分を文字列として、$1~$nの変数に順番に代入してフィールドを切り出すことできます。3正規表現の特殊文字(メタ文字)全て半角で、主なものの意味は次の通りです。それ自体を普通の文字として扱う場合はその前に「\」(キーボードではバックスラッシュ)を置きます(これを「エスケープする」と言います)。正規表現の記述方法は何通りもありますが、できるだけ分かりやすくシンプルにすることが大切です。凝リ過ぎると、システム環境により違った動作をしたり、作成者自身でさえ分からなくなったりということになりかねません。Webアクセスログ】サンプルログと正規表現の一例とその解説このログフォーマットの一番の特長は「HTTP」という文字列が含まれていることです。したログデータ全体の特長を捉えることから始めて、一行の詳細内容を記述していきます。]」という表現がよく出てきますが、「空白以外の文字」を意味し、あまり限定したくない場合に使うと便利です。サーバー』株式会社インプレスジャパン.ページトップへ。