dehio3’s diary

仕事、生活、趣味のメモ

logcheckのインストール

インストール方法

調べてみるとソースからのインストールが多い。

今回はサーバ構築をansibleで行っているので、パッケージでのインストールを実施。

参考サイト

パッケージの検索方法

pkgs.orgにてlogcheckを検索

EPELにてパッケージを発見

f:id:dehio3:20160324000302p:plain

パッケージでのインストール

EPELリポジトリがあるか確認

$ yum list installed | grep epel
epel-release.noarch   6-8.9.amzn1  installed

EPELリポジトリを指定してパッケージを検索

$ yum list --enablerepo=epel | grep logcheck
logcheck.noarch1.3.13-5.el6 epel

今回はansibleでの構築のためインストール用のrolesを作成

---
- name: be sure logcheck is installed
  yum: name={{item}} state=installed enablerepo=epel
  with_items:
- logcheck
  tags: logcheck

ansibleを実行後インストール確認

$ yum list installed | grep logcheck
logcheck.noarch   1.3.13-5.el6 @epel

logcheckの設定

logcheckコマンド

$ ls -l /usr/sbin/logcheck
-rwxr-xr-x 1 root root 21438  8月 26  2011 /usr/sbin/logcheck

設定ファイル群(/etc/logcheck)

drwxr-xr-x 2 root root 4096  3月 17 16:49 cracking.d クラッキングの試行として分類するメッセージのルール
drwxr-xr-x 2 root root 4096  3月 17 16:49 ignore.d.paranoid
drwxr-xr-x 2 root root 4096  3月 17 16:49 ignore.d.server
drwxr-xr-x 2 root root 4096  3月 17 16:49 ignore.d.workstation
-rw-r--r-- 1 root root 2625  8月 26  2011 logcheck.conf 設定ファイル
-rw-r--r-- 1 root root  133  8月 26  2011 logcheck.logfiles 監視対象ファイルのリスト
drwxr-xr-x 2 root root 4096  3月 17 16:49 violations.d セキュリティ警告として分類するメッセージのルール
drwxr-xr-x 2 root root 4096  3月 17 16:49 violations.ignore.d セキュリティ警告として分類されたメッセージの分類を解除するメッセージのルール

参考サイト

cron(/etc/cron.d/logcheck)

# /etc/cron.d/logcheck: crontab entries for the logcheck package

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

@reboot logcheckif [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck -R; fi
2 * * * *   logcheckif [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck; fi

# EOF

logcheck.shの設定を確認

今回は既存環境から移行のため、現行での設定をまずは確認する。

既存のlogcheck.shの設定内容

項目 内容
SYSADMIN メールの送信先アドレス
GREP egrepコマンドのパス
MAIL メールコマンド
NKF NKFコマンドのパス
TMPDIR [/usr/local/etc/tmp]
HACKING_FILE [logcheck.hacking] システムに対する攻撃と認識されるキーワードを格納する。※通知したい文字列
HACKING_IGNORE_FILE[logcheck.hacking.ignore] logcheck.hacking のキーワードに合致しても、例外的に報告しないようにするためのキーワードを格納する。 ※通知したくない文字列
VIOLATIONS_FILE[logcheck.violations] システムに何らかの害を及ぼす可能性があると認識されるキーワードを格納する。※通知したい文字列
VIOLATIONS_IGNORE_FILE[logcheck.violations.ignore] logcheck.violations のキーワードに合致しても、例外的に報告しないようにするためのキーワードを格納する。※通知したくない文字列
IGNORE_FILE[logcheck.ignore] 無視すべきキーワードを格納する。※通知したくない文字列

コマンドオプション

$ sudo -u logcheck /usr/sbin/logcheck -h
usage: logcheck [-c CFG] [-d] [-h] [-H HOST] [-l LOG] [-L CFG] [-m MAIL] [-o]
                [-r DIR] [-s|-p|-w] [-R] [-S DIR] [-t] [-T] [-u]
 -c CFG       = override default configuration file
 -d           = debug mode
 -h           = print this usage information and exit
 -H HOST      = use this hostname in the subject of any generated mail
 -l LOG       = check the specified logfile
 -L CFG       = override default logfiles list
 -m MAIL      = send the report to the specified recipient
 -o           = send the report to stdout, no mail will be sent
 -p           = use the "paranoid" runlevel
 -r DIR       = override default rules directory
 -R           = adds "Reboot:" to email subject
 -s           = use the "server" runlevel
 -S DIR       = override default state directory
 -t           = testing mode, don't update the logfile offsets
 -T           = do not remove the TMPDIR
 -u           = enable syslog-summary
 -v           = print version
 -w           = use the "workstation" runlevel

まずはデフォルトの状態で動作を確認

logcheckユーザにてlogcheckコマンドを実行

sudo -u logcheck /usr/sbin/logcheck

以下のエラーメールが通知

エラー1
System Events
=-=-=-=-=-=-=
File /var/log/messages cannot be read: µö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
エラー2
/usr/sbin/logcheck: 100 行: kill: (14711) - そのようなプロセスはありません

とりあえずエラー1は/var/log/messagesが読めないエラーっぽい。

権限を確認してみる。

$ ls -l /var/log/messages
-rw------- 1 root root 129996  3月 18 12:44 /var/log/messages

そりゃそうだ。。 logcheckユーザで動いてるから当たり前。

読み込み権限644を付与したら上記エラー2つが解消。