様々なガイドラインで“サーバの操作記録の保持”が謳われるようになり、サーバサイドのアクセス監査が必要不可欠になってきております。
そんな中、「サーバOSに標準装備されているログを利用することはできないか?」とお問合せを受けることも多々あります。
ここでは、UNIX系OSに標準装備されているログ「wtmp」「history」について、“監査証跡として適しているか?”という観点で検証してみます。
「wtmp」は、サーバに「いつ」「どのユーザが」「どこから(IPアドレス)」ログインしたのか、が記述されるログファイルです。
「wtmp」のサンプルは以下の通りです。
このように、どのユーザでいつログインされたか、を確認するには適しています。
サンプルをご覧いただくと一目瞭然ですが、「wtmp」にはログオフ時刻や操作コマンドが記載されません。
アクセス監査では「操作していた時間」は非常に重要な監査項目です。(数分の操作なのか、数時間に及ぶ操作なのか、が判断できなくては監査にならない)
また、例え操作していた時間に問題がなくても、その操作内容によっては不正である可能性が十分ありますし、その監査をすることが最も重要な目的であることから、操作コマンドなしではアクセス監査になりません。
「wtmp」は“/var/log”直下に有り、wコマンドやwhoコマンド、lastコマンドの元になってるバイナリファイルです。実は、ログインの痕跡をなくす場合に、このファイルを改竄するケースが考えられるのです。
「wtmp」はバイナリファイルであるため、直感的には改ざんできないのですが、世の中には「wtmp」を改ざんするツールが散在しています。(Zapやwzap.cなど)
また、改ざん方法などを紹介し、監視を呼びかけるWebサイト(@ITなど)も多く存在し、改ざんされるリスクは非常に高いと考えられます。
したがって、「wtmp」を使用したログ監査はおすすめできません。
「history」ファイルは、UNIX系システムのインタプリタであるシェルの中の、ユーザーが実行したコマンドを記録するというヒストリ機能です。
「.bash_history」のサンプルは以下の通りです。
このように、最後のログイン時にどのようなコマンドが発行されていたのかを確認するには適しています。
操作コマンドの履歴は直前しか残らないため、過去のものを保管するための思索を施さない限り、監査証跡となる操作コマンドは削除されていってしまいます。
コマンドをいつ実行したのか、またいつのログインで実行されたコマンドか、「history」ファイルでは読取れません。 したがいまして、監査では非常に重要な「いつ」という項目が取得できません。
「history」ファイルは、上記サンプルに示すような単なるテキストファイルとして保存されているので、viなどのテキストエディタで内容を改ざんすることは容易です。
したがって、「history」ファイルを使用したログ監査はおすすめできません。
上記の結果、UNIX系OS標準ログで監査は難しいと判断せざるを得ません。
PCIDSSでも、監査証跡(ログ)には「1.ユーザ識別(誰が)、2.イベントの種類(何をしたか)、 3.日付と時刻(いつ)、4.成功または失敗を示す情報、5.イベントの発生元(どこから)、6.影響を受けるデータ、システムコンポーネント、 またはリソースのIDまたは名前(何に)」
という情報を記録されていることが前提とされています。
また、UNIX系OSのコマンドの場合、“エイリアス”“環境変数”など、コマンドを別名に変えることができ、単純に入力コマンドだけを監査しても監査にならない問題もあります。
さらに、コマンド実行後に、“どのような情報を操作者は見たか”も重要な監査項目と考えられます。したがって、コマンド実行結果も有事の際の追跡では必要になります。
このような観点から、UNIX系OSの操作ログ監査には、標準ログでは難しい点が多々あります。
WEEDS UNIX-Traceでは、上記の課題をすべて解決し、操作コマンドを監査証跡として取得でき、監査できるレポート群を揃えています。
UNIX系OSのアクセス監査には、WEEDS UNIX-Traceをご検討ください。
> UNIX、Linuxコマンド操作監査ツール「WEEDS UNIX-Trace」
.jpg)