[CentOS 6.9] rkhunterが固まる

Created on 2018-02-07
Modified on 2018-02-08
Published on 2018-07-10

某サーバ上のcron.dailyが2017年12月26日以降動いていない。 /usr/bin/rkhunterの13500行目でlsofがD stateで固まっていた。

どうやらバグを踏んでいるようだが、CentOS 6.9にバックポートされてないようだ。。。

固まってしまったlsofのプロセスは、KILLシグナルで止めることが出来る。 rkhunterが固まる件のworkaroundは、rkhunterのcron jobにタイムアウトを設定こと。 少なくともcron.dailyが長時間止まることはなくなる。 他のプロセスでも起こりうるが、発生頻度が低そうなので、個別対応すればOK。


結局、rkhunterは停止することにした。 どーせ、ローカルに配信されたメールは誰も見てないし、rkhunterは踏み台サーバの高負荷の原因だったりするし。 今回の障害原因となったバグは、発生頻度は低そうだから放置・・・

[yuuki@gate ~]$ ps a -AFH |grep 2017 |grep N
root       126     2  0     0     0   1  2017 ?        SN     0:00   [ksmd]
root       127     2  0     0     0   1  2017 ?        SN     2:05   [khugepaged]
root     26946 26791  0 26527   304   0  2017 ?        SN     0:00     /bin/bash /usr/bin/run-parts /etc/cron.daily
root     27250 26946  0 26527   304   1  2017 ?        SN     0:00       /bin/sh /etc/cron.daily/rkhunter
root     30044 27250  0 27621   316   6  2017 ?        SN     0:16         /bin/sh /usr/bin/rkhunter --cronjob --nocolors --report-warnings-only
root     28059 30044  0 26488   328   5  2017 ?        SN     0:00           /usr/sbin/lsof -wnlP +c 0
root     28063 28059  0 26320    40   1  2017 ?        DN     0:28             /usr/sbin/lsof -wnlP +c 0
root     28060 30044  0 25830   240   2  2017 ?        SN     0:00           egrep -v  (FIFO|V?DIR|IPv[46]) 
root     28061 30044  0 38861   280   3  2017 ?        SN     0:00           sort
root     28062 30044  0 25232   188   4  2017 ?        SN     0:00           uniq
root     27251 26946  0 26491   204   4  2017 ?        SN     0:00       awk -v progname=/etc/cron.daily/rkhunter progname {?????   print progname ":\n"?????   progname="";????       }????       { print; }

[root@gate ~]# cat /proc/28059/stack
[<ffffffff81080f44>] do_wait+0x1e4/0x240
[<ffffffff81081043>] sys_wait4+0xa3/0x100
[<ffffffff8100b0d2>] system_call_fastpath+0x16/0x1b
[<ffffffffffffffff>] 0xffffffffffffffff

[root@gate ~]# cat /proc/28063/stack
[<ffffffffa03a75f2>] rpc_wait_bit_killable+0x42/0xa0 [sunrpc]
[<ffffffffa03a7b35>] __rpc_execute+0xf5/0x350 [sunrpc]
[<ffffffffa03a7df1>] rpc_execute+0x61/0xa0 [sunrpc]
[<ffffffffa039e475>] rpc_run_task+0x75/0x90 [sunrpc]
[<ffffffffa039e592>] rpc_call_sync+0x42/0x70 [sunrpc]
[<ffffffffa045cb9c>] nfs3_rpc_wrapper.clone.0+0x6c/0xc0 [nfs]
[<ffffffffa045df27>] nfs3_proc_getattr+0x47/0x90 [nfs]
[<ffffffffa044b293>] __nfs_revalidate_inode+0xe3/0x220 [nfs]
[<ffffffffa044bfc2>] nfs_revalidate_inode+0x22/0x60 [nfs]
[<ffffffffa044686b>] nfs_lookup_revalidate+0x2cb/0x690 [nfs]
[<ffffffff811a770c>] force_reval_path+0x3c/0x60
[<ffffffff811aaf72>] __link_path_walk+0xf52/0x1060
[<ffffffff811ab33a>] path_walk+0x6a/0xe0
[<ffffffff811ab54b>] filename_lookup+0x6b/0xc0
[<ffffffff811ac677>] user_path_at+0x57/0xa0
[<ffffffff8119fa30>] vfs_fstatat+0x50/0xa0
[<ffffffff8119fbab>] vfs_stat+0x1b/0x20
[<ffffffff8119fbd4>] sys_newstat+0x24/0x50
[<ffffffff8100b0d2>] system_call_fastpath+0x16/0x1b
[<ffffffffffffffff>] 0xffffffffffffffff

[root@gate ~]# cat /proc/28060/stack
[<ffffffff811a4a4b>] pipe_wait+0x5b/0x80
[<ffffffff811a546d>] pipe_read+0x34d/0x4d0
[<ffffffff81199bfa>] do_sync_read+0xfa/0x140
[<ffffffff8119a4f5>] vfs_read+0xb5/0x1a0
[<ffffffff8119a841>] sys_read+0x51/0xb0
[<ffffffff8100b0d2>] system_call_fastpath+0x16/0x1b
[<ffffffffffffffff>] 0xffffffffffffffff