前几天出现 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 相关配置都检查了,没发现异常内容,请教下这个问题怎么深挖
1
bjzhush 2022-11-12 16:48:49 +08:00
这也不像 log 啊,找 log 啊,没 log 打开 log 啊
|
2
dendi009 OP @bjzhush 没 log ,通过审计工具 + inotify+脚本 抓的进程。 对应的任务在 /var/log 下任何位置都没出现
|
3
bjzhush 2022-11-13 12:14:04 +08:00
@dendi009 我没用过你说的这个 NGINX 的 waf ,但是 99%是可以打开 log 的,你去看看官方文档,或者加上 enable log 关键词搜一下
|
4
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. 楼主看看这方面,其实我猜的 |
5
julyclyde 2022-11-14 09:50:08 +08:00
“crond 相关配置都检查了”
这句话我是不太信的 建议你明确说一下你检查了哪些 (然后可能就知道缺检查哪些) |
6
dendi009 OP @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 |
7
julyclyde 2022-11-24 09:59:13 +08:00
/etc/anacrontab
/etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly/ 各个用户的用户级 cron |
8
dendi009 OP @julyclyde 问题不像你想的那么简单。不是明文放到任务 cron 配置文件的。
/var/spool/cron/root /var/spool/cron/{any other user} . 都看过。 包括已有任务下面子任务看过。 /var/log/cron 不记录对应任务日志就能说明问题了 。 |
9
julyclyde 2022-11-24 10:16:54 +08:00
@dendi009 我并没有一口咬定就是 cron 啊。我只是指出你对 cron 的检查不完善
你这种已经被黑的系统,我不觉得“cron 不记录日志就能说明”什么问题 你如果确定不是 cron ,可以开 auditd 试试,看看是从哪个进程 fork 出来的 |