ここでは、syslog-ngのもう1つの機能である、swatch で行ったようなログ監査の自動化についてとりあげます。
syslog-ngのインストール方法については syslog-ng.confのインストール 、syslog-ng.confの設定については syslog-ng.confの設定 を参照下さい。
ここでは、syslog-ngのもう1つの機能である、swatch で行ったようなログ監査の自動化についてとりあげます。
syslog-ngのインストール方法については syslog-ng.confのインストール 、syslog-ng.confの設定については syslog-ng.confの設定 を参照下さい。
destination ログの送信設定で program を利用しプログラムを呼び込む設定を行い、filterで match を利用しパターンにマッチした文字列を指定します。
destination d_su { program("/home/hoge/mail.pl"); };
filter f_su { match("su:"); };
log { source(s_sys); filter(f_su); destination(d_su); };
この設定でログの文字列にsu:という文字列があった場合に、外部プログラム(/home/hoge/mail.pl)を実行する事になります。
mail.plは管理者にメールを送るものなど利用するといいと思います。
簡単にperlで送信プログラムを作成しました。よろしければ利用下さい。
#!/usr/local/bin/perl
$sendmail = '/usr/sbin/sendmail';
$from = 'root@example.com';
$to = 'hoge@example.com';
$header = <<END;
From: $from
To: $to
Subject: Syslog Alert!
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
END
while (<STDIN>) {
if ($_) {
$body = $_;
$body =~ s/^<[0-9]*>//g;
open(MAIL, "| $sendmail -t -i");
print MAIL $header,$body;
close(MAIL);
}
}
$from が送信元アドレス
$to が送信先アドレスです。
パターンマッチすると$toに記述したアドレスに以下のようなメールが届きます。
From: root@example.com
To: hoge@example.com
Subject: Syslog Alert!
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
Oct 29 15:31:35 hoge su: (to root) huga on /dev/pts/0
syslog-ngを利用したログ監査の自動化は以上となります。
| SupportDeskパック Standard24(Linuxサポート付)3年[カスタムメイド対応] / |
|
| SupportDeskパック Standard(Linuxサポート付)4年[カスタムメイド対応] / |
|
| SupportDeskパック Standard24(Linuxサポート付)4年[カスタムメイド対応] / |