|
楼主 |
发表于 2003-12-11 09:00:06
|
显示全部楼层
动机是这样的:
linux本身没有多次登陆失败后锁定帐户这样的做法[或者是因为小弟愚昧无知,不知道],为防止cvs用户反复的登陆暴力破解密码,想加上些限制:
就是同一天内同一用户从同一ip登陆失败超过N次后,则封掉此ip地址![可选功能是同时记录下用户名,并能根据时间线绘制统计表格]
我需要做到:
1.根据Dec 9 16:24:20 cvsserver xinetd[7743]: START: cvspserver from=192.168.0.19这样的行中的字符串cvspserver和xinetd判断这一行是有关cvspserver的.在其中找到 a.时间.日期 b.ip地址.
2.Dec 9 16:24:20 cvsserver cvs: password mismatch for linxd: $1$.r2M1V0o$Ax6Y904/FJCP0V6jC55wg. vs. $1$.r2M1V0o$GxrQHPud3NHEGRUTguvmB0
在这一行中会有cvs 登陆失败的信息,根据password mismatch 来判断.如果cvs pserver登陆成功,则不会有这一行.由这一行,要做到:
a.找出时间,日期 [并和1中列出的行中的日期相比较,如果是同一时间,则由此判断是这次登陆是通过1中的ip地址,而且登陆失败!]
b.记录下同一天内失败的次数
3.综合1,2中的信息,得出结论:user1在某一天内通过某一IP登陆cvs pserver失败次数-->如果失败超过5次,则在/etc/hosts.deny中加入此ip,封掉它.并记录在文件里.
4.把此程序加到cron中,每五分钟检查一次/var/log/secure文件.
不好意思,不知这次说明白了没有 |
|