目次
ログサーバーによるログの一元管理
不正アクセスの情報を残すために、ログ管理体制をつくり、取得したログ管理情報をきちんと保存しておくことはネットワーク管理者の重要な業務です。
まずは、できるだけ管理しやすい体制をつくるために、ログ管理を一元化するためのsyslogdの設定をご説明します。
Linuxでは、主なログの出力先は/var/logディレクトリです。
ディレクトリ内の複数のファイルの設定を行うファイルが/etc/syslog.confです。
syslog.confのフォーマット
syslog.confの書式は、selectorとactionの2つのフィールドで構成されています。
selector action
取得するログの指定 取得したログの出力先
セレクタ(selector)
selectorは、以下の順序で記述します。
facility.priority (取得する情報の分類.どのレベルから出力)
ファシリティ(facility)
facilityはログの分類にあたるもので、facilityに合わせて扱いかたをsyslogdの設定で変更できます。
facility 対象のログ
auth(security) 認証サービスのメッセージ(現在はauthprivが推奨されています)
authpriv 認証サービス(カテゴリはauthと同じですが、authとは出力結果が異なります)
cron cronのメッセージ
daemon デーモンのメッセージ
kern カーネルのメッセージ
lpr プリンタサービスのメッセージ
mail メールサービスのメッセージ
news ニュースサービスのメッセージ
syslog syslogのメッセージ
user ユーザープロセスのメッセージ
uucp uucp転送を行うプログラムのメッセージ
local0~7 アプリケーションに依存する
facilityで指定できるキーワード
プライオリティ(priority)
priorityは、プログラムの出力メッセージのうちで、ログの重要度のレベルを設定します。
priority 内容 (下になるほど重要度が高くなります)
debug デバッグ情報
info 情報
notice 通知
warn 警告
err 一般的なエラー
crit 致命的なエラー
alert 緊急に対処すべきエラー
emerg システムが落ちるような状態
通常の設定では、指定したpriority以上のログが出力されます。
例えば、「err」を指定すればcrit、alert、emergのレベルの出力もされます。
以下に、その他の設定例と出力内容をいくつかご紹介しておきます。
selector例 内容
kernel.=warn facilityがkernelでpriorityがwarnのみ出力
mail.*;mail.!=crit facilityがmailでpriorityがcrit以外のメッセージを出力
.;daemon.none facilityがdaemon以外の全メッセージを出力
どのfacilityをどのpriorityにするかは、何を監視したいかに応じて異なります。
重要なデータを欠落させないように、必要なデータが取得できるpriorityに変更しましょう。
アクション(action)
actionには、selectorで指定したメッセージの出力先、出力内容を設定します。
actionの設定例は以下のとおりです。
設定例 内容
/var/log/samplelog /var/log/samplelogへログを出力
| /usr/local/bin/*** ログをパイプでほかのプログラムへ渡す
/dev/console ローカルのコンソールへ出力
@remotehost リモートホストのsyslogdへ送信(注)
root,user1 rootとuser1に通知
不正アクセス対策でのログ管理の注意点
ログ管理を行っていても、不正アクセスでログ管理のデータを削除されてしまっては元も子もありません。
そこで、ログ管理データを削除されないため対策として、別のホストをログサーバーとして運用する方法があります。
syslog.confの設定でactionに@ホスト名(あるいはIPアドレス)を入力すると、そのホストにログが転送されます。
但し、ログを受け取り側のホストでも設定しておく必要があります。
ログサーバーとしてホストを設定するには、syslogdに-rオプションを指定して起動します。まず、syslogdを停止し、# /sbin/syslogd -rで再実行します。
ログサーバーへ転送されたログ管理データは、ログサーバーのsyslog.confの内容に従って処理されます。
ここで注意すべき点は、以下の2点です。
・ログサーバーのユーザーとパスワードに他のサーバーと同じものを使用しないこと。
・複数のサーバーのログ管理データがログサーバーに転送されるのであれば、ログサーバーの容量が不足しないよう十分な容量を確保しておくことです。
以上、syslogdのログ管理に必要な設定方法についてご説明しました。