【全】ヘッダーリンク
【全】お問い合わせ
サイト内検索 検索
【全】メガメニュー
H1

コラム掲載

【お知らせ一覧・詳細】コラム掲載
ログ管理・証跡管理の掟

第5回:UNIX/Linuxシステムのログ管理・証跡管理

ET通信連動コラム第2弾「ログ管理・証跡管理の掟」。前回はWindowsシステムのログ管理・証跡に管理に関する具体策や留意点についてご紹介しました。今回はUNIX/Linuxシステムのログ管理・証跡管理について記載します。

コマンド実行ログを残すには


UNIX/Linuxシステムには、Syslogというログを管理するための仕組みが存在し、多くのアプリケーションがSyslogに対応しています。

しかし、実は「コマンド実行のログを残すならこれ」といった方法はなく、いくつかの方法の中で目的や取得できる内容によって選択されています。

Scriptコマンドを使用する方法

Scriptコマンドを使ってファイル名を指定すると、それ以降に行われたコマンド実行と実行結果がファイルにテキストとして出力されるというものです。Scriptコマンドをログイン後に自動実行するようなログインシェルを用いれば、ユーザーに意識させずに実行コマンドのログを取得するようなことも可能です。

プロセスアカウンティング機能を使用する方法

システムアカウンティング機能とは、サービスとして実行コマンドのログを取得する方法です。Psacct(一部のLinuxでは名称が異なります)というサービスを実行させておくと、全ユーザーの実行コマンドが記録されます。実行されたコマンドを確認するには、lastcommコマンドを使用します。

SUDOコマンドの実行ログを利用する方法

SUDOコマンドとは、権限を有しないユーザーに対して、特定のコマンドのみ実行を許可する際に使用するコマンドです。SUDOはユーザーごとに許可する操作をコマンド単位で細かく設定可能であることから、コマンド単位での利用制限を行うためによく利用されています。このSUDOには実行ログを取得する機能が備わっており、標準の設定では、/var/log/secure にSUDOの実行コマンドのログが残る仕様になっています。

コマンドHistoryを利用する方法

シェル上で実行したコマンドの履歴はhistoryコマンドで取得することができます。実行結果をファイル出力すると、その内容をファイルに保存することができます。

帯に短く襷に長いOS標準のログ機能

以上のようにUNIX/Linuxには様々な方法でコマンド実行履歴を保管することができますが、実はいずれも部分的に要件は満たせるものの、特に監査・内部統制等を目的とした場合に求められるログの要件に照らし合わせると、いずれの方法もすべての要件を満たしていないというのが現実です。

下表は、ご紹介した方法をログの要件への対応状況をまとめたものです。

方法 いつ 誰が どんな
コマンドを
結果は? 改ざんの防止 完全性 サーバーへの影響
Scriptの実行 × × ×
システムアカウンティング機能を利用 ×
sudoを使って実行ログをとる × ×
.bash_historyを定期的にバックアップ × × ×

例えばScriptの実行では、コマンドとその引数、実行結果すべてが記録されますが、「誰が」、「いつ」という情報が存在しません。またログは平文のテキストに出力されるため、容易に改ざんすることができてしまいます。

また、プロセスアカウンティング機能は、「いつ」、「誰が」、「どんなコマンドを入力」したのか、記録は網羅されますし、ユーザーが意図的に記録を停止させることも困難です(root権限は除く)。しかし、ユーザーによるコマンドだけでなく、システムが実行したものも記録の対象となるため、ログの量が膨大になり負荷が心配です。また、コマンドの引数や実行結果は記録されません。

一方、ターミナルソフトの機能で操作記録を取得する方法も存在します。
Tera TermはPlug-Inやマクロを実装できるため、ログ取得を自動化するアドインが多く開発されています。

このようなターミナルソフト側で操作ログを取得する方法は、マスターコンソール上の操作が記録できないためマスターコンソールから操作しないことが前提ではありますが、内容は必要かつ十分、またサーバー側に設定が必要なく影響を与えないことも大きなポイントであるため、かなり有効な方法と言えます。しかしログデータは保護されないテキストファイルであり、ログ取得の仕組みが理解できる管理者であれば簡単に改ざん・削除ができてしまいます。

このようにターミナルソフト側で取得する方法は、情報の網羅性の観点では要件を満たしますが、セキュリティ面では要件を満たす方法にはなりえません。

監査要件を満たすには、やはり専用のシステムを利用すべき

以上のように、UNIX/Linuxシステムに対して、しっかりと監査要件を満たすようなログ取得を行うには、標準で用意されている機能では不十分な点が多く、実際に継続して運用を行うに相当な工夫が必要になってくるため、専用のシステムを利用する方がよさそうです。

弊社ソフトウェアESS RECは、UNIX/Linuxのコマンド操作のログを取得する場合に、構成、システムの影響、ご予算等に応じて、多くの選択肢から最適な方法をお選びいただける証跡管理ソフトウェアです。

次回は、データベースのログ管理・証跡管理について解説します。

 

<<前へ    コラム一覧    次へ>>