设为首页 收藏本站
查看: 1163|回复: 0

(转载)第一个Shell脚本-监测恶意登录远程服务器

[复制链接]

尚未签到

发表于 2017-5-16 11:37:50 | 显示全部楼层 |阅读模式
最近学习到linux系统日志和计划任务,下班回家的地铁上有了灵感,尝试编写了自己的第一个脚本,监测如果有恶意登录服务器的话,发邮件通知管理员。暂时还没学习到如何发邮件给管理员,目前只是命令行的提醒和日志记录;脚本的内容也比较简单,都是学习过的基本知识,活学活用。
 
1、首先编写一个脚本:
定义一个变量LT,变量的值为lastb命令列出的行数(即无效登录的次数,如有恶意登录的话行数会变多);
 
执行一个if判断语句,如果定义的值大于15次的话,判断为恶意登录,通知管理员。
脚本内容如下:
 
[iyunv@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
 
 

2、编写一个计划任务
每隔一分钟自动执行上面的脚本
 
[iyunv@localhost ~]# crontab -l
*/1 * * * * /bin/sh /root/lt.sh




3、查看效果
超过15次登录在当前命令行模式会提示,有一封新邮件在/var/spool/mail/root下;
 
[iyunv@localhost ~]# 
You have new mail in /var/spool/mail/root
 
查看新邮件,会发现脚本里面的内容,证明有人在尝试登录主机;
 
[iyunv@localhost ~]# tail -2 /var/spool/mail/root 
somebody try to login please check log
 
 
 
执行lastb命令查看发现很多登录失败的记录
 
[iyunv@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)
 

查看/var/log/secure 日志也会发现有多次登录失败的记录
 
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:
 
根据访问日志的来源IP,我们可以对来源设置iptables规则,禁止访问服务器的22端口,或者封闭ip地址;
 
暂时只有这么多,小小的骄傲一下,给自己增加点自信心,相信之后的学习中会更加深入了解linux;
 
和大家分享一下,共勉之。
 
转载地址:http://8802265.blog.iyunv.com/8792265/1636847

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-378125-1-1.html 上篇帖子: shell:搜索目录中的txt文件,并修改文件内容 下篇帖子: shell编程中如何判断参数个数以及参数是否为整数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表