最近学习到linux系统日志和计划任务,下班回家的地铁上
有了灵感
,尝试编写了自己的第一个脚本,监测如果有恶意登录服务器的话,发邮件通知管理员。暂时还没学习到如何发邮件给管理员,目前只是命令行的提醒和日志记录;脚本的内容也比较简单,都是学习过的基本知识,活学活用。
[root
@localhost ~]# cat lt.sh
#! /bin/bash
#定义变量LT,记录无效登录的次数;
LT=`lastb |wc -l |cut -d ' ' -f 1`
if [ $LT -gt "15" ]
#判断无效登录的次数如果大于15的话,执行下面的操作;
then echo "somebody try to login please check log"
#打印有人尝试登录系统请检查日志
fi
[root
@localhost ~]# crontab -l
*/1 * * * * /bin/sh /root/lt.sh
[root
@localhost ~]#
You have new mail in /var/spool/mail/root
[root
@localhost ~]# tail -2 /var/spool/mail/root
somebody try to login please check log
[root
@localhost ~]# lastb |head
user1 ssh:notty 192.168.22.1 Tue Apr 21 22:04 - 22:04 (00:00)
user1 ssh:notty 192.168.22.1 Tue Apr 21 22:04 - 22:04 (00:00)
user1 ssh:notty 192.168.22.1 Tue Apr 21 22:03 - 22:03 (00:00)
user1 ssh:notty 192.168.22.1 Tue Apr 21 22:03 - 22:03 (00:00)
user1 ssh:notty 192.168.22.1 Tue Apr 21 22:03 - 22:03 (00:00)
user1 ssh:notty 192.168.22.1 Tue Apr 21 22:03 - 22:03 (00:00)
user1 ssh:notty 192.168.22.1 Tue Apr 21 22:03 - 22:03 (00:00)
user1 ssh:notty 192.168.22.1 Tue Apr 21 21:29 - 21:29 (00:00)
user1 ssh:notty 192.168.22.1 Tue Apr 21 21:29 - 21:29 (00:00)
user1 ssh:notty 192.168.22.1 Tue Apr 21 21:29 - 21:29 (00:00)
Apr 21 22:03:35 localhost unix_chkpwd[1501]: password check failed for user (user1)
Apr 21 22:03:35 localhost sshd[1499]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.22.1 user=user1
Apr 21 22:03:36 localhost sshd[1499]: Failed password for user1 from 192.168.22.1 port 50591 ssh2
Apr 21 22:03:39 localhost unix_chkpwd[1502]: password check failed for user (user1)
Apr 21 22:03:41 localhost sshd[1499]: Failed password for user1 from 192.168.22.1 port 50591 ssh2
Apr 21 22:03:44 localhost unix_chkpwd[1503]: password check failed for user (user1)
Apr 21 22:03:46 localhost sshd[1499]: Failed password for user1 from 192.168.22.1 port 50591 ssh2
Apr 21 22:03:49 localhost unix_chkpwd[1504]: password check failed for user (user1)
Apr 21 22:03:51 localhost sshd[1499]: Failed password for user1 from 192.168.22.1 port 50591 ssh2
Apr 21 22:03:52 localhost sshd[1499]: Failed password for user1 from 192.168.22.1 port 50591 ssh2
Apr 21 22:03:54 localhost sshd[1500]: Received disconnect from 192.168.22.1: 0: