Linux 宝塔环境 crond 问题排查

2022-11-12 00:43:42 +08:00
 dendi009

前几天出现 nginx WAF 被挂码的问题, 终于抓到 执行异常进程了 root 110201 189279 0 00:08 ? 00:00:00 /usr/sbin/crond -n root 110202 110201 0 00:08 ? 00:00:00 sh -c touch -r /www/server/nginx/waf/.. /www/server/nginx/waf/config && touch -r /www/server/nginx/waf/.. /www/server/nginx/waf/. && /bin/cp -p /www/server/nginx/conf/proxy.conf /www/server/nginx/conf/proxy.conf.bak && echo 'rewrite_by_lua_file /www/server/nginx/waf/config;' >>/www/server/nginx/conf/proxy.conf && /www/server/nginx/sbin/nginx -s reload 2>&1

crond 相关配置都检查了,没发现异常内容,请教下这个问题怎么深挖

2676 次点击
所在节点    Linux
11 条回复
bjzhush
2022-11-12 16:48:49 +08:00
这也不像 log 啊,找 log 啊,没 log 打开 log 啊
dendi009
2022-11-13 11:50:58 +08:00
@bjzhush 没 log ,通过审计工具 + inotify+脚本 抓的进程。 对应的任务在 /var/log 下任何位置都没出现
bjzhush
2022-11-13 12:14:04 +08:00
@dendi009 我没用过你说的这个 NGINX 的 waf ,但是 99%是可以打开 log 的,你去看看官方文档,或者加上 enable log 关键词搜一下
feng0vx
2022-11-13 16:30:13 +08:00
crond(8) - Linux man page

-n

This option changes default behavior causing it to run crond in the foreground. This can be useful when starting it out of init.

楼主看看这方面,其实我猜的
julyclyde
2022-11-14 09:50:08 +08:00
“crond 相关配置都检查了”
这句话我是不太信的

建议你明确说一下你检查了哪些
(然后可能就知道缺检查哪些)
dendi009
2022-11-24 09:55:59 +08:00
@julyclyde 如下相关文件 及目录下的 配置文件。 这有啥不信。 写个脚本的对比正常机器, 就没异常
/etc/cron.d
/etc/cron.d/0hourly
/etc/cron.deny
/etc/pam.d/crond
/etc/sysconfig/crond
/usr/bin/crontab
/usr/lib/systemd/system/crond.service
/usr/sbin/crond
/usr/share/doc/cronie-1.4.11
/usr/share/doc/cronie-1.4.11/AUTHORS
/usr/share/doc/cronie-1.4.11/COPYING
/usr/share/doc/cronie-1.4.11/ChangeLog
/usr/share/doc/cronie-1.4.11/INSTALL
/usr/share/doc/cronie-1.4.11/README
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/man/man8/cron.8.gz
/usr/share/man/man8/crond.8.gz
/var/spool/cron
julyclyde
2022-11-24 09:59:13 +08:00
/etc/anacrontab
/etc/cron.daily
/etc/cron.hourly
/etc/cron.monthly
/etc/cron.weekly/
各个用户的用户级 cron
dendi009
2022-11-24 10:12:13 +08:00
@julyclyde 问题不像你想的那么简单。不是明文放到任务 cron 配置文件的。
/var/spool/cron/root /var/spool/cron/{any other user} . 都看过。 包括已有任务下面子任务看过。
/var/log/cron 不记录对应任务日志就能说明问题了 。
julyclyde
2022-11-24 10:16:54 +08:00
@dendi009 我并没有一口咬定就是 cron 啊。我只是指出你对 cron 的检查不完善

你这种已经被黑的系统,我不觉得“cron 不记录日志就能说明”什么问题

你如果确定不是 cron ,可以开 auditd 试试,看看是从哪个进程 fork 出来的
dendi009
2022-11-24 10:30:13 +08:00
@julyclyde 贴的 进程就行 auditd 的记录, 189279 /usr/bin/crond -n , 父进程 是 1 ,
julyclyde
2022-11-24 12:40:28 +08:00
@dendi009 看看 189279 的 exe 和 smaps 试试?
挂上 strace 看看它到底在干什么

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/894626

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX