认证日志 var/log/auth.log 是 linux 非法外联的重要溯源文件,当用户访问系统时会触发 PAM 认证,而认证信息会在 auth.log 日志文件中留下记录。
比如使用 ssh 登录系统时会在 auth.log 中留下登录方式和源地址IP:
$ cat /var/log/auth.logJun 16 11:33:17 it sshd[194605]: Accepted publickey for root from 192.168.1.1 port 57312Jun 16 11:33:59 it sshd[194605]: Received disconnect from 192.168.1.1 port 57312:11: disconnected by userJun 16 11:33:59 it sshd[194605]: Disconnected from 192.168.1.1 port 57312
大多数需要认证的服务都会在 PAM 配置文件目录中有自己的配置文件,比如 sshd 服务是在/etc/pam.d/sshd,除了 sshd 服务还有 samba、vsftpd、cron 等服务也会启用 PAM 认证。这次要讨论的主角是 crontab 定时任务服务。
crontab 每次执行任务时都会触发一次认证,同时在 auth.log 中记录认证日志,比如:
$ tail /var/log/auth.logJun 16 15:31:01 it CRON[126302]: pam_unix(cron:session): session opened for user root by (uid=0)Jun 16 15:31:01 it CRON[126302]: pam_unix(cron:session): session closed for user rootJun 16 15:32:01 it CRON[126758]: pam_unix(cron:session): session opened for user root by (uid=0)Jun 16 15:32:02 it CRON[126758]: pam_unix(cron:session): session closed for user rootJun 16 15:33:01 it CRON[127560]: pam_unix(cron:session): session opened for user root by (uid=0)Jun 16 15:33:01 it CRON[127560]: pam_unix(cron:session): session closed for user root
平时检查 auth.log 日志是否有未授权访问时,一般会通过 grep 过滤掉 crontab 定时任务记录。如果 crontab 定时任务执行地特别频繁,则会在 auth.log 中留下大量的日志。
crontab 的认证日志对于安全检查来说意义不大,可以通过配置 PAM 配置文件,忽略掉 crontab 的认证日志。对于 ubuntu 系统可以在 /etc/pam.d/common-session-noninteractive 文件中加上一行:
session [success=1 default=ignore] pam_succeed_if.so service in cron quiet use_uid
这行配置应加在以下配置之前:
session required pam_unix.so
即在 pam_unix.so 之前加入 ignore 配置。修改完配置后会立刻生效,auth.log 中不会再生成新的 crontab 认证日志。

需要注意的是 ubuntu 系统中的 crontab 服务名为 cron,而 centos 等系统中的服务名叫 crond ,多出一个字母d,在配置时不要搞错了。
参考
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=293272#36https://serverfault.com/questions/141092/cronpam-heavily-spamming-my-logshttps://www.cnblogs.com/kevingrace/p/8671964.htmlhttp://www.jinbuguo.com/linux/pam.htmlhttps://github.com/linux-pam/linux-pam
全文完。
如果转发本文,文末务必注明:“转自微信公众号:生有可恋”。
文章转载自生有可恋,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




