分享、学习、提高
2011/05/30 22:43
文章作者:Enjoy 转载请注明原文链接。
今天发现这台rashost的VPS上的空间不够了,发现var/下居然有1.4G,看了下var/log/secure有1G。。。。。。
原来是开了proftpd,然后不断有人在试用户名和密码,记录了一大堆这些日志。哎!关闭后,这些日志就消失了。

接下来,在secure中还看到了如下这些错误提示:

频繁出现的:
May 29 23:10:02 9enjoy.com crond[2139]: pam_loginuid(crond:session): set_loginuid failed opening loginuid
May 29 23:20:01 9enjoy.com crond[2162]: pam_loginuid(crond:session): set_loginuid failed opening loginuid

ssh登录后出现的:
May 29 22:54:54 9enjoy.com sshd[5746]: pam_unix(sshd:session): session opened for user root by (uid=0)
May 29 22:54:54 9enjoy.com sshd[5746]: pam_loginuid(sshd:session): set_loginuid failed opening loginuid
May 29 22:55:01 9enjoy.com sshd[2003]: lastlog_filetype: Couldn't stat /var/log/lastlog: No such file or directory
May 29 22:55:01 9enjoy.com sshd[2003]: lastlog_openseek: /var/log/lastlog is not a file or directory!

先解决pam_loginuid(crond:session): set_loginuid failed opening loginuid的问题,
http://blog.rootk.com/archives/492 这篇写的很详细了。产生这个错误的原因是:使用了非标准内核,这个内核没有正确设置CONFIG_AUDIT与CONFIG_AUDITSYSCALL选项集(也就是说内核就不支持loginuid)而在sshd与crond的配置中启用了PAM审计。
看来是我这个VPS也是这样,/proc/self/loginuid这个文件不存在,表明内核不支持loginuid。
第1种方法是关闭sshd,cornd的PAM审计(如sshd配置文件UsePAM no)
第2种方法是更改相应的pam.d文件。
引用
查看哪些程序使用了loginuid

[root@unixhater pam.d]#  grep pam_loginuid.so /etc/pam.d/*
/etc/pam.d/crond:session    required   pam_loginuid.so
/etc/pam.d/login:session    required     pam_loginuid.so
/etc/pam.d/remote:session    required     pam_loginuid.so
/etc/pam.d/sshd:session    required     pam_loginuid.so

编辑这些文件,如/etc/pam.d/crond 去除session    required   pam_loginuid.so这一行


修改了crond后,第一个错误提示消失。修改了sshd后,第二个错误提示消失。

第三个错误提示:lastlog_openseek: /var/log/lastlog is not a file or directory!
搜索了会,看到一人回复:
引用
/var/log/lastlog is what unix refers to as a 'sparse' file. This means (among other things) that trying to access it in pretty much *any* conventional way (open, ls, cp, etc) will yield unpredictable results. You can find more info about sparse files on the internet, but I'm fairly certain, in this case, it's purpose is for security.

I also know that UML uses sparse files for COW (copy on write).

On my RH 9.0 small install, I'm *think* I simply did a '>/var/log/lastlog' and everything was fine afterwards.


> /var/log/lastlog 创建了这个空文件,再次ssh登录不再出现这个错误提示了。

处理完后,登录退出ssh,就只有如下正常的日志了:
引用
May 30 22:38:16 9enjoy.com sshd[13319]: Server listening on 0.0.0.0 port 22.
May 30 22:40:38 9enjoy.com sshd[13918]: Accepted password for root from 125.77.182.200 port 13088 ssh2
May 30 22:40:38 9enjoy.com sshd[13918]: pam_unix(sshd:session): session opened for user root by (uid=0)
May 30 22:40:43 9enjoy.com sshd[13918]: pam_unix(sshd:session): session closed for user root
发表评论
表情
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
昵称   密码   游客无需密码
网址   电邮   [注册]
               

验证码 不区分大小写