10) ログの活用
第10回目は、サーバーへの不正侵入を検知するための「ログの活用」についてです。
インターネットリサーチ・コンサルティング・企画、ウェブ翻訳から、Web制作、システム開発までオープンソース・ネットワークビジネスを提供
ログ
ログとはサーバー等の動作記録のことで、システムやサービスの動作状況や、発生エラー、アクセス状況など各種記録情報を確認・追跡・分析することが出来ます。
ログには、ポート・スキャン有無やログインの成否、システムの変更情報等が記録されるため、ログから侵入の痕跡を見つける事ができます。
Linuxのログ
Linuxのログで、侵入検知という観点から重要なものとして、下記の例が挙げられます。
・/var/log/lastlog ユーザーが最後にログインした記録
・/var/log/maillog メールサービス(pop、smtp等)の動作記録
・/var/log/secure ユーザー認証関連の記録(*バイナリ形式)
・/var/log/wtmp ログインの履歴(*バイナリ形式)
・/var/log/xferlog FTPサーバーの動作記録
・/var/run/utmp ログイン・ユーザー情報の記録(*バイナリ形式)
・/var/log/httpd/access_log サーバーへのリクエスト記録
・/var/log/httpd/error_log エラーのあったリクエスト記録
ここで、ログの記述は基本的に「日時 ホスト名 プロセス名[PID(プロセス番号)]: メッセージ」という形式で記録されています。
*バイナリ形式のログを閲覧するには、それぞれにあったコマンドでログを整形する必要があります。
ログ解析ツール
ログの解析を手作業で行うことは非常に大変な作業であるため、ログ解析ツールが一般に利用されます。Linuxのログ解析ツールには、例えば「LogWatch」「Logcheck」「Swatch」等が利用され、それぞれの特徴を以下に記します。
・LogWatch
http://www.logwatch.org/
ログを見やすい状態に整形し、解析結果をメール送信することが可能ですが、リアルタイム処理は出来ません。
・Logcheck
http://logcheck.org/
ログの解析や整形などは行わず、生のログをそのままメール送信します。
・Swatch
http://swatch.sourceforge.net/
リアルタイムでログを監視することが可能で、外部プログラムを利用することも出来ますが、複数のログを一括処理することは出来ません。
LogWatchの設定
Logwatchは、多くのディストリビューションで標準採用されています。同ツールがインストールされていない場合や、最新版が必要な場合は、上記紹介サイトからダウンロードしてインストールを行って下さい。
Logwatchの設定ファイルは、「/etc/log.d/conf/logwatch.conf」です。
設定の書式は、「name(項目名)=value(設定内容)」となっています。設定項目は下記の例が挙げられます。
・LogDir = /var/log ← ログが保存されるディレクトリを指定
・MailtTo = root ← メールの送信先を指定
・Print = No ← コンソール表示を行うかの指定
・Range = yesterday ← 前日のログファイルのチェックを行うかの指定
・UseMkTemp = Yes ← mktempを使用して一時ファイルを作成
・Detail = Low ← レポートの詳細度を指定
・Service = All ← 「/etc/log.d/scripts/services/」ディレクトリにあるすべての
ファイルの内容でフィルタをかけて情報を取得
・Mailer = /bin/mail ← メールコマンドの指定


